aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile38
1 files changed, 38 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 17edeb2..8213bf8 100644
--- a/Makefile
+++ b/Makefile
@@ -82,3 +82,41 @@ data/victoria-addr.osm.geojson: data/victoria-addr.osm.pbf
data/victoria-addr.osm.fgb: data/victoria-addr.osm.geojson
ogr2ogr -f FlatGeobuf -nlt PROMOTE_TO_MULTI -skipfailures -mapFieldType Integer64List=String $@ $<
+
+data/victoria-addr.osm.centroids.fgb: data/victoria-addr.osm.fgb
+ qgis_process run native:centroids -- INPUT='$<|layername=victoria-addr.osm|option:VERIFY_BUFFERS=NO' OUTPUT=$@
+
+data/asgs.zip:
+ wget -O $@ 'https://www.abs.gov.au/AUSSTATS/subscriber.nsf/log?openagent&1270055001_ASGS_2016_vol_1_geopackage.zip&1270.0.55.001&Data%20Cubes&C406A18CE1A6A50ACA257FED00145B1D&0&July%202016&12.07.2016&Latest'
+
+loadMB:
+ ogr2ogr -f PostgreSQL -where 'STATE_CODE_2016 = 2' PG: /vsizip/asgs.zip/ASGS\ 2016\ Volume\ 1.gpkg -nln mb -select 'MB_CODE_2016' MB_2016_AUST
+
+data/mb.geojson:
+ ogr2ogr -f GeoJSON -where 'STATE_CODE_2016 = 2' $@ /vsizip/data/asgs.zip/ASGS\ 2016\ Volume\ 1.gpkg -lco WRITE_BBOX=YES -lco COORDINATE_PRECISION=7 -lco RFC7946=YES -lco WRITE_NAME=NO -lco ID_FIELD=MB_CODE_2016 -nln mb -select 'MB_CODE_2016' MB_2016_AUST
+
+data/mb.fgb: data/mb.geojson
+ ogr2ogr -f FlatGeobuf $@ $<
+
+# extract roads from OSM
+data/victoria-roads.osm.pbf: data/victoria.osm.pbf
+ osmium tags-filter --remove-tags --output=$@ $< w/highway=motorway,trunk,primary,secondary,tertiary,unclassified,residential,living_street,road
+
+# extract road lines into geojson
+data/victoria-roads.geojson: data/victoria-roads.osm.pbf
+ osmium export --geometry-types=linestring --output-format=geojsonseq --output $@ $<
+
+# then convert to fgb
+data/victoria-roads.fgb: data/victoria-roads.geojson
+ ogr2ogr -f FlatGeobuf -nlt LINESTRING $@ $<
+
+# construct block polygons based on OSM roads
+data/blocks.fgb: data/victoria-roads.fgb
+ qgis_process run native:polygonize -- INPUT=$< KEEP_FIELDS=FALSE OUTPUT=$@
+
+# count OSM addresses by block, those with no OSM addresses we can import all the candidate addresses without conflation issues
+dist/addressesPerBlock.fgb: data/victoria-addr.osm.centroids.fgb data/blocks.fgb
+ qgis_process run native:countpointsinpolygon -- POINTS=$< POLYGONS='data/blocks.fgb|layername=blocks' FIELD=NUMPOINTS OUTPUT=$@
+
+summariseAddressesPerBlock:
+ ogrinfo -dialect sqlite -sql 'select count(*), NUMPOINTS = 0 from addressesPerBlock group by (NUMPOINTS = 0)' data/addressesPerBlock.fgb