Building Custom GIS Applications using Open-Source Toolkits A Case Study



Similar documents
owncloud Configuration and Usage Guide

Whisler 1 A Graphical User Interface and Database Management System for Documenting Glacial Landmarks

Installation Guidelines (MySQL database & Archivists Toolkit client)

Virtual Owl. Guide for Windows. University Information Technology Services. Training, Outreach, Learning Technologies & Video Production

Net 2. NetApp Electronic Library. User Guide for Net 2 Client Version 6.0a

CODESOFT Installation Scenarios

Contents. Stationery Greeting Cards at a glance Stationery Greeting Cards in Mail Installing Stationery Greeting Cards...

WatchDox for Mac User Guide

VantagePoint PC Application Software USER MANUAL

Introduction. Installation of SE S AM E BARCODE virtual machine distribution. (Windows / Mac / Linux)

MY WORLD GIS. Installation Instructions

Lexia Network Installation Instructions

Flash MX Image Animation

Simple Computer Backup

Viewing and Troubleshooting Perfmon Logs

An Android based Quantum GIS prototype. Ramon Carrillo, Daniel Ochoa

Introduction: The Xcode templates are not available in Cordova or above, so we'll use the previous version, for this recipe.

OS X LION SET UP THE SYSTEM

Introduction to Google SketchUp (Mac Version)

Kaspersky Security Center Web-Console

WA2262 Applied Data Science and Big Data Analytics Boot Camp for Business Analysts. Classroom Setup Guide. Web Age Solutions Inc.

How to use

Customer Tips. Xerox Network Scanning TWAIN Configuration for the WorkCentre 7328/7335/7345. for the user. Purpose. Background

Connection. to SECON-Server

Using the Orbit Webcam & Skype to Video Conference

Data Logging Software and Cable Bundle Model DL-SC3 User Manual. Overview

ArcGIS online Introduction Module 1: How to create a basic map on ArcGIS online Creating a public account with ArcGIS online...

Quick Start Guide. SYSTEM REQUIREMENTS Mac OS X Mavericks 64-bit processor A Mac with an Intel processor 1GB of memory 64MB of free space

CENTRICITY WEB VERSION 3.0. Updated 11/24/2009 Medical Imaging IT Technical Support please call the Help Desk

MEAP Edition Manning Early Access Program Hello! ios Development version 14

Browsing and working with your files and folder is easy with Windows 7 s new look Windows Explorer.

Mouse and Pointer Settings. Technical Brief

How to Download Images Using Olympus Auto-Connect USB Cameras and Olympus Master

Wireless Printing Guide

Moderator Guide. o m N o v i a T e c h n o l o g i e s K a t y F r e e w a y H o u s t o n, T X

After going through this lesson you would be able to:

Midland BT Updater BTUpdater Program Program file (x86) ), Midland

COMPLETE USER VISUALIZATION INTERFACE FOR KENO

Sweet Home 3D user's guide

StrikeRisk v6.0 IEC/EN Risk Management Software Getting Started

Installation Instructions

Installing Remote Desktop Connection

COMPUTER BASICS. Gordon Kelley Academic Success Center Vines Building, Room

Mobile Game and App Development the Easy Way

Using Virtual Machines

Audacity Essentials. San José State University Help Desk. You can use and get Audacity for free

As you look at an imac you will notice that there are no buttons on the front of the machine as shown in figure 1.

XConsole GUI setup communication manual September 2010.

Intro to evis: the event visualization tool

TABLE OF CONTENTS. Copyright Pro Softnet Corporation. All rights reserved. 2

Before You Begin Installing Your Scanner

OPERATING SYSTEMS Software in the Background. Chapter 2

HELCOM Data and Map Service. User Manual

Kaspersky Password Manager

Photo Loader. CASIO LCD Digital Camera Image Loading Software Macintosh version. Version 1.1. Instruction manual B K851PSM4DMX-E

