Advance Map Automation With Python

Slides:



Advertisements
Similar presentations
Publishing GIS Services to ArcGIS for Server
Advertisements

Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Designing and Using.
Esri UC 2014 | Technical Workshop | Automating Cache Workflows and Tile Usage Heat Maps Eric J. Rodenberg.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS Viewer for Flex—
Esri UC 2014 | Technical Workshop | Working with Metadata in ArcGIS Aleta Vienneau.
Sharing imagery and raster data in ArcGIS
Sharing Geographic Content
ArcGIS Workflow Manager An Introduction
Technical Workshops | Esri International User Conference San Diego, California ArcMap: Tips and Tricks Miriam Schmidts Jorge Ruiz-Valdepena July 23 – 27,
Esri UC 2014 | Technical Workshop | Accessing Spatial Databases in ArcGIS using Query Layers Annie Sasidar.
1/36. 2/36 Something cool …
Esri International User Conference | San Diego, CA Technical Workshops | ArcGIS ArcMap: Printing, Exporting, and ArcPress Michael Grossman Jeremy Wright.
Troubleshooting Replication and Geodata Services
Fundamentals of working with geographic data
Network Analysis with Python
Python: An Introduction
Building Offline Apps With the ArcGIS Runtime SDKs
Python Map Automation: Introduction to arcpy.mapping / arcpy.mp
Session 1 SESSION 1 Working with Dreamweaver 8.0.
ArcGIS Network Analyst: Automating Workflows with Geoprocessing
Publishing to ArcGIS for Server
Enabling High-Quality Printing in Web Applications
Leveraging ArcGIS Online Elevation and Hydrology Services
Working with Metadata in ArcGIS Aleta Vienneau. Working with metadata in ArcGIS View metadata Edit metadata Set your metadata style Leverage metadata.
ArcGIS Pro: Mapping and Visualization Craig Williams, Edie Punt, &
Esri Defense Mapping: Cartographic Production
Introduction to Web AppBuilder for ArcGIS: JavaScript Apps Made Easy
Technical Workshops | Esri International User Conference San Diego, California Creating Geoprocessing Services Kevin Hibma, Scott Murray July 25, 2012.
Esri UC 2014 | Technical Workshop | Python Map Automation – Beyond the Basics of arcpy.mapping Jeff Barrette Jeff Moulds.
Technical Workshops | Esri International User Conference San Diego, California Supporting High-Quality Printing in Web Applications with ArcGIS 10.1 for.
Esri UC 2014 | Technical Workshop | Designing and Using Cached Map Services Tom Brenneman & Eric Rodenberg.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Geodatabase Administration:
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Supporting High-Quality.
ArcGIS Workflow Manager: Getting Started with Out-of-the-Box Templates Michael Broadbent.
Esri UC 2014 | Technical Workshop | Developing Offline Apps with ArcGIS Runtime SDKs Euan Cameron Justin Colville Will Crick.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Building Map Books.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Automating Geodatabase.
Working with Feature Services Gary MacDougall Russell Brennan.
Esri UC 2014 | Technical Workshop | Data Interoperability: An Introduction Bruce Dale LutzSafe Software.
Getting the most out of ArcMap Jack Horton & Jorge Ruiz-Valdepeña.
Esri UC 2014 | Technical Workshop | Creating Geoprocessing Services Kevin Hibma.
Desktop Mapping: Building Map Books Jeff Barrette Michael Grossman.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Python Map Automation.
Publishing GIS Services to ArcGIS Server
Esri UC 2014 | Technical Workshop | Python Map Automation – Introduction to arcpy.mapping Michael Grossman Jeff Barrette.
Esri UC 2014 | Technical Workshop | ArcGIS API for JavaScript: An Introduction Kelly Hutchins Derek Swingley.
ArcGIS Workflow Manager: Integrating Geoprocessing into Your Business Processes Nishi Mishra.
Sharing Maps and Layers to Portal for ArcGIS Melanie Summers, Tom Shippee, Ty Fitzpatrick.
Jeff Barrette Jeff Moulds
ArcGIS Workflow Manager: Advanced Workflows and Concepts
Desktop Mapping: Building Map Books
Working with Feature Layers
PYTHON: AN INTRODUCTION
ArcGIS for Server: What’s New
Shankar Chandrasekaran
Geoprocessing with ArcGIS for Server
Python Map Automation – Introduction to arcpy.mapping
Python Map Automation – Beyond the Basics of arcpy.mapping
Building Map Books in ArcGIS
Automating Geodatabase Administration with Python
Web AppBuilder for ArcGIS
Best Practices for Designing Effective Map Services: Case Studies
Python Map Automation – Beyond the Basics of arcpy.mapping
Network Analysis using Python
Building Map Books in ArcGIS
ModelBuilder – Getting Started
Publishing image services in ArcGIS
Designing and Using Cached Map Services
Desktop Mapping: Building Map Books
Presentation transcript:

