turicas/rows

Support shapefiles (SHP and GeoJSON)

Open

#343 opened on Mar 24, 2020

 (0 comments) (0 reactions) (0 assignees)Python (136 forks)github user discovery
enhancementhelp wantedplugin

Repository metrics

Stars
 (886 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

It woud be awesome to read/write from/to SHP and GeoJSON formats, so we can convert between SHP to GeoJSON, SHP to CSV, CSV to GeoJSON, CSV do SHP etc.

It's not that difficult: libraries such as fiona and shapely make the work easier - example from this post:

import csv
from shapely.geometry import Point, mapping
from fiona import collection

schema = { 'geometry': 'Point', 'properties': { 'name': 'str' } }
with collection(
    "some.shp", "w", "ESRI Shapefile", schema) as output:
    with open('some.csv', 'rb') as f:
        reader = csv.DictReader(f)
        for row in reader:
            point = Point(float(row['lon']), float(row['lat']))
            output.write({
                'properties': {
                    'name': row['name']
                },
                'geometry': mapping(point)
            })

Contributor guide