Wednesday, March 01, 2023

Finding a Needle in a Map Stack | Using a Field Expedient Local Map Repository

Suppose I'm standing at a trail head in Shenandoah, National Park, and in my haste I forgot to download maps for our hike and have no cell signal. My options seem limited: wing it and do the hike without a map; or abort. Neither option is great. Fortunately, I've got an SD card in my bag with thousands of local USGS maps stored at the ready. So all is not lost.

Using either my phone's GPS Test app or my watch's navigation app, I determine my latitude and longitude. Thankfully GPS doesn't depend on cell phone signal, so chances are good I'll have access to it.

For this example I'm using the coordinates 38.380411, -78.516653. I grabbed these from a Google Map.

Next up, I open a Termux session on my phone and use the usgsassist script to wade through the 3000+ local maps to find the 9 I'm interested in. That is, the quadrangle that contains my current lat and long, and the 8 surrounding quadrangles.

$ usgsassist -a contains -f ../PA_VA/area.maps -l 38.3804,-78.5166 > area.maps
$ usgsassist -a neighbors -f ../PA_VA/area.maps -l 38.3804,-78.5166 >> area.maps
$ cat area.maps
Elkton East, VA|2022-09-28|https://prd-tnm.s3.amazonaws.com/StagedProducts/Maps/USTopo/PDF/VA/VA_Elkton_East_20220928_TM_geo.pdf|-78.625|38.375|-78.5|38.5
Tenth Legion, VA|2022-09-21|https://prd-tnm.s3.amazonaws.com/StagedProducts/Maps/USTopo/PDF/VA/VA_Tenth_Legion_20220921_TM_geo.pdf|-78.75|38.5|-78.625|38.625
Stanley, VA|2022-09-15|https://prd-tnm.s3.amazonaws.com/StagedProducts/Maps/USTopo/PDF/VA/VA_Stanley_20220915_TM_geo.pdf|-78.625|38.5|-78.5|38.625
Big Meadows, VA|2022-09-21|https://prd-tnm.s3.amazonaws.com/StagedProducts/Maps/USTopo/PDF/VA/VA_Big_Meadows_20220921_TM_geo.pdf|-78.5|38.5|-78.375|38.625
Elkton West, VA|2022-09-28|https://prd-tnm.s3.amazonaws.com/StagedProducts/Maps/USTopo/PDF/VA/VA_Elkton_West_20220928_TM_geo.pdf|-78.75|38.375|-78.625|38.5
Fletcher, VA|2022-09-21|https://prd-tnm.s3.amazonaws.com/StagedProducts/Maps/USTopo/PDF/VA/VA_Fletcher_20220921_TM_geo.pdf|-78.5|38.375|-78.375|38.5
McGaheysville, VA|2022-09-15|https://prd-tnm.s3.amazonaws.com/StagedProducts/Maps/USTopo/PDF/VA/VA_McGaheysville_20220915_TM_geo.pdf|-78.75|38.25|-78.625|38.375
Swift Run Gap, VA|2022-09-21|https://prd-tnm.s3.amazonaws.com/StagedProducts/Maps/USTopo/PDF/VA/VA_Swift_Run_Gap_20220921_TM_geo.pdf|-78.625|38.25|-78.5|38.375
Stanardsville, VA|2022-09-21|https://prd-tnm.s3.amazonaws.com/StagedProducts/Maps/USTopo/PDF/VA/VA_Stanardsville_20220921_TM_geo.pdf|-78.5|38.25|-78.375|38.375

I grab these maps from their SD card storage using fsops.

$ (cut -d'|' -f3 area.maps | while read url ; do basename $url ; done) > area.files
$ cat area.files
VA_Elkton_East_20220928_TM_geo.pdf
VA_Tenth_Legion_20220921_TM_geo.pdf
VA_Stanley_20220915_TM_geo.pdf
VA_Big_Meadows_20220921_TM_geo.pdf
VA_Elkton_West_20220928_TM_geo.pdf
VA_Fletcher_20220921_TM_geo.pdf
VA_McGaheysville_20220915_TM_geo.pdf
VA_Swift_Run_Gap_20220921_TM_geo.pdf
VA_Stanardsville_20220921_TM_geo.pdf                                                                                                                        $
$ mkdir pdfs
$ for f in $(cat area.files) ; \
   do \
     fsops cp /mnt/media_rw/3A13-C9A7/PA_VA/$f /sdcard/Maps/Trailhead/pdfs/ ; \
   done

Finally, I load the 9 maps of interest into an Avenza Maps Collection:

With the maps loaded, the hike is a go. Onward!

No comments:

Post a Comment