building arcgis mobile solutions in the cloud
DESCRIPTION
Navteq Developer Days presentation that illustrates how to build a complete cloud-based mapping solution. A mobile app is used to monitize the platform by allowing customers to check-in (similar to foursquare).TRANSCRIPT
Allan Laframboise
Nicholas Furness
…in the cloud
Building
MobileSolutions
ArcGIS
Esri Developer Network
esri – a leader in geospatial software
EDN Team
Support the developer community
Connecting - www.esri.com/devmeetup
Resources
esri - www.esri.com
Maps and Services - ArcGIS.com
Developer Help - resources.esri.com
ArcGIS | A complete system for geographic information
Mobile
Desktop
Web• Discover
• Create
• Manage
• Visualize
• Analyze
• Collaborate
Cloud
Enterprise
Local
Who’s building ArcGIS solutions?
E311/Service Request
Campus Routing
Where To/Entertainment
Quake Map
Agenda
Build “intelligent” webmaps
Basemaps and Services
Host your data in the cloud
Build a mobile application
Get the most out of your subscription
ArcGIS Online
Building “intelligent” webmaps
ArcGIS Online
1. Website for maps and applications
2. Basemaps and Geo Services
3. Cloud-space for you! - New!
ArcGIS.com
Cloud-based geospatial solution
A complete geospatial infrastructure
Free Map
Viewers
Web & Mobile
APIsCloud Space
• ArcGIS OnlineBasemaps
& Services
Webmaps
In the cloud
What you can do with ArcGIS Online?Out-of-the-box you can…
Create an account
Browse and find maps
Create “intelligent” webmaps
Add data (CSV, GPX, SHP)
Share with groups
Access from any device
Accessibility
Webmap Viewers
ArcGIS Online (JS)
ArcGIS Explorer Online (SL)
DemoArcGIS.com – Build your first webmap
Recap
ArcGIS Online - cloud-based geospatial solution
Easy to find, create and share “intelligent” webmaps
Design with free viewers
No experience with GIS!
ArcGIS Online Services
How to access your world
ArcGIS Online Services
Types
1. Basemap Services
2. Task Services (Geo Services)
• ArcGIS Online
ArcGIS Online Basemaps
Types
World Street View
World Imagery (Satellite)
Demographics
Landsat Imagery
Reference
…
Other types
Bing, Open Street Map
Beautiful Maps!
Community Maps Programwww.esri.com/communitymaps
Basemap and Service Metadata
Description: Last updated July 2011…
Scale: 1:591,657,528 down to 1:4,514
Coordinate System: Web Mercator (WKID 102100)
Tiling scheme: Bing/Google
REST
http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer
REST:
http://tasks.arcgisonline.com/ArcGIS/rest/services/Locators/ESRI_Places_World/Ge
ocodeServer
ArcGIS Online Task Services
Task Services = “Geo Services”
World geocoding and address matching
Routing (North America and Europe)
Geometry Service
DemoArcGIS Online Basemaps and Services
Recap
High-quality basemaps
Community is contributing
Different types of Task Services
Free for development!
Your data in the Cloud
ArcGIS Online cloud hosting
ArcGIS Online Subscription (New!)
Subscription
Access to geospace and services in the cloud
Standard account +
Brand ArcGIS.com website
Manage users (admin, publishers, users)
Create groups
Create and share private maps and data
Upload your data to the cloud
No servers, infrastructure or GIS expertise!
Moving data into the cloud
Hosting options
Feature Service – Live data
Tile Service – Images
What’s a Feature Service?
Your data as a “geo service” in the cloud
Accessible via REST, ArcGIS Web and Mobile APIs
SQL-like query
Get actual records (features)
Access shapes
Create, Update and Delete
Creating feature Services
1. Import your table or shapefile data
CSV, TXT and Shapefiles (zip)
Automatically geocoded
2. Creates a REST endpoint
http://services.arcgis.com/uCXeTVveQzP4IIcx/arcgis/rest/ser
vices/Navteq_POI_Cook_County/FeatureServer
ArcGIS Online Subscription
Publish and manage own services
No 1000 feature limit!
Default space is 2GB
Token-based security model
GoChicago!
DemoHosting your data in the cloud
Recap
ArcGIS Online Subscription gives you cloud space
Host data as a Feature or Tile services
Accessible from all ArcGIS clients and APIs (REST)
No experience with GIS!
ArcGIS Mobile APIs
Accessing your data in the cloud
ArcGIS apps for tablets and smartphonesAccess ArcGIS.com webmaps in cloud
Apple iOS
Microsoft Windows
Phone 7
Google Android
(Coming in Q4, 2011) Free!
ArcGIS Mobile Development Options
Cross-platform
ArcGIS API for JavaScript (compact)
Native
ArcGIS for iOS
ArcGIS for Windows Phone
ArcGIS for Android (beta)
Getting Started
1. Go to the Resource Center
2. Download API
3. Access ArcGIS Online Basemaps
4. Access ArcGIS Online Services
5. Access your feature service in the cloud
Adding layers to your map
// ArcGIS Online Basemap Service
<esri:Map x:Name="MyMap" Extent="-120, 20, -100, 40">
<esri:ArcGISTiledMapServiceLayer ID="StreetMapLayer"
Url="http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_
2D/MapServer">
</esri:ArcGISTiledMapServiceLayer>
<esri:GraphicsLayer ID=“PlacesLayer" />
</esri:Map>
Accessing geo services
// ArcGIS Online Geometry Service
private void RunBufferService()
{
BufferParameters bufferParams = new ESRI.ArcGIS.Client.Tasks.BufferParameters()
{
BufferSpatialReference = new SpatialReference(4326),
OutSpatialReference = MyMap.SpatialReference,
Unit = LinearUnit.StatuteMile,
};
bufferParams.Distances.Add(SliderDistance.Value);
bufferParams.Features.Add(_point);
_geometryService.BufferAsync(bufferParams);
}
void GeometryService_BufferCompleted(object sender, GraphicsEventArgs args)
{
Graphic bufferGraphic = new Graphic();
bufferGraphic.Geometry = args.Results[0].Geometry;
_polygonLayer.Graphics.Add(bufferGraphic);
}
Accessing features in the cloud
// ArcGIS Online Feature Service
QueryTask _placesQueryService = new QueryTask("http://services.arcgis.com/uCXeTVveQzP4IIcx
/ArcGIS/rest/services/POI_Cook_County/MapServer/0");
_placesQueryService.ExecuteCompleted += PlacesQueryTask_ExecuteCompleted;
private void RunPlacesService()
{
ESRI.ArcGIS.Client.Tasks.Query query = new ESRI.ArcGIS.Client.Tasks.Query();
query.Geometry = _bufferGeometry;
query.OutFields.Add("Name, Address,Street,City,County,Phone,Description,Cuisine,Chain");
query.Where = "Description like '%restaurant%'“;
_placesQueryService.ExecuteAsync(query);
}
private void PlacesQueryTask_ExecuteCompleted(object sender, QueryEventArgs args)
{
foreach (Graphic selectedPOI in args.FeatureSet.Features)
{
placesLayer.Graphics.Add(selectedPOI);
}
}
Mobile Developer Help
Downloads
API Reference
Samples
Forum
Blog
resources.arcgis.com
DemoArcGIS Mobile Development
Recap
Start with the out-of-the-box mobile Apps
Cross-platform and native development options
ArcGIS Resource Centers
How to access your data in the cloud
Getting the most out
of your ArcGIS Online
Subscription
GoChicago! Pizza Finder Mobile App
Search for pizza restaurants
Check-in/out
Routing
Directions
Rating
Cloud implementation + business model
Web Viewers
Administration
ArcGIS
Mobile App
• ArcGIS OnlineCustomer
Check-ins
Basemaps
& Services
Restaurant Owner
Webmaps
GIS mapping and analysisCloser look at customer information
Location
Time
Ratings
Routing
Identify patterns
Understand demographics
Target advertising & promotion
Business AnalystMake better location-based decisions
Marketplace
Analyses
Reports
Demographics
Decision making
bao.esri.com
Summary
ArcGIS Online One-stop-shop for webmaps, apps and services
ArcGIS Online Subscription Host and manage your data in the cloud
ArcGIS Mobile APIs Easy to consume cloud data and services
Monetize your investment GIS analyses, Demographics, Business Analyst