GIS extension for the Mesa agent-based modeling framework in Python
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.
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.
Don't forget to check out the Contributors guide.
To cite Mesa-Geo in your publication, you can use the CITATION.bib.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.