GIS extension for the Mesa agent-based modeling framework in Python
Project description
Mesa-Geo: GIS Extension for Mesa Agent-Based Modeling
Mesa-Geo implements a GeoSpace
that can host GIS-based GeoAgents
, which are like normal Agents, except they have a geometry
attribute that is a Shapely object and a crs
attribute for its Coordinate Reference System. You can use Shapely
directly to create arbitrary geometries, but in most cases you will want to import your geometries from a file. Mesa-Geo allows you to create GeoAgents from any vector data file (e.g. shapefiles), valid GeoJSON objects or a GeoPandas GeoDataFrame.
Using Mesa-Geo
To install Mesa-Geo on linux or macOS run
pip install mesa-geo
On windows you should first use Anaconda to install some of the requirements with
conda install fiona pyproj rtree shapely
pip install mesa-geo
Since Mesa-Geo is in early development you could also install the latest version directly from Github via
pip install -e git+https://github.com/projectmesa/mesa-geo.git#egg=mesa-geo
Take a look at the examples folder for sample models demonstrating Mesa-Geo features.
For more help on using Mesa-Geo, check out the following resources:
Contributing to Mesa-Geo
Want to join the team or just curious about what is happening with Mesa & Mesa-Geo? You can...
- Join our Matrix chat room in which questions, issues, and ideas can be (informally) discussed.
- Come to a monthly dev session (you can find dev session times, agendas and notes at Mesa discussions.
- Just check out the code at GitHub.
If you run into an issue, please file a ticket for us to discuss. If possible, follow up with a pull request.
If you would like to add a feature, please reach out via ticket or join a dev session (see Mesa discussions). A feature is most likely to be added if you build it!
Don't forget to check out the Contributors guide.
Citing Mesa-Geo
To cite Mesa-Geo in your publication, you can use the CITATION.bib.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.