DS =\ -dsco NAME="Illustrate hazards of theoretical single diagonal no fold axis. \ We overlay it on Northbrook IL USA, a moderately rectangular town." \ -dsco DESCRIPTION="See $(subst $(HOME)/,https://www.,$(PWD))" ## Author: Dan Jacobson https://www.jidanni.org/ ## Copyright: https://www.gnu.org/licenses/gpl.html ## Created: 2025-07-03T10:55:55+0000 ## Last-Updated: 2025-07-04T00:54:03+0000 ## Update #: 67 # See also ../../../../../algorithms/single_axis/single_axis.html P=nbx $P.vik: $P.optfile:../*diag.kmz ogr2ogr /vsistdout/ -f CSV $< -q -lco STRING_QUOTING=IF_NEEDED -dialect SQLite -sql \ 'SELECT "-gcp", 0, Name*-1, X(GEOMETRY), Y(GEOMETRY) '\ 'FROM $(notdir $(basename $<)) LIMIT 1'|\ sed '1d;y/,/ /;' > $@ #NE echo -gcp 1400 1400 -87.848240 42.152727 >> $@ #NW echo -gcp -1400 1400 -87.780520 42.101483 >> $@ #SE # Drape contours over the wedge. Our own version of "gdal_create -outsize 2 2". # (Makes four points per line, we actually only want the middle two, but will get clipped anyway): %.csv:%.xyz; gdal_contour -i 100 -q -a Name $< $@ -lco GEOMETRY=AS_WKT clean:; rm *.xyz *.km? *.csv *.optfile see_gcps: g.kml; viking $< g.kml:g.csv; ogr2ogr -f LIBKML $@ $< -oo X_POSSIBLE_NAMES=field_1 \ -oo Y_POSSIBLE_NAMES=field_2 -sql 'SELECT field_3 AS Name FROM "$(basename $<)"' g.csv:$P.optfile; perl -anwle 'printf "%s,%s,%s/%s\n", @F[3,4,1,2];' $< | sort -n -o $@ N=2400 E=800 S=1400 W=-$E $P.%.xyz:; perl -wle \ "for([$W,$N],[$E,$N],[$W,$S],[$E,$S]){print qq(@\$$_ @\$$_[$*])}" > $@ B=set 42.132038 -87.851029 42.114500 -87.827040; : NW SE; echo $$2 $$3 $$4 $$1 $P.%.kml:$P.%.csv $P.optfile #renamed NAME... hope that won't break one day... ogr2ogr -f LIBKML $@ $< --optfile $P.optfile -clipdst `$B` -sql \ 'SELECT (CAST(Name AS float)-1600)*2 AS NAME FROM "$(basename $<)"' %.kmz: %.1.kml; ogrmerge -f LIBKML -overwrite_ds -o $@ $^ $(DS) .INTERMEDIATE: %.kml $P.optfile .PRECIOUS: %.kmz .SECONDARY: %.vik:%.kmz; viking $< && sleep 99999