ArcGIS API for Python

The ArcGIS API for Python 1.6 Makes the Magic Happen

It’s getting kinda hot in here! The impending release of the ArcGIS 10.7 Enterprise and all it has to offer got our juices flowing so we could launch the ArcGIS API for Python 1.6 at the same time. HUGE NEWS at 10.7 – the ArcGIS Notebook Server arrives.  The amazing experience of the Python API in the Jupyter Notebook comes to ArcGIS Enterprise. No joke. With an install of Notebook Server, you’ll now be able to host Jupyter notebooks as portal items, making it seamless and simple to combine the incredible spatial analysis capabilities of ArcPy with the Web GIS management and analytics of the Python API….all wrapped up together in the experience you know and love from the familiar Portal and ArcGIS Online GUIs. Take a look!

What’s more, we’ve created a brand new module: arcgis.learn. And it changes everything. Yes. Everything.  Everything about deep learning in ArcGIS. The arcgis.learn module includes APIs for end-to-end deep learning workflows with ArcGIS starting from exporting training samples for deep learning workflows to training object detection models and finally inferring with the trained model.

The export_training_data tool is just one learn module tool. It creates a set of image chips with known objects, like swimming pools in the example image below, that can be fed into an object detection model, like the SingleShotDetector which is also provided with the API. The arcgis.learn module integrates and interoperates with fast.ai and PyTorch and brings in recent innovations like fast.ai’s learning rate finder that help in finding the optimum learning rate for networks.

This removes a lot of mystery and dark magic that’s often associated with deep learning.

Check it out below!

 

learning rate for training your models

Using fast.ai’s Learning Rate Finder and training an object detection model integrated with arcgis.learn.

And if you thought that was all…you would be totally misinformed! There’s more…much, much more.  We’ve added a Webhook Manager to the API so applications can provide and get data immediately!  No longer do you have to constantly poll another resource for the data you’re looking for. Now you can just have the data delivered right to you.   Enterprise 10.7 introduces a whole boatload of new functionality in the GeoAnalytics Server and 1.6 packs in a number of them, including the describe_data(), and enrich_from_grid() functions.

Example using the geoenrichment module in the Python API that has been recently introduced to the geoanalytics module

In addition, we continue to build up the raster.analytics module: We’ve added the build_footprints, build_overview, and calculate_statistics functions to make image collections easier to summarize and derive information from.

And yes. We know it’s not just about adding new functionality. We need to improve the great functions we’ve already released, and yes…ok, we have to fix those pesky things that don’t work or reacted poorly to some new changes. We went in and fixed a bug with the spatially enabled dataframe so it correctly exports null date values, removed errors returned with the polygon.is_valid() method, and cleaned up several functions on the UserManager class for more efficient member management.

There’s a ton more that went into the 1.6 API for Python release, but here you get some of the highlights. Head on over to the release notes to see an itemized recap of new additions and fixes in the API.

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. Keep your eyes peeled on the ArcGIS Enterprise site for the  help pages and installation guide for ArcGIS Notebook Server to see how you can start creating ArcGIS Notebook items in your portal! Stay tuned in upcoming months for more information on updates to the API for Python.

…And don’t forget to stop by the Python API booth in Palm Springs next week and see us. Loads of API sessions are just around the corner…take a look here!!!  See you in Palm Springs…

About the author

John Yaist

Product Engineer on the ArcGIS API for Python team

Next Article

Schedule a Python script or model to run at a prescribed time: 2019 update

Read this article