Advance Map Automation With Python Jeff Barrette Jeff Moulds

http://esriurl.com/8899 arcpy.(m)a(p)ping UC2015 - Technical Workshop - Advanced Map Automation with Python

DDPwithDynamicTablesAndGraphs_10.1_v1 UC2015 - Technical Workshop - Advanced Map Automation with Python

MultipleElementLayoutManager_10.0_v1 UC2015 - Technical Workshop - Advanced Map Automation with Python

GenerateMapBookWithIndexPages_10_v2 UC2015 - Technical Workshop - Advanced Map Automation with Python

UC2015 - Technical Workshop - Advanced Map Automation with Python

Functions for web map printing and server publishing Advanced Web Map Printing workflows High quality vector output (e.g. PDF) Web App / Builder arcpy.mapping Automate publishing map documents to map services Map document Map service arcpy.mapping UC2015 - Technical Workshop - Advanced Map Automation with Python

Server printing out-of-the-box ArcGIS Server, Web App Builder and the ArcGIS web APIs support web map printing. Out-of-the-box print service and template maps ship with Server Hosted print service available via ArcGIS Online Easy to use in the Web App Builder or the ArcGIS web APIs Related Session: Enabling High-Quality Printing in Web Applications (Wednesday @ 10:15am – 11:30pm Room 3) Also search your agenda for “Web App Builder” – many sessions! UC2015 - Technical Workshop - Advanced Map Automation with Python

Advanced server printing with arcpy.mapping Full capabilities of arcpy.mapping: Swap out service layers for local vector data for vector PDF output Export using advanced options Export data driven pages Export to PDF and insert additional pages (title page, reports, etc.) Controlling the appearance of the legend Etc. Return a printer-friendly output file (PDF, PNG, etc.) UC2015 - Technical Workshop - Advanced Map Automation with Python

Advanced server printing with arcpy.mapping Build web apps with customized versions of the out-of-the-box print service arcpy.mapping method for converting Web Maps to Map Documents: ConvertWebMapToMapDocument (webmap_json, {template_mxd}, {notes_gdb}, {extra_conversion_options}) Web app / Builder High-quality vector output (e.g. PDF) arcpy.mapping. ConvertWebMapToMapDocument Online help and examples http://esriurl.com/4600 UC2015 - Technical Workshop - Advanced Map Automation with Python

Demo: Web app to export vector PDF using arcpy.mapping Output or print vector layers instead of “flat” image of service layers Vector layers will be staged in template map document Map service tiled cache (low dpi) Output PDF viewed in Adobe Reader Vector data (or high dpi image) UC2015 - Technical Workshop - Advanced Map Automation with Python

Demo: Web app to export vector PDF using arcpy.mapping Python code used in custom GP service Get web map JSON Get template MXD 1 Create new MXD based on web map Remove service layers Export PDF Output file of job UC2015 - Technical Workshop - Advanced Map Automation with Python

Web app to export vector PDF using arcpy.mapping Two tutorials in the help: Basic vector web map printing: http://esriurl.com/4601 Advanced web map printing: http://esriurl.com/4602 Output format Georeferencing Layers in map Layers in legend UC2015 - Technical Workshop - Advanced Map Automation with Python

Advanced Server Printing Modify arcpy.mapping scripts authored on Desktop and use them in geoprocesing and print services UC2015 - Technical Workshop - Advanced Map Automation with Python

Advanced Server Printing: new function at 10.3 Layer.UpdateLayerFromJSON(json_layer_definition) Used in web map printing applications that support changing the renderer (or other properties) of dynamic web service layers. Will apply the renderer (or other layer properties) as specified in the webmap_json to the corresponding vector layers staged in the template map document. Get JSON Layer Definition from web map Update vector layer from JSON UC2015 - Technical Workshop - Advanced Map Automation with Python