BIGPOND ONLINE STORAGE USER GUIDE Issue August 2005

Using Firefly Media Server with Roku SoundBridge. For Mac OS X and 10.4.x

BarTender Web Print Server

Metasys System Direct Connection and Dial-Up Connection Application Note

You may have been given a download link on your trial software . Use this link to download the software.

Parallels Desktop for Mac

unisys ClearPath eportal Developer 6.1 Unisys Multi-Device App Developer s Guide March

Quick Start Guide. Screen Sharing. Document Revision: (May 18, 2015)

An Incident Management Preparedness and Coordination Toolkit

Microsoft Dynamics GP. Business Analyzer

`````````````````SIRE QUICK START GUIDE

Google Maps Hacks by Rich Gibson and Schuyler Erle

Freshservice Discovery Probe User Guide

Using Web Services for scanning on your network (Windows Vista SP2 or greater, Windows 7 and Windows 8)

SB101 SMART Board 101

Using the Remote Desktop Connection for Mac

Important Notes for WinConnect Server VS Software Installation:

Connecting Your Camera under Windows XP

Windows Movie Maker 2012

Remote Monitoring and Control of the R&S FSV with a Web Browser

RuleBender Tutorial

Installing the VMware Horizon View Client to Access Hoag Virtual Desktops

BASLER ACE QUICK INSTALLATION GUIDE

Setting up Python 3.4 and numpy and matplotlib on your own Windows PC or laptop

ScanShell.Net Install Guide

Software Development Environment. Installation Guide

VisIt Visualization Tool

Running Diagnostics... 9 Updating Your Software...11 Reading the LED Status Indicators... 13

Guide to Using the AK240 MQS Streaming Server. (Macintosh OS X Lion only)

NVMS User Manual

Expert Review and Questionnaire (PART I)

Resolving USB Driver Problems

TWIN-TURBINE CENTRIFUGAL COMPRESSOR

Camtasia Studio. Creating Screen Videos

Package Content. Get Started

Kaspersky Security Center Web-Console

Documentation revised 08/25/15 by S. Collins, UDit. Credit to T. Greaney, A&S Computing for assisting with content in sections 2 and 3.

Welcome to Corel VideoStudio Pro X5

Remote Monitoring and Control of the R&S FSL with a Web Browser

SMART Board User Guide for PC

Getting Started with Fugu For the Macintosh Author Kevin Urasaki

EVENT VIEWER IN WINDOWS 7

Option nv, Gaston Geenslaan 14, B-3001 Leuven Tel Fax Page 1 of 14

Nero MediaStreaming for MCE Manual

Super Pro Net TM Network Key Installation and Operation

Transcription:

Building Custom GIS Applications using Open-Source Toolkits A Case Study Daniel B. Koch, Ph.D. Senior R&D Staff Oak Ridge National Lab Oak Ridge, TN, USA kochdb@ornl.gov http://www.ornl.gov/~ko5 Managed by UT-Battelle, LLC for the U.S. Department of Energy under Contract No. DE-AC05-00OR22725

Introduction Talk deals with how to get started with a custom development effort Motivation for creating your own GIS application Decisions to make along the way Examples and lessons learned from developing the ORNL Geospatial Viewer (OGV) 2 Managed by UT-Battelle

Motivation Several projects needed a simple GIS application for use by non-gis professionals Commercial offerings deemed too complicated and/or costly by sponsor Browser-based offerings had restrictive terms of use and/or copyrighted data Needed the ability to customize the code for each project 3 Managed by UT-Battelle

Requirements Simple to learn (avoid jargon, feature bloat) Allow custom map making and data capture Support hardware devices (GPS receiver) Run on a laptop for mobile operations Liberal license terms No per-copy cost 4 Managed by UT-Battelle

Challenges Network connection not always available in the field Laptop must carry the data it needs User may need to store unstructured or unanticipated data (photos, reports, scanned maps, floor plans, etc.) Operation on Windows, Mac, and Linux 5 Managed by UT-Battelle

Getting Started Available applications and toolkits Desktop GIS by Gary Sherman http://desktopgisbook.com Ideas for use cases Mapping Hacks by Erle, Gibson, & Walsh http://www.mappinghacks.com Data sources (region dependent) Development help (tool dependent) 6 Managed by UT-Battelle

Application Elements Graphical user interface (GUI) Geospatial database for spatial queries Access to web repositories prior to use in the field Hardware drivers 7 Managed by UT-Battelle

Development Language Python Can be used for OS scripting, procedural programming, or object-oriented programming Cross-platform, already installed in many cases Minimalist approach to language elements Resources http://python.org Learning Python by Mark Lutz Python in a Nutshell by Alex Martelli http://oreilly.com/python 8 Managed by UT-Battelle

GUI Toolkit wxpython wxwidgets C++ library with Python bindings Cross-platform, preserves native OS look and feel Active development and user community Liberal license for personal and commercial use Resources http://www.wxpython.org wxpython in Action by Rappin & Dunn 9 Managed by UT-Battelle

Geospatial Database PostgreSQL Cross-platform, supports spatial queries natively Many extensions (PostGIS) Resources http://www.postgresql.org PostgreSQL by Douglas & Douglas PsycoPG2 Provides Python DBAPI interface http://www.initd.org/pub/software/psycopg 10 Managed by UT-Battelle

Data Sources On-board laptop GNIS (http://geonames.usgs.gov) National Atlas (http://www.nationalatlas.gov) LandScan (http://www.ornl.gov/sci/landscan) TIGER (http://www.census.gov/geo/www/tiger) Internet access WMS GeoRSS 11 Managed by UT-Battelle

Hardware Support GPS receiver Real-time tracking Downloading waypoints Source of satellite information PySerial Cross-platform* Python access to serial port http://sourceforge.net/projects/pyserial * Windows requires Mark Hammond s Python extensions (http://www.python.net/crew/mhammond) 12 Managed by UT-Battelle

Architecture Graphical User Interface Control Executive Database Internet Access Hardware Drivers Operating System Elements of model-view-controller (MVC) used throughout 13 Managed by UT-Battelle

Graphical User Interface (Linux) Button bar Database layers pane can be shown or hidden Mouse controls pan (drag) and zoom (wheel) Cursor lat/lon/elev Icon set by Mark James http://www.famfamfam.com/lab/icons/silk 14 Managed by UT-Battelle

Mac OS GUI 15 Managed by UT-Battelle

Windows Vista GUI 16 Managed by UT-Battelle

Menu Operations 17 Managed by UT-Battelle

Feature Operations Properties and folder Clipboard ops Actions Attributes 18 Managed by UT-Battelle

Properties Dynamic tabs based on input coordinate system User notes and URL 19 Managed by UT-Battelle

Wizard Instruction pages implemented in HTML 20 Managed by UT-Battelle

Examples Emergency response planning Satellite tracking GeoRSS 21 Managed by UT-Battelle

Emergency Response Planning Population updated as circle expands Vehicle moves along path Animation showing a hazardous release 22 Managed by UT-Battelle

Satellite Tracking One period of orbit shown Current position of satellite Real-time tracking animation using satellite ephemeris 23 Managed by UT-Battelle

GeoRSS Webcams pulled as GeoRSS Double-clicking webcam icon launches browser camera view False-color DTED generated map with user-selected features 24 Managed by UT-Battelle

Lessons Learned Make sure you really need a custom solution Clearly define a minimum set of functions and data types to support at first Pick a language/toolkit you enjoy using Allow your code to be organic but constantly refactor into stable bits of functionality Avoid feature-creep and excessive options Great vehicle for learning GIS concepts 25 Managed by UT-Battelle

Future Efforts GUI improvements More simulation capabilities 3D viewing via PyOpenGL Hardware drivers for other devices Animation scripting by end-user 26 Managed by UT-Battelle