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)
Computer Vision in Python

Mahotas Python Computer Vision Library Mahotas is a library of fast computer vision algorithms (all implemented in C++ for speed) operating over numpy

Luis Pedro Coelho 792 Dec 20, 2022
Solving the Traveling Salesman Problem using Self-Organizing Maps

Solving the Traveling Salesman Problem using Self-Organizing Maps This repository contains an implementation of a Self Organizing Map that can be used

Diego Vicente 3.1k Dec 31, 2022
Imperial Valley Geomorphology Map

Roughly maps the extent of basins, basin edges, and mountains in the Imperial Valley by grouping terrain classes from the Iwahashi et al. 2021 California terrian classification model.

0 Dec 13, 2022
Asynchronous Client for the worlds fastest in-memory geo-database Tile38

This is an asynchonous Python client for Tile38 that allows for fast and easy interaction with the worlds fastest in-memory geodatabase Tile38.

Ben 53 Dec 29, 2022
Minimum Bounding Box of Geospatial data

BBOX Problem definition: The spatial data users often are required to obtain the coordinates of the minimum bounding box of vector and raster data in

Ali Khosravi Kazazi 1 Sep 08, 2022
Spectral decomposition for characterizing long-range interaction profiles in Hi-C maps

Inspectral Spectral decomposition for characterizing long-range interaction prof

Nezar Abdennur 6 Dec 13, 2022
Python project to generate Kerala's distrcit level panchayath map.

Kerala-Panchayath-Maps Python project to generate Kerala's distrcit level panchayath map. As of now, geojson files of Kollam and Kozhikode are added t

Athul R T 2 Jan 10, 2022
:earth_asia: Python Geocoder

Python Geocoder Simple and consistent geocoding library written in Python. Table of content Overview A glimpse at the API Forward Multiple results Rev

Denis 1.5k Jan 02, 2023
WIP: extracting Geometry utilities from datacube-core

odc.geo This is still work in progress. This repository contains geometry related code extracted from Open Datacube. For details and motivation see OD

Open Data Cube 34 Jan 09, 2023
Color correction plugin for rasterio

rio-color A rasterio plugin for applying basic color-oriented image operations to geospatial rasters. Goals No heavy dependencies: rio-color is purpos

Mapbox 111 Nov 15, 2022
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
Xarray backend to Copernicus Sentinel-1 satellite data products

xarray-sentinel WARNING: this product is a "technology preview" / pre-Alpha Xarray backend to explore and load Copernicus Sentinel-1 satellite data pr

B-Open 191 Dec 15, 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
An API built to format given addresses using Python and Flask.

An API built to format given addresses using Python and Flask. About The API returns properly formatted data, i.e. removing duplicate fields, distingu

1 Feb 27, 2022
Calculate & view the trajectory and live position of any earth-orbiting satellite

satellite-visualization A cross-platform application to calculate & view the trajectory and live position of any earth-orbiting satellite in 3D. This

Space Technology and Astronomy Cell - Open Source Society 3 Jan 08, 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
GetOSM is an OpenStreetMap tile downloader written in Python that is agnostic of GUI frameworks.

GetOSM GetOSM is an OpenStreetMap tile downloader written in Python that is agnostic of GUI frameworks. It is used with tkinter by ProjPicker. Require

Huidae Cho 3 May 20, 2022
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 proof-of-concept jupyter extension which converts english queries into relevant python code

Text2Code for Jupyter notebook A proof-of-concept jupyter extension which converts english queries into relevant python code. Blog post with more deta

DeepKlarity 2.1k Dec 29, 2022
A public data repository for datasets created from TransLink GTFS data.

TransLink Spatial Data What: TransLink is the statutory public transit authority for the Metro Vancouver region. This GitHub repository is a collectio

Henry Tang 3 Jan 14, 2022