ArcGIS API for Python

The ArcGIS API for Python 1.8.1 Release Will Make You a Believer

Go Deep!

New models take you to the far, far reaches of the deep learning galaxy. Detect objects large or small with YOLOv3. Find objects in a snap with FasterRCNN. And trust me, you’ll never see things the same way again after working with SuperResolution to improve your image quality. Deep learning when you just don’t have the special purpose model to fit your inputs? The possibilities are both broad and endless now that the new FullyConnectedNetwork is on that scene.

 

Shipwreck output.
Using the MaskRCNN model to detect shipwrecks. See full sample: https://developers.arcgis.com/python/sample-notebooks/shipwrecks-detection-using-bathymetric-data/

There’s also better model metrics, object tracking ​and model licensing​. And you can read data directly from layers!  But deep learning is not just for cool images. Need to figure out what’s in all those files of text documents? We’ve got you covered! Now you can label text with Doccano for training the EntityRecognizer!  Check out the Labeling text using Doccano guide to create EntityRecognizer models that expertly classify text, extract categories, and summarize information from loads of text documents.

Tex Labels with Doccano
Doccano can label your text for faster and better classification.

Be sure to head on over to the growing set of samples available on the ArcGIS for Developers Website.

The Raster World is Your Oyster

With the advent of the Raster and RasterCollection classes – order and filtering through a collection of images is at your fingertips. ArcPy or Image Service?… consider it handled. Local files or raster in a Datastore? – these are the classes for you.  You can input a mosaic dataset, a multidimensional raster in Cloud Raster Format, a NetCDF file, or image service. ​ This means with rasters…you can almost do it all.  It enables easy preparation of your raster data for further data processing and analysis, including the capability to map and reduce the entire collection.

That’s not all for rasters. The new temporal_profile() method builds an insightful view of raster band data through time.

temporal_profile output
The temporal profile of mutliple bands of an Imagery Layer.

Roll out the red carpet as a whole slew of functions for multidimensional analysis debut in the raster analytics module. You’ll also see a bunch of new distance functions to beef up your already significant options for analyzing straight-line or weighted distance with your raster data. Be sure to check out the ArcGIS API for Python 1.8.1 Release Notes for a full list!

The Better-Than-Ever Spatially Enabled DataFrame

A ton of work went into the Spatially Enabled DataFrame (SeDF) this cycle. The backend upgrade to Pandas 1.x aligns the dataframe with the latest and greatest technology. Even better integration with Open Source technology now that you can read a GeoPandas GeoDataFrame object in as a SeDF. You can also create a SeDF from a Pandas DataFrame with a geometry column. You can now clean up your column names with the perfectly named sanitize_column_names method.

The SeDF.
The SeDF makes your life easier reading from a GeoDataFrame.

And this is just getting me started. I mean with the whirlwind of symbology additions, performance improvements, and spatial reference checks, the SeDF just keeps making things happen!

Show Me Something Good!

The visualization capabilities in the API went through the roof this release. With the Map Widget, you can now sync_navigation between MapView instances for totally easy side-by-side viewing!  You can also overlay local raster files on the widget. Talk about amazing!

sync_widget
The sync_navigation() method of the Map Widget allows for easy comparisons.

The 1.8.1 release opens the door for using a whole set of different formats as your basemap. You can choose an item to set as the basemap, including an instance of a WebMap, MapImageLayer, ImageryLayer,  or another MapView!​

Basemap code snippet
Set the basemap for your WebMap to an instance of an item.

The mapping module also adds a complete new ogc submodule for working with OGC layers. Stay tuned in upcoming releases for great new capabilities in this module. Can you say interoperability?

 

…And so much more

As always, the API resource at ArcGIS for Developers contains the Guide, Sample Notebooks, and API Reference links for your one-stop-shop to working with the API for Python.  We’ve added Guides to illuminate concepts, including the Cloning Content guide to highlight moving certain item types between organizations, as well as a guide for Working with Multispectral Data. We’ve published Samples to inspire you with ideas. There’s scheduling for your ArcGIS Notebooks, a GroupMigrationManager for moving content, accommodation for new member defaults, and too many performance updates and documentation enhancements to write them all here. Head on over to the ArcGIS API for Python 1.8.1 Release Notes for a comprehensive list of updates and fixes to to the API.

So hurry on over the Install and set up guide to find out how to get the latest and greatest ArcGIS API for Python into your hands.

 

Stay tuned in upcoming months for more information on updates to the API for Python. And we look forward to joining you virtually at the Esri User Conference. Head on over to the Detailed Agenda and search on API for Python to see all the awesome sessions coming up!

 

 

 

About the author

John Yaist

Product Engineer on the ArcGIS API for Python team

1 Comment
Oldest
Newest
Inline Feedbacks
View all comments

Next Article

Harnessing the Power of Imagery: A Programmatic Approach

Read this article