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 Python package for delineating nested surface depressions from digital elevation data.

Welcome to the lidar package lidar is Python package for delineating the nested hierarchy of surface depressions in digital elevation models (DEMs). I

Qiusheng Wu 166 Jan 03, 2023
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
Hapi is a Python library for building Conceptual Distributed Model using HBV96 lumped model & Muskingum routing method

Current build status All platforms: Current release info Name Downloads Version Platforms Hapi - Hydrological library for Python Hapi is an open-sourc

Mostafa Farrag 15 Dec 26, 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
Client library for interfacing with USGS datasets

USGS API USGS is a python module for interfacing with the US Geological Survey's API. It provides submodules to interact with various endpoints, and c

Amit Kapadia 104 Dec 30, 2022
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
scalable analysis of images and time series

thunder scalable analysis of image and time series analysis in python Thunder is an ecosystem of tools for the analysis of image and time series data

thunder-project 813 Dec 29, 2022
Download and process satellite imagery in Python using Sentinel Hub services.

Description The sentinelhub Python package allows users to make OGC (WMS and WCS) web requests to download and process satellite images within your Py

Sentinel Hub 659 Dec 23, 2022
Wraps GEOS geometry functions in numpy ufuncs.

PyGEOS PyGEOS is a C/Python library with vectorized geometry functions. The geometry operations are done in the open-source geometry library GEOS. PyG

362 Dec 23, 2022
geemap - A Python package for interactive mapping with Google Earth Engine, ipyleaflet, and ipywidgets.

A Python package for interactive mapping with Google Earth Engine, ipyleaflet, and folium

Qiusheng Wu 2.4k Dec 30, 2022
Raster processing benchmarks for Python and R packages

Raster processing benchmarks This repository contains a collection of raster processing benchmarks for Python and R packages. The tests cover the most

Krzysztof Dyba 13 Oct 24, 2022
Google maps for Jupyter notebooks

gmaps gmaps is a plugin for including interactive Google maps in the IPython Notebook. Let's plot a heatmap of taxi pickups in San Francisco: import g

Pascal Bugnion 747 Dec 19, 2022
Histogram matching plugin for rasterio

rio-hist Histogram matching plugin for rasterio. Provides a CLI and python module for adjusting colors based on histogram matching in a variety of col

Mapbox 75 Sep 23, 2022
A set of utility functions for working with GeoJSON annotations in Kaibu

kaibu-utils A set of utility functions for working with Kaibu. Create a new repository Create a new repository and select imjoy-team/imjoy-python-temp

ImJoy Team 0 Dec 12, 2021
A ninja python package that unifies the Google Earth Engine ecosystem.

A Python package that unifies the Google Earth Engine ecosystem. EarthEngine.jl | rgee | rgee+ | eemont GitHub: https://github.com/r-earthengine/ee_ex

47 Dec 27, 2022
A utility to search, download and process Landsat 8 satellite imagery

Landsat-util Landsat-util is a command line utility that makes it easy to search, download, and process Landsat imagery. Docs For full documentation v

Development Seed 681 Dec 07, 2022
A GUI widget for Linux to show current time in different timezones.

A GUI widget to show current time in different timezones (under development). To use this widget: Run scripts/startup.py Select a country. A list of t

B.Jothin kumar 11 Nov 10, 2022
Yet Another Time Series Model

Yet Another Timeseries Model (YATSM) master v0.6.x-maintenance Build Coverage Docs DOI | About Yet Another Timeseries Model (YATSM) is a Python packag

Chris Holden 60 Sep 13, 2022
A simple python script that, given a location and a date, uses the Nasa Earth API to show a photo taken by the Landsat 8 satellite. The script must be executed on the command-line.

What does it do? Given a location and a date, it uses the Nasa Earth API to show a photo taken by the Landsat 8 satellite. The script must be executed

Caio 42 Nov 26, 2022
Fiona reads and writes geographic data files

Fiona Fiona reads and writes geographic data files and thereby helps Python programmers integrate geographic information systems with other computer s

987 Jan 04, 2023