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.• Chief problem: A mobile solution with no
dependence on server technology, network connection, or OS capabilities.
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! – is laborious and would make updates difficult.
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.
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 table inExcel to be saved asCSV.
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 the fire chiefs and they seemed
to have one overarching common desire: an address search.
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.
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 reference to a true navigational tool.
• Directions, interactive map images, etc.• How to get data without
network?• How to detect network
serve content conditionally?
Resources
• Mapbook open source on GitHub: https://github.com/mrcoulson/Emergency-Responders-Mapbook
• Python download: http://www.python.org/download/releases/3.2.3/