### Makefile --- Perryton, texas addressing demo ## Author: Dan Jacobson https://www.jidanni.org/ ## Copyright: https://www.gnu.org/licenses/gpl.html ## Created: 2024-05-24T13:37:41+0000 ## Last-Updated: 2024-05-29T07:52:13+0000 ## Update #: 294 ## U = ../../../../utilities #include $U/m1.makefile $U/m2.makefile export PERLLIB = $U export PATH := $U:$(PATH) remote=dan1 rangeA = -1600 rangeB = 200 interval = 100 rangeAB = $$(seq $(rangeA) $(interval) $(rangeB)) griding=contours #griding=lines #################### now trying: #Given three points, #make a raster grid using them. #contour the grid #and output that! o=X_POSSIBLE_NAMES=field_2 -oo Y_POSSIBLE_NAMES=field_3 -oo Z_POSSIBLE_NAMES=field_2 -oo KEEP_GEOM_COLUMNS=YES CO= -oo HEADERS=NO \ -oo KEEP_GEOM_COLUMNS=NO \ -oo X_POSSIBLE_NAMES=field_2 \ -oo Y_POSSIBLE_NAMES=field_3 \ -sql 'SELECT * FROM "$(basename $<)"' zzz: optfile_1.txt # ogr2ogr --optfile optfile_1.txt -f CSV /dev/stdout $< ogr2ogr o.csv CSV$():$< $$o $(CO) -lco GEOMETRY=AS_WKT ogrinfo o.csv -al -oo X_POSSIBLE_NAMES=field_2 \ -oo Y_POSSIBLE_NAMES=field_3 -oo Z_POSSIBLE_NAMES=field_2 -oo KEEP_GEOM_COLUMNS=YES # ogr2ogr -f CSV /dev/stdout CSV:/dev/stdin < $< %.grid.tif:points.csv #Makefile set -e -- $(rangeAB);\ gdal_grid -l $(basename $<) -a nearest \ -outsize $$# $$# \ -oo X_POSSIBLE_NAMES=field_3 \ -oo Y_POSSIBLE_NAMES=field_4 -zfield field_$$(($*+1)) $< $@ ############################################## ppp: remote_execution # make all.vik remote_execution: # ssh $(remote) make -C $(PWD) all.kmz ssh $(remote) make -C $(PWD) zzz #contours.kml %.contours.csv:%.grid.tif gdal_contour $< $@ -a name -i $(interval) -lco GEOMETRY=AS_WKT %.contours.kmz %.contours.kml:%.contours.csv Makefile ogr2ogr $@ $< -f LIBKML \ -simplify 0.0001 \ -sql 'SELECT NAME FROM "$(basename $<)"' %.OLDgrid.tif:%.locations.csv #Makefile set -e -- $(rangeAB);\ gdal_grid -l $(basename $<) -a nearest \ -outsize $$# $$# \ -oo X_POSSIBLE_NAMES=field_1 \ -oo Y_POSSIBLE_NAMES=field_2 -zfield field_3 $< $@ %.labels.kmz:%.locations.csv ogr2ogr $@ $< -oo HEADERS=NO \ -oo KEEP_GEOM_COLUMNS=NO \ -oo X_POSSIBLE_NAMES=field_1 \ -oo Y_POSSIBLE_NAMES=field_2 \ -sql 'SELECT field_4 AS Name FROM "$(basename $<)"' %.locations.csv:%.targets.csv optfile_1.txt gdaltransform -order 1 --optfile optfile_1.txt < $< > $@ #Ground control points from our story, perryton.html: GCPs=\ -1000 -1500 -100.81532 36.38523\ 0 0 -100.80277 36.40053\ 0 -1500 -100.80270 36.38527 produceGCPs=\ set -e -- $(GCPs); until test $$\# -eq 0;\ do echo $$g $$1 $$2 $$3 $$4; shift 4; done optfile_1.txt:; g=-gcp; $(produceGCPs) > $@ %.targets.csv:$U/linegrid $< --mode $* --range $(rangeA) $(rangeB) --rows 6 --numbers_per_grid 100 > $@ # Write lines before labels, to avoid covering up labels. all.kmz: 0.$(griding).kmz 1.$(griding).kmz 0.labels.kmz 1.labels.kmz ogrmerge -overwrite_ds -o $@ $^ clean:; rm *.csv *.km[lz] *.tif *.tmp *.txt %.lines.kmz:%.locations.csv ogr2ogr $@ $< -dialect SQLite -sql \ 'SELECT field_4 AS Name, MakeLine(MakePoint(CAST(field_1 AS float),$(\ )CAST(field_2 AS float))) FROM "$*" GROUP BY Name' #Yes, the line at the bottom and left are ugly. #Will still need to use $U/fetch_boundary #on https://www.openstreetmap.org/relation/114498