DNRGarmin/DNRGPS Yesterday, Today, Tomorrow NPS Webinar Series 4/21/2014 1.
-
Upload
andrea-mckenzie -
Category
Documents
-
view
212 -
download
1
Transcript of DNRGarmin/DNRGPS Yesterday, Today, Tomorrow NPS Webinar Series 4/21/2014 1.
DNRGarmin/DNRGPSYesterday, Today, TomorrowNPS Webinar Series4/21/2014
1
Agenda• History• DNRGarmin to DNRGPS• What’s New• Other Tools• Questions
2
DNRGarmin - 2000• DNR Conservation Officers wanted to view a real-time
point on a map in their truck over an air photo. • DNRGarmin was born• VB6 application• PCOGarmin.ocx control – Ron Whately
• Communicates with Garmin’s published protocol.• Code for reading/writing shapefiles• Projections – Proj4 • Work with Arcview 3.x
• Save to Theme• Load from Theme• Real-Time Tracking
• Placed on the DNR Web Page 3
DNRGarmin - 2008• Incorporate ArcGIS• Incorporate Google Earth (kml)• Calculate Circular Error of Probability (CEP)• Image Hotlinking
4
DNRGarmin - 2008
5
DNRGarmin to DNRGPS - 2012• A major update was needed to the old application.
6
Why Updating?• Keep Up With New Technology• ESRI• Garmin
7
Why Updating?• Built On Old Technology• Visual Basic 6
• 1998 – Released• 2008 – No longer supported
• Reliance on Dead Controls• Garmin Communication• Shapefile Writer
8
What Kind of Update?
9
Why Open Source?Large Worldwide User Community • Data collection in National
Parks
10
Why Open Source?Large Worldwide User Community • Data collection in National
Parks• Alligator surveys
in Louisiana
11
Why Open Source?Large Worldwide User Community • Data collection in National
Parks• Alligator surveys in
Louisiana• Elephant Tracking in
South Africa
12
Why Open Source?Large Worldwide User Community • Data collection in National
Parks• Alligator surveys in
Louisiana• Elephant Tracking in
South Africa• Mapping Freshwater
Wells in Iraq
13
Why Open Source?Large Worldwide User Community • Data collection in National
Parks• Alligator surveys in
Louisiana• Elephant Tracking in
South Africa• Mapping Freshwater
Wells in Iraq• Michael Fay’s
“Mega Flyover”
14
Why Open Source?• Wide array of • Customization Requests• Offers To Provide Resources
• Makes for a more dynamic program – Went 4 years without an update.
• More updates possible, faster bug fixes.
15
Challenge• Develop New Standards• Rewrite 10 years of code (~15,000 lines)• Robust• Efficient• Familiar Interface
• Rewrite Docs• Consolidate• Improve
• Installation Package• Organize partners
16
Developed New Standards• C# - Development Language• .NET 4.0 - Framework• GPS Babel – GPS Communications• PROJ.4 – Projections• GDAL – Shapefile, Geodatabase• ESRI 10.x – Non-Open formats• Sphinx – Documentation• Assembla – Code Repository
17
Developed New Standards• C# - Development Language• DNR Standard• Open Source File Geodatabase wrapper written in C#
• If upgrading from a VB6 app should go with VB.NET. More copy/paste and less complete rewrites.
18
Developed New Standards• .NET 4.0 – Framework• 3.5 vs 4.0 vs 4.5
• Most have 3.5. Have come across non-4.0 machines and upgrading can be a hassle for users with restricted rights.
19
Developed New Standards• GPS Babel – GPS Communications• Fast• Works with multiple GPS brands• Good for saving between GPS brands• Used for Garmin Protocol• Included GPS Babel front end with install for testing
• Does not have its own projection engine• Limited in File Types – GPS to GPS formats
20
Developed New Standards• PROJ.4 – Projections• Familiar Piece• Fast• Accurate• Works hand in hand with GDAL
• Conversions between projection types (PRJ, POSC, etc) is not accurate 100% of the time.
21
Developed New Standards• GDAL – Shapefile, Geodatabase• Provides ability to save to many different file formats with a
standard interface, minimizing code.• Works with Proj.4 to convert between multiple projection
definitions (PRJ, POSC, etc)
• Still nuances between file types that require plenty of if/then statements• Field Types• Value restrictions• File Structures – File vs Geodatabase• Bugs• Hoped to include tons of file types but too much work! 22
Developed New Standards• ESRI 10.x – Non-Open formats• Read from any Feature Layer in ArcMap• Wrote a stand-alone DLL that communicates with ArcMap (not an
Add-In nor toolbar) – Regan Sarwas (NPS)• User has no extra steps when installing DNRGPS
• A BEAR to get working – Communication Protocol had changed since ArcMap 9.3.1 to become more restrictive and less flexible.
• The protocol changed again between version 10.0 and 10.1. Grr!• A separate DLL is required for each major increment release (10.0,
10.1, 10.2, …)
23
Developed New Standards• Sphinx - Documentation• Open Source• Produces Clean HTML and PDF
• No User-Friendly Front End
24
Developed New Standards• Assembla.com - Code Repository• www.assembla.com/spaces/dnrgps• Code – Browsable or Check-out• Bug/Task Lists• Documentation
25
Installation Package• No Installation Package!!• Copy folder to your machine and run the DNRGPS.exe. • Avoids need for administrative permissions• Can be run directly from a networked drive• Reduced installation errors to nil.
26
Organized Partners• Put a call out to thousands on our announce list• Personally contacted people who offered time or money in the
past• Ended up with:• 1 non-DNR coder (yay NPS!)• Numerous beta testers
27
User Tracking• Identify Impact of Software• Who is using it?• Where?• Why?• Helps to justify further development or identify reasons to
abandon ship and move on.
28
User Tracking• OVERT• Users Register Software• Announce Lists• Discussion Lists• Email/Phone Communication• Bug Tracking
• COVERT• Track # Downloads• Track User Information• Google Searches
29
User Tracking• OVERT• Users Register Software• Announce Lists• Discussion Lists• Email/Phone Communication• Bug Tracking
• COVERT• Track # Downloads• Google Searches• Track User Information
30
User Tracking - Overt• Announce List• One-way• Announcing new versions• 1700+ signed up
• Discussion List• Two-way• User interaction• 500+ signed up
31
User Tracking - Overt• Email/Phone Communication• Informal Questions
• Bug Tracking• “Submit a Bug” button• Bugs stored at https://www.assembla.com/spaces/dnrgps/tickets• User able to add email to bug so they are notified of updates.
32
User Tracking - Covert• Google Searches• 7,990 results for “DNRGPS”• 25,800 results for “DNRGarmin”
• Custom Documentation• YouTube Videos• Training Materials• Project References• Chat rooms
33
User Tracking - Covert• Track User Information• Check for Software Updates• IP Address
• Not unique to a computer• Allows for rough locational data
• Number of Starts• One IP has > 13,100 starts
• Software Version• Date of last start
34
User Tracking - Covert• 109,914 Unique Ips• IP to Lat/Long lookup service at http://www.ipinfodb.com• 45,935 spatial matches
35
As of 2012:115+ Countries#Users?1,148,409 Starts~10 starts per IP
Connections• NMEA• COM, USB, COMUSB Adaptor
• Garmin Protocol (Old)• COM, USB, COMUSB Adaptor
• Garmin Protocol (New)• USB (Drive)• USB (Device)
36
GPX Format• Extensions• New(er) GPXX format
Garmin - 2014<wpt lat="44.955917978659272" lon="-93.083851039409637"> <ele>258.635468</ele> <time>2013-11-07T20:04:59Z</time> <name>001</name> <cmt>NOTE</cmt> <desc>NOTE</desc> <sym>Lodge</sym> <extensions> <gpxx:WaypointExtension> <gpxx:Depth>16.764204</gpxx:Depth> <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode> </gpxx:WaypointExtension> </extensions> </wpt>
DNRGarmin <wpt lat="46.94878578" lon="-92.16640958"> <ele>0</ele> <name>ENDSUR</name> <cmt>07:48 12-OCT-10</cmt> <src>GPS 12 Map</src> <gpxx:depth>43</gpxx:depth> <gpxx:temperature>22</gpxx:temperature> </wpt>
DNRGPS <wpt lat="45.320714833214879" lon="-93.13553536310792"> <ele>277.94470214843801</ele> <time>2013-11-06T11:26:33Z</time> <name>W1</name> <cmt>03-APR-12 10:40</cmt> <sym>Hunting A</sym> <type>WAYPOINT</type> <extensions> <gpxx:Depth>45.0</gpxx:Depth> <gpxx:Temperature>33.0</gpxx:Temperature> </extensions> </wpt>
37
Projections• EPSG file
38
Projections• EPSG file• Custom Projections
39
Projections• EPSG file• Custom Projections• ESRI vs EPSG
40
Arcmap Communication• DLL • DnrGps_ArcMap.dll• No registration issues (isn’t registered at all)• Slowness
• Commands originating from outside Arcmap’s realm are REALLY slow.• Load from Arcmap unbearable for high volume• Save to Arcmap is OK.
41
Other Garmin Tools• Mapwel – www.mapwel.com• Custom IMG background maps from shapefiles
• Snowmobile Trails – Routing• Parcel Boundaries• Forest Stand Bdrys• Park Trails
42
Other Garmin Tools• Export to Image -- http://
www.dnr.state.mn.us/mis/gis/tools/arcgis/index.html• Arcmap to JPG or KMZ
• Image to Points –• Exif X/Y to Feature Class tool in MNDNR Tools Toolbox
43
Other Garmin Tools• DNR Survey – [email protected]• Field Data Collection with Arcmap• Custom Forms• Pt, Ln, Py, Voice Recording• NPS (Steve Windels), USFS, Manitoba Conservation and Water,
WA Dept of Fish and Wildlife, Bands of Lake Superior Chippewa, etc.
44
Questions?• When can we expect DNRGPS to work "inside" ArcGIS 10.x?• 10.1/10.2 Beta to be released within a week.
• Will DNRGPS work with the Monterra, Fenix, Quatix and Virb?• The Beta should handle “devices” and has been tested with a
Monterra.• Newer Garmin GPS units have a camera which embeds the
coordinates in the EXIF field but does not associate with a waypoint will DNRGPS be able to extract that position and then add it with the filename to a shape or kml file? • http://www.dnr.state.mn.us/mis/gis/tools/arcgis/index.html
45
Questions?• Batch manipulate symbols in DNR Garmin table?• No, but you can copy/paste multiple cells at once (similar to
Excel) or copy/paste from Excel.• How does Garmin treat you? You have made and kept making
their products usable for fire and natural resource mapping, a market niche they apparently ignore. In so doing you have generated a lot of business for them. To what extent do they support your work?• 0%
46
Acknowledgements• Robert Lipe - GPS Babel• Gerald Evenden - Proj.4• Frank Warmerdam – GDAL• Regan Sarwas – Developer, NPS• Sphinx -- http://sphinx-doc.org/• Ron Whately - PCOGarmin.ocx• MN DNR Staff• DNR GPS (DNR Garmin) User Community
47
More Questions?
Chris PouliotMinnesota Department of Natural Resources
http://www.dnr.state.mn.us/mis/gis/index.html
48