Creating Mosaic Datasets and Publishing Image Services using
Python Jie Zhang & Melanie Harlow
Overview
• ArcGIS 10.1 • Mosaic dataset • Raster product (NEW) • Image service • Using Python
- To create - To publish - To use
What is the mosaic dataset?
• A geodatabase data model used to catalog and process your collections of imagery
- Stored as a table and viewed as a table or image
• Indirect pixel management - Images can remain in their native format on disk or be
loaded into the geodatabase
• Unlimited size* • Provides dynamic mosaicking and
on-the-fly processing • License to create/edit – Standard or Advanced
Building a mosaic dataset
Simple workflow 1. Create mosaic dataset 2. Add imagery (raster type) 3. Optionally, edit properties and functions
Creating mosaic datasets in python
• Mosaic Dataset toolset - Create Mosaic Dataset tool - Add Rasters To Mosaic Dataset tool
• All tools are accessible through arcpy
• Useful python API - Iterator
- ListRasters - Cursors from arcpy.da
- arcpy.da.SearchCursor - arcpy.da.UpdateCursor
Customizing mosaic datasets
1. Customize raster type (art.xml) 2. Add / join / calculate fields 3. Edit properties 4. Edit raster function (rft.xml) 5. Pyramids, statistics, overviews, color correction,
seamlines 6. Create referenced mosaic dataset
Raster products – NEW
• Simplifies using sensor data - Quick and easy visualization of common band
combinations - Simple drag-n-drop, less clicking
• Key metadata - Sensor name - Acquisition date - Wavelength
• Function templates - Multispectral, Pansharpen
• Temporary function raster dataset
Data discovery & mosaic dataset customization
What is an image service?
• It is imagery or raster data made available by a server to a client application
What can you do with an image service?
• Use it as an image (visual analysis) • Use it as raster data (pixel analysis) • Access it as a catalog (mosaic dataset)
Image service source data
• Data sources - Raster datasets - Mosaic datasets
- Requires ArcGIS Server Image Extension
- Raster or mosaic layers - To control rendering - Preset some layer properties - Predefined query
How can you access an image service?
• ArcGIS Desktop • ArcGIS Explorer • Web APIs (Silverlight, Flex, JavaScript) • ArcGIS.com • REST, SOAP • WMS, WCS, KML • 3rd Party Applications
Publishing an image service
• New publishing workflow • Register databases • Share from data source • Requires service definition (.sd)
Publishing interface
Publishing interface – Capabilities
Publishing interface – Operations
Publishing interface – Parameters
Publishing interface – Parameters
Service REST Admin API – Create Service
• Service administration - Create service - Edit service configuration - Delete service
• Generate token to use admin API • URL sample 1:
- http://skye:6080/arcgis/admin/services/createService?service=....&token=....
• URL sample 2: - http://skye:6080/arcgis/admin/services/Portland_wNDVI.I
mageServer/edit?service=...&token=...
REST requests through Python
• Requires service definition (.sd) or JSON file • Make REST calls in python packages
- urllib2 - json
Publish and use image services in Python
Summary
• Find imagery using raster product • Create and edit a mosaic dataset • Publish and edit the properties of an image service • Using the REST admin API to publish and edit the
service in Python - JSON
• Use an image service as a data source
• Resourcesbeta.arcgis.com/imagery