csvjson: Add support for non-Point GeoJSON types
Created by: jayvdb
csvjoin fails if the --lon
or --lat
columns are empty, which is what in2csv -f geojson
emits for non-Point
$ wget https://raw.githubusercontent.com/lyzidiamond/learn-geojson/master/geojson/pdxplaces.geojson
$ in2csv -f geojson pdxplaces.geojson > pdxplaces.csv
$ head -1 pdxplaces.csv
id,Name,Contributor,Reason,my polygon,Utility,Coffee,geojson,type,longitude,latitude
$ wc -l pdxplaces.csv
18 pdxplaces.csv
$ csvcut -c type,longitude,latitude pdxplaces.csv | csvgrep -c type -m Polygon | csvlook
| type | longitude | latitude |
| ------- | --------- | -------- |
| Polygon | | |
| Polygon | | |
| Polygon | | |
$ grep Polygon pdxplaces.csv
[manually edited output for brevity]
...,Polygon,,
...,Polygon,,
...,Polygon,,
$ csvjson --lon longitude --lat latitude --indent=4 pdxplaces.csv > pdxplaces.csv.geojson
float() argument must be a string or a number, not 'NoneType'
Occurs in 1.0.2 and master.
It works when the Polygon's are removed
$ grep -v Polygon pdxplaces.csv > pdxplaces-points.csv
$ wc -l pdxplaces-points.csv
15 pdxplaces-points.csv
$ csvjson --lon longitude --lat latitude --indent=4 pdxplaces-points.csv > pdxplaces.csv.geojson