## Malate, Manila, Philippines house address bands, north-south streets only. ## Author: Dan Jacobson https://www.jidanni.org/ ## Copyright: https://www.gnu.org/licenses/gpl.html ## Created: 2025-04-07T03:53:15+0000 ## Last-Updated: 2025-04-07T20:20:12+0000 ## Update #: 66 # Overpass turbo query used was: # {{geocodeArea:Malate}}->.q;nw["addr:housenumber"](area.q);out geom; # And then we exported the geojson. d=~/Downloads m=malate f=$d/$m.geojson A=addr:housenumber W=EPSG:4326 P=EPSG:3123 v=viking %.kml:%.csv; ogr2ogr -f LIBKML $@ $< -q -sql 'SELECT name FROM $(basename $<)' j: i.kml d.kml; $v $^ c.csv:$f #get data ogr2ogr $@ $< -lco GEOMETRY=AS_WKT -lco STRING_QUOTING=IF_NEEDED -dialect SQLite -q -sql \ 'SELECT "$A", ST_Centroid(GEOMETRY) AS "WKT" FROM $(notdir $(basename $<))' Examine_the_addresses:$f #get an idea of all the corny stuff in there ogr2ogr -f CSV /vsistdout/ $< -lco STRING_QUOTING=IF_NEEDED \ -sql 'SELECT "addr:housenumber" FROM $(notdir $(basename $<))' | sed 1d | sort --numeric-sort d.csv:c.csv #filter it perl -F, -anwle \ 'next unless @F==2; if($$F[0] eq "WKT"){print;}$(\ )else{if($$F[1] =~ /^\d+$$/ && $$F[1] >= 1500 && $$F[1] < 3000){print}}' $< > $@ How_many_did_we_filter_out?:c.csv d.csv wc --lines --total=never $^ | perl -anwle '$$F[0]-=1; print "@F";' #disregard header line #Make an address points diagram KML: d.kml:d.csv; ogr2ogr -f LIBKML $@ $< -q -sql 'SELECT "addr:housenumber" AS name FROM $(basename $<)' e.csv:d.csv #make "elevations" from $A ogr2ogr $@ $< -lco GEOMETRY=AS_WKT -zfield "$A" \ -lco STRING_QUOTING=IF_NEEDED -dialect SQLite -q -sql \ 'SELECT GEOMETRY AS WKT, "$A" FROM $(notdir $(basename $<))' f.csv:e.csv #use a rectangular grid ogr2ogr $@ $< -lco GEOMETRY=AS_WKT \ -sql 'SELECT GEOMETRY AS WKT FROM $(basename $<)' \ -s_srs $W -t_srs $P -dialect SQLite g.tif:f.csv; gdal_grid -q -a linear $< $@ h.csv:g.tif; gdal_contour -q -a Name $< $@ -lco GEOMETRY=AS_WKT -i 100 i.kml:h.csv; ogr2ogr $@ $< -f LIBKML -sql 'SELECT Name FROM $(basename $<)' -s_srs $P -t_srs $W .SECONDARY: clean:; rm *.csv *.kml *.tif