ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS -...

52
ANDREW CHAPKOWSKI - @achapkowski ATMA MANI ArcGIS API for Python for ANALYSTS and DATA SCIENTISTS

Transcript of ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS -...

Page 1: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

ANDREW CHAPKOWSKI - @achapkowskiATMA MANI

ArcGIS API for Python forANALYSTS and DATA SCIENTISTS

Page 2: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

ArcGIS API for Python – what can it do?

Python API architecture

Page 3: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Agenda

• Feature analysis- Demo – Finding suitable locations for new bus stops

• Geocoding• Network analysis

- Demo – Identifying zones of high pedestrian and bicyclist accidents

• GeoEnrichment• Raster analysis

- Demo – Finding suitable locations for placing AED devices

• Integration with 3rd party tools- Demo – Building a machine learning model to predict causes of historical wildfires

• Wrap up and conclusion

Page 4: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Insert video file – 9723_Chapkowski

• Delete this slide, insert video file instead

Page 5: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

geometry

geoprocessing

network

schematics

featuresraster

realtime

widgets

mapping

env

geoanalytics

gisgeocoding

geoenrichment

Spatial DataFrame

learn

Page 6: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

ArcGIS + Jupyter = ♥

Page 7: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing
Page 8: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing
Page 9: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing
Page 10: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing
Page 11: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Spatial Analysis Tools

• Summarize Data• Find Locations• Data Enrichment• Analyze Patterns• Use Proximity• Manage Data

Page 12: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Summarize DataCalculate summary statistics for features and attributes

Page 13: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Add detailed demographic data and statistics to your analysisEnrich Layer

Page 14: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Use Proximity“What is near what?”

Page 15: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Use Proximity“What is near what?”

Page 16: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Manage DataManage geographic data, overlay layers

Page 17: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Analyze PatternsIdentify, quantify, and visualize spatial patterns in your data.

Page 18: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

DemoFeature Analysis Demo

Page 19: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Geocoding, Batch geocoding, reverse geocodingarcgis.geocoding module

Geocoding

Page 20: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

GeocodeSingle line or multi field addresses

Page 21: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

GeocodePoints of Interest

• Cultural or geographic landmarks• Businesses by name or category• Administrative divisions

Page 22: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Batch GeocodingGeocode an entire list of single line or multi field addresses

Page 23: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Reverse GeocodeDetermines address at a particular x/y location

Page 24: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Routing and directions, location allocation, service areas…arcgis.network.analysis module

Network Analysis

Page 25: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Network analysis capabilities and toolsCommercial grade, traffic aware routing and directions for multiple travel modes

Page 26: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Network analysis – Service Areas

Page 27: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

DemoGeocoding/Network Analyst Demo

Page 28: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Enrich your analysis with demographic and business dataarcgis.geoenrichment module

GeoEnrichment

Page 29: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

GeoEnrichment

• Get facts about a location or area - Street addresses- Points, lines and polygon geometries- Within a drive time or service area- Named geographical areas

- Counties or block groups in California- Districts and subdistricts in India

• Create charts and choropleth maps

Page 30: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

GeoEnrichment – create reports

Page 31: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

On-the-fly and distributed batch analysis of raster dataarcgis.raster module

Imagery and Raster Analysis

Page 32: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing
Page 33: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing
Page 34: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing
Page 35: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing
Page 36: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing
Page 37: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing
Page 38: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing
Page 39: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing
Page 40: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing
Page 41: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing
Page 42: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing
Page 43: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

DemoSuitability analysis using raster analytics

Page 44: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Integration with Scientific Python ecosystem

Page 45: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Data Science with ArcGIS - Analysis

• Analysis with Python libraries- Data wrangling

- Pandas, numpy, - Machine learning

- Scikit-learn, SciPy, TensorFlow, PyTorch, Fastai- Geospatial analysis

- PySAL, GDAL, Shapely, Fiona, …- Image processing and computer vision

- PIL, OpenCV, scikit-image

Page 46: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

DemoIntegration with scientific Python ecosystem

Page 47: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Data Science with ArcGIS - Data

• Your data, org’s data, data shared with you- Shapefiles, File geodatabase, CSV, Excel, HTML, …- File shares, cloud share

• Esri curated content – Living Atlas- Multi-spectral, temporal, dynamic imagery layers- Basemaps, Imagery, Demographics, Transport- Boundaries & places, Landscape, Oceans- Earth Observations, Urban Systems, Historical Maps, …

• Public data- Maps, layers and datasets shared by users worldwide

• Authoritative data- Open government data, ArcGIS Open Data Portals

Page 48: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Data Science with ArcGIS - Visualization

• Visualize with ArcGIS- Map widget in Jupyter notebook- Web Maps and Web Scene- Feature layers- Raster and imagery layer- Smart mapping- Pythonic renderers and symbology

• Visualize with Python- Matplotlib, Seaborn, Bokeh, Plotly, …- Datashader, Holoviews, Mayavi, …

Page 49: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Data Science with ArcGIS - Analysis

• Analysis with ArcGIS

- Geoprocessing in Web GIS- Spatial analysis, Routing and directions- Network analysis, Geocoding, Geoenrichment…

- Imagery and Raster Analysis- On the fly dynamic image processing- Distributed raster analysis

- GeoAnalytics – large tabular and vector data

- ArcPy – comprehensive data management, manipulation and analysis toolsPython API architecture

Page 50: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Python scientific analysis ecosystem

51

Page 51: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing

Data Science workflows - Deployment

• Deploy as information products- WebMaps- Web scenes- Layers

• Encourage reproducible research- Notebooks for rich narratives and live code

• Deploy as dashboards- ArcGIS Operations Dashboard- Jupyter dashboard- Plotly dashboard

Page 52: ArcGIS API for Python: Analysts and Data Science · 2020-04-30 · Data Science with ArcGIS - Analysis • Analysis with ArcGIS-Geoprocessing in Web GIS-Spatial analysis, Routing