Lindsey Felton, GIS AnalystJeremy Coulson, Webmaster    Frederick County, VA
Concept and Early Dev• What we had: the printed book.• What was asked: a digital book.• Page County for inspiration.• Chie...
Why No Network?
Map Creation• Data driven pages in  ArcMap.
Map Creation• Python script to export those maps to JPEGs.• Concern: Creating one HTML page for each  map – 400+ maps! – i...
JavaScript to Select Images• Instead of one page for each image, we can  use one page that loads any image requested.• Vas...
JavaScript to Select Images
Street Indexes• To find a street by its name, we provide a list  of streets with links to map book pages.• VB formats tabl...
Street Indexes• Python script reads CSV and writes out a big  HTML table.
Street Indexes• The result is a table that loads in the browser  with no need for server tech or network.
First Version Delivered• We had built what we set out to build: a  digital version of the printed map book.• We sent it to...
Address Search Sans Server• An address search with ASP.NET/SQL Server,  PHP/MySQL, etc. would have been simple and  quick....
Address Search Sans Server• Again, we turned to Python to automate data  processing and write our array.
Address Search Sans Server• The array associates each address with a page  number.
Address Search Sans Server• Browsers on mobile devices process the  resulting 1.2 MB JS file quickly.
Second Version Delivered• New requests for functionality are taking us  far beyond a simple digital version of a printed  ...
Resources• Mapbook open source on GitHub:  https://github.com/mrcoulson/Emergency-  Responders-Mapbook• Python download:  ...
Upcoming SlideShare
Loading in …5
×

GIS Mapping Applications on iPad - Esri Map Automation with Python & Java Script

803 views

Published on

Presented by Lindsey Felton & Jeremy Coulson, Frederick County, in August 2012 at EPAN User Group Meeting.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
803
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

GIS Mapping Applications on iPad - Esri Map Automation with Python & Java Script

  1. 1. Lindsey Felton, GIS AnalystJeremy Coulson, Webmaster Frederick County, VA
  2. 2. Concept and Early Dev• What we had: the printed book.• What was asked: a digital book.• Page County for inspiration.• Chief problem: A mobile solution with no dependence on server technology, network connection, or OS capabilities.
  3. 3. Why No Network?
  4. 4. Map Creation• Data driven pages in ArcMap.
  5. 5. Map Creation• Python script to export those maps to JPEGs.• Concern: Creating one HTML page for each map – 400+ maps! – is laborious and would make updates difficult.
  6. 6. JavaScript to Select Images• Instead of one page for each image, we can use one page that loads any image requested.• Vastly simplifies updates and maintenance.• Example: link points to jpeg.html?s=map300.
  7. 7. JavaScript to Select Images
  8. 8. Street Indexes• To find a street by its name, we provide a list of streets with links to map book pages.• VB formats table in Excel to be saved as CSV.
  9. 9. Street Indexes• Python script reads CSV and writes out a big HTML table.
  10. 10. Street Indexes• The result is a table that loads in the browser with no need for server tech or network.
  11. 11. First Version Delivered• We had built what we set out to build: a digital version of the printed map book.• We sent it to the fire chiefs and they seemed to have one overarching common desire: an address search.
  12. 12. Address Search Sans Server• An address search with ASP.NET/SQL Server, PHP/MySQL, etc. would have been simple and quick. We had to remain independent of a server or network connection.• We tried jQuery plugins, HTML5 web storage, and other ideas that were all too complex or slow.• Final solution: a simple (and very long) JavaScript associative array.
  13. 13. Address Search Sans Server• Again, we turned to Python to automate data processing and write our array.
  14. 14. Address Search Sans Server• The array associates each address with a page number.
  15. 15. Address Search Sans Server• Browsers on mobile devices process the resulting 1.2 MB JS file quickly.
  16. 16. Second Version Delivered• New requests for functionality are taking us far beyond a simple digital version of a printed reference to a true navigational tool.• Directions, interactive map images, etc.• How to get data without network?• How to detect network serve content conditionally?
  17. 17. Resources• Mapbook open source on GitHub: https://github.com/mrcoulson/Emergency- Responders-Mapbook• Python download: http://www.python.org/download/releases/3. 2.3/

×