Documentation and samples for ArcGIS API for Python

Overview

ArcGIS API for Python

ArcGIS API for Python is a Python library for working with maps and geospatial data, powered by web GIS. It provides simple and efficient tools for deep learning, sophisticated vector and raster analysis, geocoding, map making, routing and directions, as well as for organizing and managing a GIS with users, groups and information items. In addition to working with your own data, the library enables access to ready to use maps and curated geographic data from Esri and other authoritative sources. It also integrates well with the scientific Python ecosystem and includes rich support for Pandas, Scikit-Learn, Fast.ai, etc. and Jupyter notebook.

To learn more about the API, visit the product page here. You can get in touch with the developers of the API and other users like you at the community page here.

What's included

This SDK repository contains the following items:

  • API Reference Documentation. A hosted version of this can be found here.
  • Samples as Jupyter Notebooks.
  • Guides chapters as Jupyter Notebooks.

You have multiple ways of executing these notebooks as listed below:

  • Execute locally on your computer by installing anaconda and the API. See help here
  • Execute with ArcGIS Pro. See help here
  • Execute with ArcGIS Hosted Notebooks. See here
  • Execute on a hosted sandbox environment. Go to notebooks.esri.com
  • Execute in a Dockerised environment. See help here
  • Execute with Binder. See help here

Issues

Find a bug or want to request a new feature? Please let us know by submitting an issue. Thank you!

Contributing

Anyone and everyone is welcome to contribute. Please see our contribution guideline here.

Licensing

Copyright 2018-2019 Esri

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

A copy of the license is available in the repository's license.txt file.

