Incorporating the US National Grid into Map Products Randy Knippel Dakota County.

48
Incorporating the Incorporating the US National Grid US National Grid into Map Products into Map Products Randy Knippel Randy Knippel Dakota County Dakota County

Transcript of Incorporating the US National Grid into Map Products Randy Knippel Dakota County.

Incorporating the Incorporating the US National Grid US National Grid into Map Productsinto Map Products

Randy KnippelRandy Knippel

Dakota CountyDakota County

United States National GridUnited States National Grid(USNG)(USNG)

• National standard since 2001National standard since 2001• Adopted by federal agenciesAdopted by federal agencies

– FEMA, DHS, NGA, USGSFEMA, DHS, NGA, USGS

• Adopted by several statesAdopted by several states– Florida, Missouri, North Carolina, othersFlorida, Missouri, North Carolina, others– Minnesota (March 25, 2009)Minnesota (March 25, 2009)

• Military Grid Referencing SystemMilitary Grid Referencing System• Interoperable with UTMInteroperable with UTM

Grid Zone Designation (GZD)Grid Zone Designation (GZD) 6 x 8 Degrees 6 x 8 Degrees

100 Km Squares100 Km Squares

10 Km Squares10 Km Squares

USNG:15T VK 75USNG:15T VK 75

UTM: Zone 15 N 470,000 E4,950,000 N

UTM: Zone 15 N 470,000 E4,950,000 N

1 Km Squares1 Km Squares

USNG:15T VK 7857USNG:15T VK 7857

UTM: Zone 15 N 478,000 E4,957,000 N

UTM: Zone 15 N 478,000 E4,957,000 N

Why?Why?

• Multiple gridsMultiple grids– Needed one for everyoneNeeded one for everyone

• Need efficient location referencingNeed efficient location referencing

• Need interoperabilityNeed interoperability– Across jurisdictionsAcross jurisdictions– Local, state, federal, militaryLocal, state, federal, military

What about Lat / Long?What about Lat / Long?

• Not intuitiveNot intuitive– Degrees, minutes, secondsDegrees, minutes, seconds

• Several formatsSeveral formats– DMS, DMS.sss, DM.mmm, D.dddDMS, DMS.sss, DM.mmm, D.ddd– LongitudeLongitude

• + / -+ / -• West / eastWest / east• Increases right to leftIncreases right to left

What about Lat / Long?What about Lat / Long?

• How big is a degree?How big is a degree?– It variesIt varies

• 69 miles at the equator69 miles at the equator• Longitude gets smaller toward polesLongitude gets smaller toward poles• 50 miles in Dakota County50 miles in Dakota County

• Distance calculations are difficultDistance calculations are difficult

ScalableScalable

NationalNational

RegionalRegional

LocalLocal

Precision and TruncationPrecision and Truncation

• 18SUJ2337106519 18SUJ2337106519 – 18S UJ 23371 0651918S UJ 23371 06519

• 1 meter precision, full USNG designation1 meter precision, full USNG designation

– UJ2306UJ2306• Assume GZD (18S)Assume GZD (18S)• UJ – 100,000 m precision (100 km square)UJ – 100,000 m precision (100 km square)• 23 06 – 1000 m precision (1 km square)23 06 – 1000 m precision (1 km square)

– 2337 06512337 0651• 10 m precision10 m precision• Assume GZD and 100 km squareAssume GZD and 100 km square

Truncating GZDTruncating GZD

USNG:15T VK (100Km square)VK is unique for 800 miles

in any direction

USNG:15T VK (100Km square)VK is unique for 800 miles

in any direction

Critical InfrastructureCritical InfrastructureKey ResourcesKey Resources

Vulnerable PopulationVulnerable Population

GIS For Emergency GIS For Emergency ManagementManagement

• Damage Damage assessmentassessment

• StatusStatus• Resource Resource

deploymentdeployment

• AnalysisAnalysis• PlanningPlanning

Maps!Maps!

Fire Map BookFire Map Book

Map Map IndexIndex

MapMap74567456

(15T VK 74 56)(15T VK 74 56)

Street Street IndexIndex

Dana Dr.Dana Dr.

MapMapVK75VK75

74567456

741565741565(15T VK 741 565)(15T VK 741 565)

MapMap74567456

(15T VK 74 56)(15T VK 74 56)

DeploymentDeployment

• Maps and map books on the webMaps and map books on the web

• Printed maps and map booksPrinted maps and map books

• Strategic distributionStrategic distribution

• Train the trainerTrain the trainer

• TrainingTraining

• DispatchDispatch

Red River FloodRed River Flood

100K100K10K10K

1K1K

Statewide EffortStatewide Effort

• Create 10K maps for entire stateCreate 10K maps for entire state– FGDC CAP grantFGDC CAP grant– Structures & data stewardshipStructures & data stewardship

• Engage locals to verify dataEngage locals to verify data

• Develop data, templates, proceduresDevelop data, templates, procedures– File naming conventionFile naming convention

Merge PDF’sMerge PDF’s

• For each USNG pdf file in the overlay For each USNG pdf file in the overlay directory:directory:– Find the corresponding USNG pdf file in Find the corresponding USNG pdf file in

the basemap directorythe basemap directory– Merge the overlay pdf and legend pdf file Merge the overlay pdf and legend pdf file

into the basemap pdfinto the basemap pdf– Write the output pdf to a new directory Write the output pdf to a new directory

using a date / time stampusing a date / time stamp

Merge PDF’sMerge PDF’s

• Adobe Acrobat – Standard EditionAdobe Acrobat – Standard Edition– Watermark (with transparency!)Watermark (with transparency!)

• Adobe Acrobat – Pro EditionAdobe Acrobat – Pro Edition– ScriptingScripting

• Python ScriptingPython Scripting– PyPDFPyPDF– Batch processingBatch processing

• Others…Others…

Python Script Using PyPDFPython Script Using PyPDF

from pyPdf import PdfFileWriter, PdfFileReaderfrom pyPdf import PdfFileWriter, PdfFileReader

output = PdfFileWriter()output = PdfFileWriter()

basemap = PdfFileReader(file("basemap\15TVK85.pdf", "rb"))basemap = PdfFileReader(file("basemap\15TVK85.pdf", "rb"))

overlay = PdfFileReader(file("event1\15TVK85.pdf", "rb"))overlay = PdfFileReader(file("event1\15TVK85.pdf", "rb"))

legend = PdfFileReader(file("event1\legend.pdf", "rb"))legend = PdfFileReader(file("event1\legend.pdf", "rb"))

result = input1.getPage(0)result = input1.getPage(0)

result.mergePage(overlay.getPage(0))result.mergePage(overlay.getPage(0))

result.mergePage(legend.getPage(0))result.mergePage(legend.getPage(0))

output.addPage(result)output.addPage(result)

output.write(file("200912081322\15TVK85.pdf", "wb"))output.write(file("200912081322\15TVK85.pdf", "wb"))

outputStream.close()outputStream.close()

Special Case At GZD Special Case At GZD BoundariesBoundaries

USNG Field NamesUSNG Field Names

We Need Your Help!We Need Your Help!

• Study USNG standard and materialsStudy USNG standard and materials• Provide peer reviewProvide peer review

– USNG dataUSNG data– Field namesField names– Template MXD’sTemplate MXD’s– 10K maps10K maps

• Develop standard procedures & scriptsDevelop standard procedures & scripts• Sell it!Sell it!