Doing Geospatial in Python
See Workshop entry doc https://geopython.github.io/geopython-workshop.
Installation
Requirements
The workshop requires Docker and Docker Compose on your system
Docker Images
The Docker Images for this workshop are available on DockerHub.
The name of the workshop Image is geopython/geopython-workshop[:latest]
.
Note that the Docker Images contain mainly all (Python) components/dependencies. The actual workshop content (data+notebooks) will be
Docker-Volume-mounted. There is no need to build the Docker Image yourself (see below), except for testing and development.
Running
All services are started using a Docker Compose file.
Windows users; use powershell or Linux Subsystem to run below commands.
cd workshop
# start workshop
./geopython-workshop-ctl.sh start
# display URL and open in default web browser, if a browser does not open, then copy the url from the command output to your browser.
./geopython-workshop-ctl.sh url
# NB Possibly best if we add a frontend or use docs ("home") as entrypoint
./geopython-workshop-ctl.sh stop
NB Jupyter notebook needs a token. The token is displayed in the jupyter container logs on startup:
http://127.0.0.1:8888/?token=<longtokenhexstring>
.
As Docker Compose may run in background you can make logging
output visible via docker logs --follow geopython-workshop-jupyter
. Or
in Docker Desktop UI, select the jupyter container to see its logs.
Building
You may always build a Docker Image from this repo yourself, e.g. for bugfixing:
git clone https://github.com/geopython/geopython-workshop.git
cd geopython-workshop.git/workshop/jupyter
./build.sh
Notes
- Docker must be managed by non-root users in linux. Please make sure to perform the following post-installation step.
- by default the web services pygeoapi and pycsw are not required for the regular workshop like FOSS4G
- if you use pygeoapi: there is an issue with MacOS Monterey where the port 5000 is already used and therefore conflicting with that one used by pygeoapi. If you are facing this error
OSError: [Errno 48] Address already in use
then your machine is affected. To overcome the issue you can disable the Airplay Receiver fromSystem Preferences->Sharing
of your MacOS (detailed description in this blog post).
Bugs and Issues
All bugs, enhancements and issues are managed on GitHub.