https://github.com/amauryval/geo_tools
A geographic library to make a lot of geospatial things
https://github.com/amauryval/geo_tools
geopandas gis library ogr shapely sqlalchemy
Last synced: about 2 months ago
JSON representation
A geographic library to make a lot of geospatial things
- Host: GitHub
- URL: https://github.com/amauryval/geo_tools
- Owner: amauryval
- License: gpl-3.0
- Created: 2019-01-24T17:36:16.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-05-22T22:40:57.000Z (almost 2 years ago)
- Last Synced: 2025-02-10T21:38:43.994Z (3 months ago)
- Topics: geopandas, gis, library, ogr, shapely, sqlalchemy
- Language: Python
- Homepage:
- Size: 163 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# geo_tools
A geographic (and more...) toolbox
*CircleCI tests : [](https://circleci.com/gh/yruama42/geo_tools)*
## Shapely geometry methods
* Remove Z coordinates on your geometry
* Get crossroads, dead ends and section nodes from a MultiLinestring
* Convert your geometry to LineString
* Convert your geometry to points
* Drop duplicate geometries
* Create points along line features by choosing a ratio
* Cut line features at specifics point
* Convert geometry to bokeh format
* Fill holes on Polygon, MultiPolygon, and GeometryCollection
* Convert Polygon holes to MultiPolygons
* Compute side buffer on LineString and MultiLineString## Reprojection methods
* reproject with pyproj
* reproject with ogr## Database methods
* Easy use of SqlAlchemy to connect/create/overwrite on a PostgreSQL database
* check table (filled or not, existing or not...)
* ...
* To be continued !...## More soon !
## Installation
with anaconda3
```
conda create -y --name geo_tools python=3.6
source activate geo_tools
conda config --add channels conda-forge
conda config --set channel_priority strict
conda install -y -q --name geo_tools --file requirements.txt
```## How to use it
In your script.py:
```python
from geotools.geotools import GeoToolsclass MyBeautifulClass(GeoTools):
def __init__(self, logger_dir=None):
super().__init__(logger_dir=logger_dir)def run(self):
# call all GeoTools functions
self.info('Hello')
```## Check examples
Check Jupyter Notebook in 'examples' directory
in your terminal Anaconda Prompt
```
jupyter notebook
```## Run tests
in your terminal Anaconda Prompt
```
python -m pytest tests
```