Data Acquisition using Mashup and 3-D Technology
Matt RahrCollege of Agriculture and Life Sciences
University of Arizona
Let’s Do It!
A “hybrid” website or web application Content from multiple sources Creates a completely new service
What is a Mashup?
+
Your Data
Characteristics of Mashups
Open source Multipurpose Can be used by communities to
share or collect information Can be interactive = “pin-maps”
e.g. Katrina They are not GIS, but could become
so…
&
Independent Site
HousingMaps.com
Craigslistdb
Mash Data Together
Mashup Example
Components of a Mashup
Data – you normally supply some of this
The API is published by Google, Microsoft, Yahoo – you tie your data to their maps/aerials
Web browser is the client interface
Using the API
Building a Mashup - using the API
Getting a key
Obtained at http://www.google.com/apis/maps/signup.html
Terms of use… Unlimited hits 50k geocode requests Google reserves the right to include advertising.
Must be freely accessible to end-user.
Must have a Google Account (@gmail) Must provide domain name… http://
Google Conditions (others do not have these, or these may change)
You get a key randomly generated for this domain – all your pages with maps must be at this file level.
API Steps
Create <div>’s = empty boxes where the content will go, e.g. a map or data
<div id="map" style="width: 500px; height: 300px"></div>
Use Javascript functions to “fill” the divfunction load(){ var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);}
API Steps (cont.)Previous code will create this:
API Steps (cont.)
Add additional commands (“methods”, “properties” and “events”) to enable or constrain the map environment e.g. zoom, scroll, get xy center of map, add pins, etc.
Explore other ways to enhance your site
Data AcquisitionExisting Spatial Data into the Mashup
Write Javascript via the APIvar oldMainXY = new GLatLng(32.23153, -110.9529);
var oldMainMarker = new GMarker(oldMainXY); map.addOverlay(oldMainMarker);
Using free webtools…http://www.mapbuilder.net/http://www.wayfaring.com/
Convert existing spatial data to KML
What is KML?
Keyhole Markup Language
Its simple-text… readable!
Its XML based… organized, parsable
It can be easily edited… text editor
KML under the hood…
<Placemark><name>GeoWeb 2007</name><description>
Conference held in Vancouver, BC.</description><Point>
<coordinates> -123.112324, 49.284336, 0
</coordinates></Point>
</Placemark>
KML Other cool things…
KML can be searchable via Google
KML can be viewed across different clients… On the web via Google Maps In 3-Dimension within Google Earth In a mobile environment via Google Maps for
Mobile
KML can be “network-linked” Auto-refreshes when new data is added to the
KML layer.
Converting to KML
Plenty of Tools ArcGIS 9.2 tool
in Arc Toolbox
ArcScripts for 9.1 and below
Arc2Earth for Enterprise level…
Data AcquisitionCreating New Data within a Mashup
Microsoft Virtual Earth “Collections” Web-Based Sharable via menu…
Send in email Copy to clipboard Blog it Link to it
Geometric Measurements built-in Relief data just added Oblique imagery 3D-Built in
Data AcquisitionCreating New Data within a Mashup
Google Maps “My Maps” Web-Based Sharable via menu…
Send in email Link to it… Save as KML*
Embed HTML in your tag Extra content can be added to your
mashup
3rd Party Mashup Sites
www.communitywalk.com www.wayfaring.com
Built on top of an existing mapping API, such as Google or Virtual Earth
A good selection, each with their pro’s and cons.
Community Walk
Community Walk (cont.)
Community Walk (cont.)
Using Mashup Providers
Pro’s No programming required Quick startup time
Con’s The data you enter stays within the 3rd Party’s
database. Difficult to extract data for use in a GIS. Requires users to be registered to yet another
site. Map’s are shared, but only allows visiting users
to view data, not edit.
Katrina Info Map
Data AcquisitionWriting your own Mashup
Write a custom interface for your users Programmatically input data using the API.
Benefits: Get to collect multiple Attribute Fields Store the data how you want to…
XML, KML, CSV, plain-text file Database – MySQL, Oracle, SQLServer Spatial Database – SDE, Oracle Spatial, PostGIS
Data stored on backend
AJAX passes javascript requests to the server…
Server code then does your… ODBC – JDBC – ADO Connection
Spatial Database API ArcObjects, PostGIS API
Web Service ArcGIS Server Geoprocessing Service
Mobile Data Acquisition
Data can be acquired in the field with a smartphone, a cellular data plan, and a GPS.
GPS sends X,Y locations to the smartphone via Bluetooth or serial cable.
The phone initiates an IP connection to your database via its cellular data protocol (EVDO, EDGE, HSPDA). Requires mobile software…
The web-mashup reads data out of database in real-time.
Mobile Data Acquisition Solutions
Use 3rd Party Apps http://www.3dtracking.net http://goopstechnologies.com/
Or roll out your own. same pro’s and con’s
Using 3D Technologies in Data Acquisition
Helps with visualizing an application.
Potential for orientation in the field but there are issues…
Resolution
Bandwidth
How to integrate with open source mapping like Google Earth?
How to add GIS capability?
3-Dimension in Google Earth
Google Earth reads KML…
Points, Lines, Polygons Simple attributes
Real-time data can be added on-the-fly with KML’s “Network Link” attribute.
Real-time data can also be aggregated from a GeoRSS feed.
Raster Data can also be converted to KML… Draped over terrain.
Insert DRG
Close up of fly through
Non-geographical uses
You can make your z-value some other parameter, like populations statistics
e.g. states of Mexico
Example – states of Mexico
Example (cont.)
3D in Microsoft Virtual Earth
Built as a web-plugin.
Sits on the “webtop”, not a separate program.
Similar to Google Earth, but Data cannot be exported/imported on a
standard such as KML* Oblique photography automates 3D objects. Google Earth relies on users to graphically
create 3D objects and add to the collection.
Data Acquisition Mashups - summary
Powerful, easy-to-use and cheap.
Data integrates nicely into 3D
Data can move to the field for data collection and collaboration.
Custom mashups allow users to store data in spatial databases for GIS analysis
Thanks!
Any questions an be directed to me at [email protected]
This presentation can be downloaded at
http://cals.arizona.edu/calsnet/presentations/geoweb2007/