Comments
  • solar sample

    solar sample

    solar energy prediction


    Checklist

    Please go through each entry in the below checklist and mark an 'X' if that condition has been met. Every entry should be marked with an 'X' to be get the Pull Request approved.

    • [ ] All imports are in the first cell? First block of imports are standard libraries, second block are 3rd party libraries, third block are all arcgis imports? Note that in some cases, for samples, it is a good idea to keep the imports next to where they are used, particularly for uncommonly used features that we want to highlight.
    • [ ] All GIS object instantiations are one of the following?
      • gis = GIS()
      • gis = GIS('https://www.arcgis.com', 'arcgis_python', '[email protected]')
      • gis = GIS(profile="your_online_profile")
      • gis = GIS('https://pythonapi.playground.esri.com/portal', 'arcgis_python', 'amazing_arcgis_123')
      • gis = GIS(profile="your_enterprise_portal")
    • [ ] If this notebook requires setup or teardown, did you add the appropriate code to ./misc/setup.py and/or ./misc/teardown.py?
    • [ ] If this notebook references any portal items that need to be staged on AGOL/Python API playground, did you coordinate with a Python API team member to stage the item the correct way with the api_data_owner user?
    • [ ] Code refactored & split out across multiple cells, useful comments?
    • [ ] Consistent voice/tense/narrative style? Thoroughly checked for typos?
    • [ ] All images used like <img src="base64str_here"> instead of <img src="https://some.url">? All map widgets contain a static image preview? (Call mapview_inst.take_screenshot() to do so)
    • [ ] All file paths are constructed in an OS-agnostic fashion with os.path.join()? (Instead of r"\foo\bar", os.path.join(os.path.sep, "foo", "bar"), etc.)
    • [ ] IF YOU WANT THIS SAMPLE TO BE DISPLAYED ON THE DEVELOPERS.ARCGIS.COM WEBSITE, ping @ DavidJVitale so he can add it to the list for the next deploy
    opened by moonlanderr 142
  • Estimation of river turbidity using sentinel-2 satellite data

    Estimation of river turbidity using sentinel-2 satellite data

    This notebook shows how river turbidity can be estimated using satellite data without any field measurement.


    Checklist

    Please go through each entry in the below checklist and mark an 'X' if that condition has been met. Every entry should be marked with an 'X' to be get the Pull Request approved.

    • [x] All imports are in the first cell? First block of imports are standard libraries, second block are 3rd party libraries, third block are all arcgis imports? Note that in some cases, for samples, it is a good idea to keep the imports next to where they are used, particularly for uncommonly used features that we want to highlight.
    • [x] All GIS object instantiations are one of the following?
      • gis = GIS()
      • gis = GIS('https://www.arcgis.com', 'arcgis_python', '[email protected]')
      • gis = GIS(profile="your_online_profile")
      • gis = GIS('https://pythonapi.playground.esri.com/portal', 'arcgis_python', 'amazing_arcgis_123')
      • gis = GIS(profile="your_enterprise_portal")
    • [ ] If this notebook requires setup or teardown, did you add the appropriate code to ./misc/setup.py and/or ./misc/teardown.py?
    • [x] If this notebook references any portal items that need to be staged on AGOL/Python API playground, did you coordinate with a Python API team member to stage the item the correct way with the api_data_owner user?
    • [x] Code refactored & split out across multiple cells, useful comments?
    • [x] Consistent voice/tense/narrative style? Thoroughly checked for typos?
    • [x] All images used like <img src="base64str_here"> instead of <img src="https://some.url">? All map widgets contain a static image preview? (Call mapview_inst.take_screenshot() to do so)
    • [ ] All file paths are constructed in an OS-agnostic fashion with os.path.join()? (Instead of r"\foo\bar", os.path.join(os.path.sep, "foo", "bar"), etc.)
    • [x] IF YOU WANT THIS SAMPLE TO BE DISPLAYED ON THE DEVELOPERS.ARCGIS.COM WEBSITE, ping @ DavidJVitale so he can add it to the list for the next deploy
    opened by shivanip32 78
  • detecting settlements notebook added

    detecting settlements notebook added

    This fixes the issue no: 2868

    In this notebook, we detect settlements using the traditional supervised classification (SVM) approach and DL (Unet) approach. We compare their results against each other.

    opened by guneetmutreja 77
  • add the geometry guides in 3 parts

    add the geometry guides in 3 parts

    as referenced in https://github.com/ArcGIS/geosaurus/issues/3217

    part 1 - introduction part 2 - spatial operations part 3 - spatial filtering

    @AtmaMani Though the as_arcpy() is not showing correctly in the preview, it did show the expected shape in the nbviewer.jupyter.org/github/Esri/arcgis-python-api/blob/xxx link. I am not sure if the shape preview is to be present when the PR gets merged.

    documentation 
    opened by CMPeng 71
  • Geocoding guides (7 parts)

    Geocoding guides (7 parts)

    Final review, if all boxes are checked, we can merge

    • [x] Part 1 - What is geocoding
    • [x] Part 2 - Locating addresses
    • [x] Part 3 - Finding points of interest
    • [x] Part 4 - Batch geocode
    • [x] Part 5 - Reverse geocode
    • [x] Part 6 - Custom geocoders
    • [x] Part 7 - Utility functions for geocode

    To fulfill the requirements of the 7 topics in issue https://github.com/ArcGIS/geosaurus/issues/4798

    The attached CSV file is to be used in Part 4.

    Resolves https://github.com/ArcGIS/geosaurus/issues/4798

    added to build 
    opened by CMPeng 70
  • New guide series for `arcgis.widgets` module

    New guide series for `arcgis.widgets` module

    All chapters required by https://github.com/ArcGIS/geosaurus/issues/6846 except for Part 6 are listed here. Part 6 (JupyterLab) does not render maps as expected and hence not to be come with this release.

    Notebooks are placed inside 10-mapping-and-visualization-alt folder. Please feel free to specify a better name if needed. @AtmaMani

    @BP-Ent Can you please do us a big favor by reviewing this guide series? Many thanks!!

    changes requested 
    opened by CMPeng 69
  • Add GeoEnrichment Guides - 6 parts

    Add GeoEnrichment Guides - 6 parts

    Add GeoEnrichment Guides in 6 parts per Issue https://github.com/ArcGIS/geosaurus/issues/4006

    1. Introduction to GeoEnrichment
    2. Enriching Study Areas
    3. Exploring Named Statistical Areas
    4. Enriching Data Collections and Spatially Enabled Dataframe
    5. Generating Reports
    6. Standard Geography Queries
    documentation 
    opened by mohi9282 68
  • Electric utility dl sample

    Electric utility dl sample

    <Sample notebook for detection of electric utility features using deep learning>


    Checklist

    Please go through each entry in the below checklist and mark an 'X' if that condition has been met. Every entry should be marked with an 'X' to be get the Pull Request approved.

    • [x] All imports are in the first cell? First block of imports are standard libraries, second block are 3rd party libraries, third block are all arcgis imports? Note that in some cases, for samples, it is a good idea to keep the imports next to where they are used, particularly for uncommonly used features that we want to highlight.
    • [x] All GIS object instantiations are one of the following?
      • gis = GIS()
      • gis = GIS('https://www.arcgis.com', 'arcgis_python', '[email protected]')
      • gis = GIS(profile="your_online_profile")
      • gis = GIS('https://pythonapi.playground.esri.com/portal', 'arcgis_python', 'amazing_arcgis_123')
      • gis = GIS(profile="your_enterprise_portal")
    • [x] If this notebook requires setup or teardown, did you add the appropriate code to ./misc/setup.py and/or ./misc/teardown.py?
    • [x] If this notebook references any portal items that need to be staged on AGOL/Python API playground, did you coordinate with a Python API team member to stage the item the correct way with the api_data_owner user?
    • [x] Code refactored & split out across multiple cells, useful comments?
    • [x] Consistent voice/tense/narrative style? Thoroughly checked for typos?
    • [x] All images used like <img src="base64str_here"> instead of <img src="https://some.url">? All map widgets contain a static image preview? (Call mapview_inst.take_screenshot() to do so)
    • [x] All file paths are constructed in an OS-agnostic fashion with os.path.join()? (Instead of r"\foo\bar", os.path.join(os.path.sep, "foo", "bar"), etc.)
    • [ ] IF YOU WANT THIS SAMPLE TO BE DISPLAYED ON THE DEVELOPERS.ARCGIS.COM WEBSITE, ping @ DavidJVitale so he can add it to the list for the next deploy
    opened by sdash77 68
  • Image scene classification sample notebook

    Image scene classification sample notebook

    Added Image Scene Classification Sample Notebook for issue https://github.com/ArcGIS/geosaurus/issues/7337.

    Fixed somethings in coastline_classification_using_feature_classifier

    added to build 
    opened by 1297rohit 61
  • Added Cloning Content Guide

    Added Cloning Content Guide

    • draft to address cloning content guide 2230
    • please review to see if introduction makes sense - I attempted to put in a caveat about how cloning may not produce a one-to-one transfer (even though in the case of this notebook it did in my testing)
    • I used the pythonapi playground and the geosaurus org. Both sets of items exist in the portals right now. If you want to run the notebook to test the results, perhaps you could create an admin account in geosaurus and run the notebook - to verify and test if the explanations are ok
    • I did not include any real information about related_items()

    Checklist

    Please go through each entry in the below checklist and mark an 'X' if that condition has been met. Every entry should be marked with an 'X' to be get the Pull Request approved.

    • [ ] All imports are in the first cell? First block of imports are standard libraries, second block are 3rd party libraries, third block are all arcgis imports? Note that in some cases, for samples, it is a good idea to keep the imports next to where they are used, particularly for uncommonly used features that we want to highlight.
    • [ ] All GIS object instantiations are one of the following?
      • gis = GIS()
      • gis = GIS('https://www.arcgis.com', 'arcgis_python', '[email protected]')
      • gis = GIS(profile="your_online_profile")
      • gis = GIS('https://pythonapi.playground.esri.com/portal', 'arcgis_python', 'amazing_arcgis_123')
      • gis = GIS(profile="your_enterprise_portal")
    • [ ] If this notebook requires setup or teardown, did you add the appropriate code to ./misc/setup.py and/or ./misc/teardown.py?
    • [ ] If this notebook references any portal items that need to be staged on AGOL/Python API playground, did you coordinate with a Python API team member to stage the item the correct way with the api_data_owner user?
    • [ ] Code refactored & split out across multiple cells, useful comments?
    • [ ] Consistent voice/tense/narrative style? Thoroughly checked for typos?
    • [ ] All images used like <img src="base64str_here"> instead of <img src="https://some.url">? All map widgets contain a static image preview? (Call mapview_inst.take_screenshot() to do so)
    • [ ] All file paths are constructed in an OS-agnostic fashion with os.path.join()? (Instead of r"\foo\bar", os.path.join(os.path.sep, "foo", "bar"), etc.)
    • [ ] IF YOU WANT THIS SAMPLE TO BE DISPLAYED ON THE DEVELOPERS.ARCGIS.COM WEBSITE, ping @ DavidJVitale so he can add it to the list for the next deploy
    documentation 
    opened by jyaistMap 60
  •  spatial and temporal distribution of service calls using big data tools

    spatial and temporal distribution of service calls using big data tools

    <insert pull request description here>


    Checklist

    Please go through each entry in the below checklist and mark an 'X' if that condition has been met. Every entry should be marked with an 'X' to be get the Pull Request approved.

    • [x] All imports are in the first cell? First block of imports are standard libraries, second block are 3rd party libraries, third block are all arcgis imports?
    • [x] All GIS object instantiations are one of the following?
      • gis = GIS('https://www.arcgis.com', 'arcgis_python', '[email protected]')
      • gis = GIS(profile="your_online_profile")
      • gis = GIS('https://pythonapi.playground.esri.com/portal', 'arcgis_python', 'amazing_arcgis_123')
      • gis = GIS(profile="your_enterprise_portal")
    • [x] If this notebook requires setup or teardown, did you add the appropriate code to ./misc/setup.py and/or ./misc/teardown.py?
    • [] If this notebook references any portal items that need to be staged on AGOL/Python API playground, did you coordinate with a Python API team member to stage the item the correct way with the api_data_owner user?
    • [x] Code refactored & split out across multiple cells, useful comments?
    • [x] Consistent voice/tense/narrative style? Thoroughly checked for typos?
    • [x] All images used like <img src="base64str_here"> instead of <img src="https://some.url">? All map widgets contain a static image preview? (Call mapview_inst.take_screenshot() to do so)
    • [x] All file paths are constructed in an OS-agnostic fashion with os.path.join()? (Instead of r"\foo\bar", os.path.join(os.path.sep, "foo", "bar"), etc.)
    • [] IF YOU WANT THIS SAMPLE TO BE DISPLAYED ON THE DEVELOPERS.ARCGIS.COM WEBSITE, ping @ DavidJVitale so he can add it to the list for the next deploy
    opened by priyankatuteja 60
  • Add filter parameter to the ContentManager search functions

    Add filter parameter to the ContentManager search functions

    Describe the solution you'd like Currently the search and advanced_search functions do not utilize the filter parameter of the search endpoint.

    This is would be very useful when you want to target specific items based on tags or naming conventions.

    Filter | Search API 

    search | ContentManager | Python API

    advanced_search | ContentManager | Python API

    Describe alternatives you've considered The only work arounds now are to have a static list of all the items you want to target, or to write extra code to filter the search results.

    X-Posted on Community Ideas

    enhancement 
    opened by BMannell 0
  • Attachment Manager in ArcGIS Online Notebooks cannot add DOCX or XLSX Files (Still)

    Attachment Manager in ArcGIS Online Notebooks cannot add DOCX or XLSX Files (Still)

    Describe the bug It appears that the notebooks hosted in ArcGIS Online (v. 2.0.1) do not allow you to attach .xlsx files or .docx files. This is a rehash of this closed issue: https://github.com/Esri/arcgis-python-api/issues/1315

    To Reproduce Upload an xlsx file or docx file to the files area in ArcGIS Online (/arcgis/home). Try to attach the file to a feature service.

    attachresult = attach_mgr_target.add(oid=1,file_path=r"/arcgis/home/test.xlsx")
    

    error:

    ---------------------------------------------------------------------------
    Exception                                 Traceback (most recent call last)
    Input In [6], in <cell line: 1>()
    ----> 1 attachresult = attach_mgr_target.add(oid=1,file_path=r"/arcgis/home/test.xlsx")
    
    File /opt/conda/lib/python3.9/site-packages/arcgis/features/managers.py:522, in AttachmentManager.add(self, oid, file_path, keywords)
        503 def add(self, oid: str, file_path: str, keywords: Optional[str] = None):
        504     """
        505     Adds an attachment to a :class:`~arcgis.features.FeatureLayer`
        506 
       (...)
        520 
        521     """
    --> 522     return self._layer._add_attachment(oid, file_path, keywords=keywords)
    
    File /opt/conda/lib/python3.9/site-packages/arcgis/features/layer.py:539, in FeatureLayer._add_attachment(self, oid, file_path, keywords)
        537         attach_url = self._url + "/%s/addAttachment" % oid
        538     files = {"attachment": file_path}
    --> 539     res = self._con.post(path=attach_url, postdata=params, files=files)
        540     return res
        541 else:
    
    File /opt/conda/lib/python3.9/site-packages/arcgis/gis/_impl/_con/_connection.py:1407, in Connection.post(self, path, params, files, **kwargs)
       1405 if return_raw_response:
       1406     return resp
    -> 1407 return self._handle_response(
       1408     resp=resp,
       1409     out_path=out_path,
       1410     file_name=file_name,
       1411     try_json=try_json,
       1412     force_bytes=kwargs.pop("force_bytes", False),
       1413 )
    
    File /opt/conda/lib/python3.9/site-packages/arcgis/gis/_impl/_con/_connection.py:900, in Connection._handle_response(self, resp, file_name, out_path, try_json, force_bytes, ignore_error_key)
        898             return data
        899         errorcode = data["error"]["code"] if "code" in data["error"] else 0
    --> 900         self._handle_json_error(data["error"], errorcode)
        901     return data
        902 else:
    
    File /opt/conda/lib/python3.9/site-packages/arcgis/gis/_impl/_con/_connection.py:923, in Connection._handle_json_error(self, error, errorcode)
        920                 # _log.error(errordetail)
        922 errormessage = errormessage + "\n(Error Code: " + str(errorcode) + ")"
    --> 923 raise Exception(errormessage)
    
    Exception: The given key was not present in the dictionary.
    (Error Code: 400)
    

    Screenshots image

    Expected behavior Based on the UI in ArcGIS Online, you should be able to attach .xlsx or .docx files. When you attach via the web UI, it uses this mime type for xlsx files: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

    Platform (please complete the following information):

    • OS: Windows
    • Browser: Chrome - Python API Version [e.g. 2.0.1] Hosted in ArcGIS Online

    Additional context In looking at the mimetypes in ArcGIS Online hosted notebooks, I do not see a .xlsx or .docx in there. If I run the following code, it allows me to attach the files.

    import mimetypes
    mimetypes.types_map['.xlsx'] = r"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
    attachresult = attach_mgr_target.add(oid=1,file_path=r"/arcgis/home/test.xlsx")
    
    bug 
    opened by sirws 1
  • Current ArcPy version is unbuildable from Anaconda distribution

    Current ArcPy version is unbuildable from Anaconda distribution

    Describe the bug Utilizing the standard command conda install -c esri arcpy in a new, empty, conda environment produces a build error which aborts the installation.

    To Reproduce Steps to reproduce the behavior:

    conda create -n clean_env
    y
    conda activate clean_env
    conda install -c esri arcpy
    y
    

    error:

    ERROR conda.core.link:_execute(740): An error occurred while installing package 'esri::jupyter_contrib_nbextensions-0.5.1-py_24'.
    Rolling back transaction: done
    
    LinkError: post-link script failed for package esri::jupyter_contrib_nbextensions-0.5.1-py_24
    location of failed script: E:\Anaconda3\envs\clean_env\Scripts\.jupyter_contrib_nbextensions-post-link.bat
    ==> script messages <==
    <None>
    ==> script output <==
    stdout:
    stderr: Traceback (most recent call last):
      File "E:\Anaconda3\envs\clean_env\Scripts\jupyter-contrib-nbextension-script.py", line 5, in <module>
        from jupyter_contrib_nbextensions.application import main
      File "E:\Anaconda3\envs\clean_env\lib\site-packages\jupyter_contrib_nbextensions\application.py", line 15, in <module>
        from jupyter_contrib_nbextensions.install import (
      File "E:\Anaconda3\envs\clean_env\lib\site-packages\jupyter_contrib_nbextensions\install.py", line 12, in <module>
        import latex_envs
      File "E:\Anaconda3\envs\clean_env\lib\site-packages\latex_envs\__init__.py", line 3, in <module>
        from . import latex_envs
      File "E:\Anaconda3\envs\clean_env\lib\site-packages\latex_envs\latex_envs.py", line 20, in <module>
        from nbconvert.exporters.exporter import Exporter
      File "E:\Anaconda3\envs\clean_env\lib\site-packages\nbconvert\__init__.py", line 4, in <module>
        from .exporters import *
      File "E:\Anaconda3\envs\clean_env\lib\site-packages\nbconvert\exporters\__init__.py", line 3, in <module>
        from .html import HTMLExporter
      File "E:\Anaconda3\envs\clean_env\lib\site-packages\nbconvert\exporters\html.py", line 12, in <module>
        from jinja2 import contextfilter
    ImportError: cannot import name 'contextfilter' from 'jinja2' (E:\Anaconda3\envs\clean_env\lib\site-packages\jinja2\__init__.py)
    
    return code: 1
    
    ()
    

    Screenshots image image

    Expected behavior The build to complete successfully.

    Platform (please complete the following information):

    • OS: Windows 11
    • Anaconda 2022.10
    • arcgis-2.0.1-py39_2826
    • arcgispro-3.0-0
    • arcpy-3.0-py39_arcgispro_36056 Additional context
    bug 
    opened by FeralCatColonist 2
  • adding PSETAE guide

    adding PSETAE guide

    Checklist

    Please go through each entry in the below checklist and mark an 'X' if that condition has been met. Every entry should be marked with an 'X' to be get the Pull Request approved.

    • [ ] All imports are in the first cell?
      • [ ] First block of imports are standard libraries
      • [ ] Second block are 3rd party libraries
      • [ ] Third block are all arcgis imports? Note that in some cases, for samples, it is a good idea to keep the imports next to where they are used, particularly for uncommonly used features that we want to highlight.
    • [ ] All GIS object instantiations are one of the following?
      • gis = GIS()
      • gis = GIS('home') or gis = GIS('pro')
      • gis = GIS(profile="your_online_portal")
      • gis = GIS(profile="your_enterprise_portal")
    • [ ] If this notebook requires setup or teardown, did you add the appropriate code to ./misc/setup.py and/or ./misc/teardown.py?
    • [ ] If this notebook references any portal items that need to be staged on AGOL/Python API playground, did you coordinate with a Python API team member to stage the item the correct way with the api_data_owner user?
    • [ ] If the notebook requires working with local data (such as CSV, FGDB, SHP, Raster files), upload the files as items to the Geosaurus Online Org using api_data_owner account and change the notebook to first download and unpack the files.
    • [ ] Code simplified & split out across multiple cells, useful comments?
    • [ ] Consistent voice/tense/narrative style? Thoroughly checked for typos?
    • [ ] All images used like <img src="base64str_here"> instead of <img src="https://some.url">? All map widgets contain a static image preview? (Call mapview_inst.take_screenshot() to do so)
    • [ ] All file paths are constructed in an OS-agnostic fashion with os.path.join()? (Instead of r"\foo\bar", os.path.join(os.path.sep, "foo", "bar"), etc.)
    • [ ] Is your code formatted using Jupyter Black? You can use Jupyter Black to format your code in the notebook.
    • [X] IF YOU WANT THIS SAMPLE TO BE DISPLAYED ON THE DEVELOPERS.ARCGIS.COM WEBSITE, ping @ mohi9282 so he can add it to the list for the next deploy
    changes requested 
    opened by sdash77 15
  • Fixed typos for modules in no deps install

    Fixed typos for modules in no deps install

    Brief mixup with install instructions, as the module names and package names are different (underscore vs. hyphen). Resolves https://github.com/ArcGIS/geosaurus/issues/9421

    opened by nparavicini7 2
Releases(v2.0.1)
A ready-to-use curated list of Spectral Indices for Remote Sensing applications.

A ready-to-use curated list of Spectral Indices for Remote Sensing applications. GitHub: https://github.com/davemlz/awesome-ee-spectral-indices Docume

David Montero Loaiza 488 Jan 03, 2023
Open GeoJSON data on geojson.io

geojsonio.py Open GeoJSON data on geojson.io from Python. geojsonio.py also contains a command line utility that is a Python port of geojsonio-cli. Us

Jacob Wasserman 114 Dec 21, 2022
Open Data Cube analyses continental scale Earth Observation data through time

Open Data Cube Core Overview The Open Data Cube Core provides an integrated gridded data analysis environment for decades of analysis ready earth obse

Open Data Cube 410 Dec 13, 2022
Geospatial Image Processing for Python

GIPPY Gippy is a Python library for image processing of geospatial raster data. The core of the library is implemented as a C++ library, libgip, with

GIPIT 83 Aug 19, 2022
Python script that can be used to generate latitude/longitude coordinates for GOES-16 full-disk extent.

goes-latlon Python script that can be used to generate latitude/longitude coordinates for GOES-16 full-disk extent. 🌎 🛰️ The grid files can be acces

Douglas Uba 3 Apr 06, 2022
Geographic add-ons for Django REST Framework. Maintained by the OpenWISP Project.

Geographic add-ons for Django REST Framework. Maintained by the OpenWISP Project.

OpenWISP 982 Jan 06, 2023
Helping data scientists better understand their datasets and models in text classification. With love from ServiceNow.

Azimuth, an open-source dataset and error analysis tool for text classification, with love from ServiceNow. Overview Azimuth is an open source applica

ServiceNow 145 Dec 23, 2022
Location field and widget for Django. It supports Google Maps, OpenStreetMap and Mapbox

django-location-field Let users pick locations using a map widget and store its latitude and longitude. Stable version: django-location-field==2.1.0 D

Caio Ariede 481 Dec 29, 2022
iNaturalist observations along hiking trails

This tool reads the route of a hike and generates a table of iNaturalist observations along the trails. It also shows the observations and the route of the hike on a map. Moreover, it saves waypoints

7 Nov 11, 2022
A simple reverse geocoder that resolves a location to a country

Reverse Geocoder This repository holds a small web service that performs reverse geocoding to determine whether a user specified location is within th

4 Dec 25, 2021
Example of animated maps in matplotlib + geopandas using entire time series of congressional district maps from UCLA archive. rendered, interactive version below

Example of animated maps in matplotlib + geopandas using entire time series of congressional district maps from UCLA archive. rendered, interactive version below

Apoorva Lal 5 May 18, 2022
Manage your XYZ Hub or HERE Data Hub spaces from Python.

XYZ Spaces for Python Manage your XYZ Hub or HERE Data Hub spaces and Interactive Map Layer from Python. FEATURED IN: Online Python Machine Learning C

HERE Technologies 30 Oct 18, 2022
Geocode rows in a SQLite database table

Geocode rows in a SQLite database table

Chris Amico 225 Dec 08, 2022
Track International space station with python

NASA-ISS-tracker Track International space station with python Modules import json import turtle import urllib.request import time import webbrowser i

Nikhil Yadav 8 Aug 12, 2021
List of Land Cover datasets in the GEE Catalog

List of Land Cover datasets in the GEE Catalog A list of all the Land Cover (or discrete) datasets in Google Earth Engine. Values, Colors and Descript

David Montero Loaiza 5 Aug 24, 2022
Read images to numpy arrays

mahotas-imread: Read Image Files IO with images and numpy arrays. Mahotas-imread is a simple module with a small number of functions: imread Reads an

Luis Pedro Coelho 67 Jan 07, 2023
ArcGIS Python Toolbox for WhiteboxTools

WhiteboxTools-ArcGIS ArcGIS Python Toolbox for WhiteboxTools. This repository is related to the ArcGIS Python Toolbox for WhiteboxTools, which is an A

Qiusheng Wu 190 Dec 30, 2022
A bot that tweets info and location map for new bicycle parking added to OpenStreetMap within a GeoJSON boundary.

Bike parking tweepy bot app A twitter bot app that searches for bicycle parking added to OpenStreetMap. Relies on AWS Lambda/S3, Python3, Tweepy, Flas

Angelo Trivisonno 1 Dec 19, 2021
Geodata extensions for Django REST Framework

Django-Spillway Django and Django REST Framework integration of raster and feature based geodata. Spillway builds on the immensely marvelous Django RE

Brian Galey 62 Jan 04, 2023
peartree: A library for converting transit data into a directed graph for sketch network analysis.

peartree 🍐 🌳 peartree is a library for converting GTFS feed schedules into a representative directed network graph. The tool uses Partridge to conve

Kuan Butts 183 Dec 29, 2022