Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Sangarshanan/geopatra

Interactive Maps with Geopandas
https://github.com/Sangarshanan/geopatra

Last synced: 3 months ago
JSON representation

Interactive Maps with Geopandas

Awesome Lists containing this project

README

        

![alt text](https://github.com/Sangarshanan/geopatra/blob/master/docs/_static/geopatra.png "Geopatra")

![Travis (.org)](https://img.shields.io/travis/sangarshanan/geopatra?label=travis&logo=travis) ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/sangarshanan/geopatra/Test?label=actions&logo=github) [![Documentation Status](https://readthedocs.org/projects/geopatra/badge/?version=latest)](https://geopatra.readthedocs.io/en/latest/?badge=latest) [![image](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black/) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/geopatra) [![image](https://img.shields.io/pypi/v/geopatra.svg)](https://pypi.org/project/geopatra/)

Create Interactive maps πŸ—ΊοΈ with your geodataframe

Geopatra extends geopandas for interactive mapping and attempts to wrap the goodness of amazing mapping libraries like Folium, Plotly, Kepler.gl, hvplot etc for rapidly creating interactive maps with Geodataframes

You can already create interactive maps easily with geopandas and Folium/ Plotly/ Kepler.gl. Geopatra is merely meant to make this easier and is more geared towards ease and currently does not support complex maps or intricate style control

## Installation

Everything is always a pip away

```
pip install geopatra
```

## Basic Usage

To quickly plot a geodataframe with folium, you gotta understand workflows in geopandas and folium.

```python
import folium
import geopandas
world = geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))
m = folium.Map(location = [4,10], zoom_start = 3)
folium.GeoJson(world.__geo_interface__).add_to(m)
```

With Geopatra all the parameters you set with folium become optional so you don't have to care about folium

```python
import geopatra
m = world.folium.plot()
```
Now you have a folium map object, which you can now use for more complex mapflows

Check out [docs](https://geopatra.readthedocs.io/en/latest/geopatra.html) for more examples

## Development

Clone the repo
```git
git clone [email protected]:Sangarshanan/geopatra.git
```

Run ```pre-commit install``` to install pre-commit into your git hooks. pre-commit will now run on every commit

Install the package with the amazing [poetry](https://github.com/python-poetry/poetry)

```
poetry install
```

Make the bla-bla-bla changes to code and run the tests and when full moon is nigh, build & publish

```
poetry build
poetry publish
```

To update versions

```
poetry add geopandas@^0.8.0
```