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)
Build, deploy and extract satellite public constellations with one command line.

SatExtractor Build, deploy and extract satellite public constellations with one command line. Table of Contents About The Project Getting Started Stru

Frontier Development Lab 70 Nov 18, 2022
Creates 3D geometries from 2D vector graphics, for use in geodynamic models

geomIO - creating 3D geometries from 2D input This is the Julia and Python version of geomIO, a free open source software to generate 3D volumes and s

3 Feb 01, 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
Using SQLAlchemy with spatial databases

GeoAlchemy GIS Support for SQLAlchemy. Introduction GeoAlchemy is an extension of SQLAlchemy. It provides support for Geospatial data types at the ORM

109 Dec 01, 2022
Logging the position of the car on an sdcard

audi-mmi-3g-gps-logging Logging the position of the car on an sdcard, startup script origin not clear to me, logging setup and time change is what I d

2 May 31, 2022
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
This program analizes films database with adresses, and creates a folium map with closest films to the coordinates

Films-map-project UCU CS lab 1.2, 1st year This program analizes films database with adresses, and creates a folium map with closest films to the coor

Artem Moskovets 1 Feb 09, 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
python toolbox for visualizing geographical data and making maps

geoplotlib is a python toolbox for visualizing geographical data and making maps data = read_csv('data/bus.csv') geoplotlib.dot(data) geoplotlib.show(

Andrea Cuttone 976 Dec 11, 2022
Specification for storing geospatial vector data (point, line, polygon) in Parquet

GeoParquet About This repository defines how to store geospatial vector data (point, lines, polygons) in Apache Parquet, a popular columnar storage fo

Open Geospatial Consortium 449 Dec 27, 2022
h3-js provides a JavaScript version of H3, a hexagon-based geospatial indexing system.

h3-js The h3-js library provides a pure-JavaScript version of the H3 Core Library, a hexagon-based geographic grid system. It can be used either in No

Uber Open Source 648 Jan 07, 2023
Tile Map Service and OGC Tiles API for QGIS Server

Tiles API Add tiles API to QGIS Server Tiles Map Service API OGC Tiles API Tile Map Service API - TMS The TMS API provides these URLs: /tms/? to get i

3Liz 6 Dec 01, 2021
Advanced raster and geometry manipulations

buzzard In a nutshell, the buzzard library provides powerful abstractions to manipulate together images and geometries that come from different kind o

Earthcube Lab 30 Jun 20, 2022
Tool to suck data from ArcGIS Server and spit it into PostgreSQL

chupaESRI About ChupaESRI is a Python module/command line tool to extract features from ArcGIS Server map services. Name? Think "chupacabra" or "Chupa

John Reiser 34 Dec 04, 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
Deal with Bing Maps Tiles and Pixels / WGS 84 coordinates conversions, and generate grid Shapefiles

PyBingTiles This is a small toolkit in order to deal with Bing Tiles, used i.e. by Facebook for their Data for Good datasets. Install Clone this repos

Shoichi 1 Dec 08, 2021
Extract GoPro highlights and GPMF data.

Python script that parses the gpmd stream for GOPRO moov track (MP4) and extract the GPS info into a GPX (and kml) file.

Chris Auron 2 May 13, 2022
Python 台灣行政區地圖 (2021)

Python 台灣行政區地圖 (2021) 以 python 讀取政府開放平台的 ShapeFile 地圖資訊。歡迎引用或是協作 另有縣市資訊、村里資訊與各種行政地圖資訊 例如: 直轄市、縣市界線(TWD97經緯度) 鄉鎮市區界線(TWD97經緯度) | 政府資料開放平臺: https://data

WeselyOng 12 Sep 27, 2022
GeoIP Legacy Python API

MaxMind GeoIP Legacy Python Extension API Requirements Python 2.5+ or 3.3+ GeoIP Legacy C Library 1.4.7 or greater Installation With pip: $ pip instal

MaxMind 230 Nov 10, 2022
Interactive Maps with Geopandas

Create Interactive maps 🗺️ with your geodataframe Geopatra extends geopandas for interactive mapping and attempts to wrap the goodness of amazing map

sangarshanan 46 Aug 16, 2022