3/1/2013 1 Building Custom GIS Applications Philip Bailey, North Arrow Research 28 February 2013 Philip Bailey, North Arrow Research Outline • What is a custom GIS application? • Why would you want to build one? • Example: the River Bathymetry Toolkit (RBT) • How to build custom GIS applications • Tips, tricks and pitfalls • Resources & further reading
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
3/1/2013
1
Building Custom GIS Applications
Philip Bailey, North Arrow Research
28 February 2013
Philip Bailey, North Arrow Research
Outline
• What is a custom GIS application?
• Why would you want to build one?
• Example: the River Bathymetry Toolkit (RBT)
• How to build custom GIS applications
• Tips, tricks and pitfalls
• Resources & further reading
3/1/2013
2
Philip Bailey, North Arrow Research
What is a custom GIS application?
Philip Bailey, North Arrow Research
What is a custom GIS application?
by AquaVeo
3/1/2013
3
Philip Bailey, North Arrow Research
Model Builder
Philip Bailey, North Arrow Research
Scripts and Tools
3/1/2013
4
Philip Bailey, North Arrow Research
What is a custom GIS application?
• Adding new, or combining existing, functionality
• Deployable (can be shared with others)
• Reusable
• Reliable
• Predictable
• Scalable
• Documented
• Transparent
• Supported
Philip Bailey, North Arrow Research
River Bathymetry Toolkit
3/1/2013
5
Philip Bailey, North Arrow Research
RBT & GCD Architecture
Philip Bailey, North Arrow Research
Documentation
3/1/2013
6
Philip Bailey, North Arrow Research
User Support
Philip Bailey, North Arrow Research
Why would you want to build one?
Complexity of a GIS process
Fre
qu
en
cy o
f p
erf
orm
ing
a G
IS P
roce
ss
Document
the process
Why
bother?
Be careful!
Fragment
If possible
Sweet
Spot
No brainer!
Low High
Low
Hig
h
3/1/2013
7
Philip Bailey, North Arrow Research
How to Build a Custom GIS Application?
Philip Bailey, North Arrow Research
Time
# o
f b
ug
s
Software Development Lifecycle
Concept
Requirements
Design
Development
Testing
Deployment
Documentation
Support
3/1/2013
8
Philip Bailey, North Arrow Research
Requirements Gathering
• It’s an art
• Constantly shifting
• Beware of over-scoping
• Think big but build small
• Beware of fickle clients
• Beware of undemanding clients
• Speak to real users
• Experiment with real data
Philip Bailey, North Arrow Research
Be a pessimist! Ask “what could go wrong?”
3/1/2013
9
Philip Bailey, North Arrow Research
Philip Bailey, North Arrow Research
Design
• Research
– What is already out there?
– Avoid reinventing the wheel
– Every bug you write is your problem!
• Balance architecture with a responsive design
• Don’t let perfection get in the way of progress
?
Complex
CheapFast
3/1/2013
10
Philip Bailey, North Arrow Research
Design Example
Philip Bailey, North Arrow Research
Plan For Problems
• How will users report them?
• What information will you need to solve the problem?
3/1/2013
11
Philip Bailey, North Arrow Research
Exception Handling
Input & Output Validation
Philip Bailey, North Arrow Research
Design
• Choose well supported technologies with a strong user community
3/1/2013
12
Philip Bailey, North Arrow Research
If you have to use ESRI…
• Use geoprocessing as much as possible
• Avoid trying to support more than one version
• Don’t be an early adopter!
Philip Bailey, North Arrow Research
Extensions
• Two types
– Regular (RBT) and “Just In Time” (Spatial Analyst)
• Compiled into DLL Assembly
• Registered with ArcMap using ESRI RegASM
• Deployed by install pack
• Can include:
– User interface
– Databases
– External dependencies (beware the single process!)
• Only use when you need external dependencies to your code
assembly.
3/1/2013
13
Philip Bailey, North Arrow Research
ArcGIS Add-Ins
• Do not need to be registered!!!!!!!!!!!!!!!!!
• Single assembly DLL
• Actually just a zip file!
• Can include the same functionality as extensions