Publishing map services with arcpy.mapping arcpy.mapping.CreateMapSDDraft(map_document, out_sddraft, service_name, {server_type}, {connection_file_path}, {copy_data_to_server}, {folder_name}, {summary}, {tags}) Workflow to convert map document to map service. Use python scripts for: Scheduled service updates. E.g. nightly. Publishing automated analysis results. Batch publishing. Create SDDraft file (and optionally edit XML) arcpy.mapping.CreateMapSDDraft() Reference & prepare MXDs arcpy.mapping.MapDocument() Stage and Publish Map Service (arcpy server GP tools) arcpy.StageService_server() arcpy.UploadServiceDefinition_server() UC2015 - Technical Workshop - Advanced Map Automation with Python

Publishing map services with arcpy.mapping Sample script: CreateMapSDDraft Reference MXD Server connection, service properties, etc. Create and analyze sddraft for errors, warnings, etc. Stage and publish Map Service Don’t publish if errors exist Online help and samples: http://esriurl.com/4598 Publish and overwrite a feature service on ArcGIS.com: http://blogs.esri.com/esri/arcgis/2014/01/24/updating-your-hosted-feature-service-for-10-2 UC2015 - Technical Workshop - Advanced Map Automation with Python

Publishing other service types with python Create geoprocessing services arcpy.CreateGPSDDraft() Create image services arcpy.CreateImageSDDraft() Create geocoding services arcpy.CreateGeocodeSDDraft() UC2015 - Technical Workshop - Advanced Map Automation with Python

UC2015 - Technical Workshop - Advanced Map Automation with Python

arcpy.mapping renamed to arcpy.mp MapDocument()is now ArcGISProject() Pro arcpy.mp – major changes arcpy.mapping renamed to arcpy.mp MapDocument()is now ArcGISProject() Fewer root level functions, more OO design DataFrame is replaced with: Camera, MapFrame, Map LayerFiles work differently A new Layout object Updating data sources is very different * Stand-alone scripts don't use the cache UC2015 - Technical Workshop - Advanced Map Automation with Python

ArcGIS Pro arcpy.mp demonstration http://esriurl.com/8948 UC2015 - Technical Workshop - Advanced Map Automation with Python

UC2015 - Technical Workshop - Advanced Map Automation with Python

Function for importing 10.x documents into ArcGIS Projects ArcGISProject.importDocument (document_path, {include_layout}) ArcGIS Pro Projects .MXDs … Looping through MXDs in a folder. Reference a template APRX. Import MXD into the APRX. Save the project. UC2015 - Technical Workshop - Advanced Map Automation with Python

Function for importing 10.x documents into ArcGIS Projects ArcGISProject.importDocument(document_path, {include_layout}) .MXDs ArcGIS Pro Project .SXDs .3DDs UC2015 - Technical Workshop - Advanced Map Automation with Python DEMO

Updating Data Sources – improved usability at Pro X .APRXs Project/Map/Layer/Table/LayerFile.updateConnectionProperties (current_connection_info, new_connection_info, {auto_update_joins_and_relates}, {validate}) Find this path: Replace it with this path: UC2015 - Technical Workshop - Advanced Map Automation with Python

Updating Data Sources – improved usability at Pro Changing a folder Changing FGDB to SDE Changing PGDB to FGDB UC2015 - Technical Workshop - Advanced Map Automation with Python

Updating Data Sources advanced concepts – Layer.connectionProperties New at Pro The entire layer data source object model is exposed as a Python dictionary. Use if you need more fine grained control that what is available in Project/Map/Layer/Table/LayerFile.updateConnectionproperties() Access a layer in a map. Get layer’s connection properties. File Geodatabase layer connection properties dictionary SDE Geodatabase layer connection properties dictionary UC2015 - Technical Workshop - Advanced Map Automation with Python

Two ways to use the connection properties dictionary Write directly to the dictionary Get layer connection properties Update dictionary Set layer connection properties UpdateConnectionProperties will also do find and replace for full and partial dictionaries Old database info New database info Set layer connection properties UC2015 - Technical Workshop - Advanced Map Automation with Python

Updating Data Sources – demo X .APRXs UC2015 - Technical Workshop - Advanced Map Automation with Python

Updating Data Sources – demo source code UC2015 - Technical Workshop - Advanced Map Automation with Python