Directory of Useful Code
NOTE: This page lists my main projects, code examples, and shared resources related to programming, geomatics, spatial analysis, and databases.
Introduction
Welcome to my GitHub repository showcase!
Here you will find:
- Useful scripts for processing spatial data,
- Complete projects for creating geospatial applications,
- Examples of Python integration with various databases.
Each repository includes a brief description, an access link, and sometimes usage recommendations.
Main Repositories
1. geolabspace - Codespace Example for Geomatics
- Link: https://github.com/voirinprof/geolabspace
- Summary: A ready-to-use environment (GitHub Codespaces) for coding in Python in a geospatial context.
- Key Points:
- Pre-installed Python
- Spatial libraries (
geopandas,shapely,folium) - Tutorials for getting started with geospatial programming
2. gis_nosql_docker - Routing Application Combining Redis and Neo4j
- Link: https://github.com/voirinprof/gis_nosql_docker
- Summary: Demo of an application combining fast address search with Redis and optimal route calculation using Neo4j.
- Key Points:
- Python scripts for interacting with Redis and Neo4j
- Pathfinding algorithms (
Dijkstra)
3. gis_nx_docker - Routing with networkx
- Link: https://github.com/voirinprof/gis_nx_docker
- Summary: Application for routing calculations without using a database.
- Key Points:
- Using
networkx - Examples of spatial queries
- Loading GeoJSON and Shapefile files
- Using
4. gis_pgrouting_docker - Using pgRouting with Python
- Link: https://github.com/voirinprof/gis_pgrouting_docker
- Summary: Practical scripts for using
pgRoutingfrom Python, on a spatial road network in PostGIS. - Key Points:
- Preparing road networks
- Executing
pgr_createTopology,pgr_dijkstra
5. neo4j_docker - Getting Started with Neo4j
- Link: https://github.com/voirinprof/neo4j_docker
- Summary: Scripts for getting started with Neo4j.
- Key Points:
- Using
Neo4jwith a web service - Queries
- Using
6. neo4j_docker - Getting Started with Neo4j
- Link: https://github.com/voirinprof/neo4j_docker
- Summary: Scripts for getting started with Neo4j.
- Key Points:
- Using
Neo4jwith a web service - Queries
- Using
7. redis_docker - Getting Started with Redis
- Link: https://github.com/voirinprof/redis_docker
- Summary: Scripts for getting started with Redis.
- Key Points:
- Using
Rediswith a web service - Queries
- Using
8. mongodb_docker - Getting Started with MongoDB
- Link: https://github.com/voirinprof/mongodb_docker
- Summary: Scripts for getting started with MongoDB.
- Key Points:
- Using
MongoDBwith a web service - Queries
- Using
9. python_webservices_docker - Getting Started with Flask and FastAPI
- Link: https://github.com/voirinprof/python_webservices_docker
- Summary: Scripts for getting started with Flask and FastAPI.
- Key Points:
- Using
Flaskas a web service - Using
FastAPIas a web service
- Using
10. geoserver_docker - Getting Started with GeoServer
- Link: https://github.com/voirinprof/geoserver_docker
- Summary: Application for getting started with GeoServer.
- Key Points:
- Using
GeoServerwith WMS, WFS services - Small application with a web client
- Using
11. qgis_docker - Getting Started with QGIS Server
- Link: https://github.com/voirinprof/qgis_docker
- Summary: Application for getting started with QGIS Server.
- Key Points:
- Using
QGIS Serverwith aFlaskservice - Small application with a web client
- Using
12. mapnik_docker - Getting Started with Mapnik
- Link: https://github.com/voirinprof/mapnik_docker
- Summary: Application for getting started with Mapnik.
- Key Points:
- Using
Mapnikwith aFlaskservice - Small application with a web client
- Using
13. python-geo-colab - Getting Started with Colab and Geomatics
- Link: https://github.com/voirinprof/python-geo-colab
- Summary: A collection of Colab notebooks that allow the use of GEE.
- Key Points:
- Using
GEEin Colab - Demonstrations of
random forestanddeeplabv3
- Using
14. cookbook_python3 - Basic Operations in Python for Geomatics
- Link: https://github.com/yvoirin/cookbook_python3
- Summary: A set of useful scripts for geomatics.
- Key Points:
- Using
fiona,rasterio,pyproj,opencv,pandas,geopandas, …
- Using
Additional Resources
- My useful snippets: small reusable code snippets for your projects
- My Docker Compose configurations: to easily deploy complete geospatial environments
- My tutorials and courses: step-by-step guides for learning Python applied to GIS
📌 Coming soon: new projects related to QGIS Python plugins, …
Links
Languages and web applications
- Python documentation
- JavaScript documentation (MDN)
- TypeScript documentation
- Phaser documentation
- Vue.js documentation
- React documentation
- Angular documentation
- Vite documentation
- Pinia documentation
- Leaflet documentation
- OpenLayers documentation
- MapLibre GL JS documentation
Python and geospatial libraries
- NumPy documentation
- pandas documentation
- GeoPandas documentation
- Shapely documentation
- Fiona documentation
- Rasterio documentation
- GDAL documentation
- pyproj documentation
- Matplotlib documentation
- Folium documentation
- NetworkX documentation
- Rtree documentation
- Pillow documentation
- OpenCV documentation
- Requests documentation
- PyYAML documentation
Geospatial data and large-scale processing
- PySTAC Client documentation
- odc-stac documentation
- Dask documentation
- xarray documentation
- Google Earth Engine Python API documentation
Web services, automation, and testing
- Flask documentation
- FastAPI documentation
- Uvicorn documentation
- Pydantic documentation
- PyWPS documentation
- Celery documentation
- Flower documentation
- Locust documentation
Databases and Python drivers
- PostgreSQL documentation
- PostGIS documentation
- pgRouting documentation
- Psycopg 3 documentation
- Psycopg 2 documentation
- SQLAlchemy documentation
- GeoAlchemy 2 documentation
- Redis documentation
- redis-py documentation
- Neo4j documentation
- Neo4j Python driver documentation
- Neo4j Graph Data Science documentation
- MongoDB documentation
- PyMongo documentation
Artificial intelligence and computer vision
- PyTorch documentation
- Torchvision documentation
- Ultralytics documentation
- Segment Geospatial (SamGeo) documentation
GIS servers and tools
- QGIS Server documentation
- PyQGIS Developer Cookbook
- GeoServer documentation
- MapServer documentation
- Mapnik documentation
How to Contribute
- ⭐️ Star a repository if you find it useful
- 🐛 Report a bug or suggest an improvement via Issues
- 🔥 Fork and submit Pull Requests if you want to help improve these resources