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.