Last active
April 22, 2021 07:25
-
-
Save typebrook/be929b4ab5918bcd7dcd589d41a751ce to your computer and use it in GitHub Desktop.
[taipower-data] Compare Taipower street light data with geojson file #gdal
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#.PHONY: road.[^g]* | |
BUFFER = 10 | |
all: overlapped.geojson | |
taiwan-latest.osm.pbf: | |
curl -o $@ http://download.geofabrik.de/asia/taiwan-latest.osm.pbf | |
clean: | |
find . -type f -not -name 'taiwan-latest.osm.pbf' -delete | |
road.geojson: taiwan-latest.osm.pbf | |
ogr2ogr $@ $< -dialect sqlite -sql "SELECT * FROM lines WHERE name = '中正路佳安段' OR name = '中正路上華段' OR name = '中正路三林段'" | |
road.buffer.geojson: road.geojson | |
ogr2ogr $@ $< -dialect sqlite -sql "\ | |
SELECT ST_Transform(\ | |
ST_Buffer(ST_Transform(geometry, 3857), $(BUFFER)), 4326)\ | |
FROM 'SELECT'" | |
foo.zip: | |
curl -o $@ http://data.taipower.com.tw/opendata/apply/file/d077006/台灣電力公司_電桿桿號及座標資料.zip | |
taipower.onroad.geojson: taipower.geojson road.buffer.geojson | |
#rm -f $@ | |
ogr2ogr $@ $< -dialect sqlite -sql "SELECT taipower.geometry FROM taipower, 'road.buffer.geojson'.'SELECT' road WHERE ST_Intersects(taipower.geometry, road.geometry)" | |
detected.onroad.geojson: detected.geojson road.buffer.geojson | |
#rm -f $@ | |
ogr2ogr $@ $< -dialect sqlite -sql "SELECT detected.geometry FROM detected, 'road.buffer.geojson'.'SELECT' road WHERE ST_Intersects(detected.geometry, road.geometry)" | |
count-taipower: taipower.onroad.geojson | |
jq '.features[]' -c $< | wc -l | |
count-detected: detected.onroad.geojson | |
jq '.features[]' -c $< | wc -l | |
overlapped.geojson: detected.onroad.geojson taipower.onroad.geojson | |
ogr2ogr -f GEOJSON /vsistdout/ $< -dialect sqlite -sql "\ | |
SELECT detected.geometry \ | |
FROM 'SELECT' detected, '$(word 2,$^)'.'SELECT' taipower\ | |
WHERE ST_Distance(\ | |
ST_Transform(detected.geometry, 3857),\ | |
ST_Transform(taipower.geometry, 3857)\ | |
) <= 23" |\ | |
jq '.features=(.features|unique)' | ogr2ogr $@ -f GEOJSON /vsistdin/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment