Tile Map Service and OGC Tiles API for QGIS Server

Overview

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 information on the Tile Map Service based on WMTS Server project configuration
  • /tms/tilemaps/(?[^/]+)/?
    • to get information on a tile map based on WMTS Server project configuration
  • /tms/tilemaps/(?[^/]+)/(?P\d+)/(?P\d+)/(?P\d+)\.(?P[^/?]+)/?
    • to get tile map content based on extension
    • the available extension is png, jpg, jpeg and pbf
    • the image formats, png and jpg, is configured in the project
    • the vector tile format is based on QGIS version > 3.14 and only available for vector layers
Comments
  • Use single tile encoder

    Use single tile encoder

    • Use single tile encoder implemented in Qgis 3.22+ (https://github.com/qgis/QGIS/pull/44918)
    • Fix OGC api routing patterns
    • Returns correct HTTP status
    • Fix returned vs logged messages on error
    • Tested on master
    enhancement 
    opened by dmarteau 2
  • Update qgis-plugin-ci requirement from <2.1.0,>=2.0.1 to >=2.0.1,<2.2.0 in /requirements

    Update qgis-plugin-ci requirement from <2.1.0,>=2.0.1 to >=2.0.1,<2.2.0 in /requirements

    Updates the requirements on qgis-plugin-ci to permit the latest version.

    Changelog

    Sourced from qgis-plugin-ci's changelog.

    2.1.1 - 2022-01-20

    • Fix a regression from 2.1.0 when the changelog command is used without a configuration file

    2.1.0 - 2022-01-10

    • Add the possibility to choose the changelog filepath in the configuration file with changelog_path
    • Add some aliases in the command line for some parameters
    • Update the documentation

    2.0.1 - 2021-05-11

    2.0.0 - 2021-05-06

    • Add a dedicated website for the documentation https://opengisch.github.io/qgis-plugin-ci/
    • Improve the changelog parser :
      • The changelog_regexp parameter has been removed
      • The CHANGELOG.md must follow semantic versioning and Keep A Changelog
      • The experimental flag is determined automatically if the package name is following the semantic versioning
    • Add a special keyword latest to package the latest version described in a CHANGELOG.md file
    • Possible to install the repository using pip install with the GIT URL

    1.8.4 - 2020-09-07

    • Separate python files and UI files in the temporary PRO file (#29)

    1.8.3 - 2020-08-25

    • Keep the plugin path when creating the ZIP
    • Rename qgis_plugin_ci_testing to qgis_plugin_CI_testing to have a capital letter
    • Update readme about plugin_path

    1.8.2 - 2020-08-05

    • Run travis on tags too (#24)

    1.8.1 - 2020-08-05

    • better support of spaces in plugin name
    • Use underscore instead of hyphen for plugin name #22 (#23)

    1.8.0 - 2020-07-16

    • Create temporary .pro file to make pylupdate5 work with unicode char (#19)

    0.1.2 - 2017-07-23

    (This version note is used in unit-tests)

    ... (truncated)

    Commits
    • 6bb37a0 Release 2.1.1
    • d789d9c Fix regression when using the changelog command without a configuration file
    • 7b88b4f Release of 2.1.0
    • 58efb86 Enable Python 3.10 in the metadata
    • d3a630f CI - Do not make simultaneous tests
    • 2e8ded0 CI - Tests on various Python versions
    • ab5654a Update myst-parser[linkify] requirement in /requirements
    • 612a50a [pre-commit.ci] pre-commit autoupdate
    • e6a1240 Bump ncipollo/release-action from 1.8.10 to 1.9.0
    • 3a3a253 Update pre-commit requirement in /requirements
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies python 
    opened by dependabot[bot] 1
  • Bump actions/setup-python from 2.2.2 to 2.3.1

    Bump actions/setup-python from 2.2.2 to 2.3.1

    Bumps actions/setup-python from 2.2.2 to 2.3.1.

    Release notes

    Sourced from actions/setup-python's releases.

    Update actions/cache version to 1.0.8

    We have updated actions/cache dependency version to 1.0.8 to support 10GB cache upload

    Support caching dependencies

    This release introduces dependency caching support (actions/setup-python#266)

    Caching dependencies.

    The action has a built-in functionality for caching and restoring pip/pipenv dependencies. The cache input is optional, and caching is turned off by default.

    Besides, this release introduces dependency caching support for mono repos and repositories with complex structure.

    By default, the action searches for the dependency file (requirements.txt for pip or Pipfile.lock for pipenv) in the whole repository. Use the cache-dependency-path input for cases when you want to override current behaviour and use different file for hash generation (for example requirements-dev.txt). This input supports wildcards or a list of file names for caching multiple dependencies.

    Caching pip dependencies:

    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-python@v2
      with:
        python-version: '3.9'
        cache: 'pip'
    - run: pip install -r requirements.txt
    - run: pip test
    

    Caching pipenv dependencies:

    steps:
    - uses: actions/checkout@v2
    - name: Install pipenv
      run: pipx install pipenv
    - uses: actions/setup-python@v2
      with:
        python-version: '3.9'
        cache: 'pipenv'
    - run: pipenv install
    - run: pipenv test
    

    Change dependency file:

    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-python@v2
      with:
        python-version: '3.9'
        cache: 'pip'
        cache-dependency-path: '**/requirements-dev.txt'
    - run: pip install -r subdirectory/requirements-dev.txt
    - run: pip test
    </tr></table> 
    

    ... (truncated)

    Commits
    • f382193 Update @​actions/cache version to 1.0.8 (#283)
    • 3ef38b8 Create ADR for integrating cache functionality to setup-python action (#247)
    • 0066b88 Add a workflow to release a new version of the action (#274)
    • 280924f Implementation of python's caching (#266)
    • 52636cf Fix consistency in README (#250)
    • ca5c590 Update version for setup-python in package.json (#264)
    • feeaa3b Add issue and pull request templates (#258)
    • 002b1e4 Change python version for pypy in workflow files (#259)
    • d12543a Merge pull request #252 from dmitry-shibanov/v-dmshib/update-dependencies
    • 4aa563b update dependencies
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • Bump ncipollo/release-action from 1.8.10 to 1.9.0

    Bump ncipollo/release-action from 1.8.10 to 1.9.0

    Bumps ncipollo/release-action from 1.8.10 to 1.9.0.

    Release notes

    Sourced from ncipollo/release-action's releases.

    v1.9.0

    Adds support for generate_release_notes.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • Bump ncipollo/release-action from 1.8.9 to 1.8.10

    Bump ncipollo/release-action from 1.8.9 to 1.8.10

    Bumps ncipollo/release-action from 1.8.9 to 1.8.10.

    Release notes

    Sourced from ncipollo/release-action's releases.

    v1.8.10

    • Update removeArtifacts logic so it runs even if you have no artifacts defined in the action.
    • Security and dependency updates.
    Commits
    • c4bf6c1 Prepare 1.8.10 release
    • 3e88dac Update build artifacts
    • 95aae1b Fixes #120 Artifacts can be removed even when new ones aren't provided
    • 821cbcc Bump typescript, fix build errors around catch blocks.
    • 4531373 Bump typescript from 4.3.5 to 4.4.3 (#125)
    • be8fb09 Bump @​types/node from 16.7.11 to 16.10.2 (#126)
    • 0d72fe9 Bump jest-circus from 27.1.0 to 27.2.4 (#124)
    • 045b513 Bump glob from 7.1.7 to 7.2.0 (#123)
    • b57e760 Bump @​actions/core from 1.5.0 to 1.6.0 (#122)
    • 62f9f43 Bump jest
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • Bump ncipollo/release-action from 1.8.8 to 1.8.9

    Bump ncipollo/release-action from 1.8.8 to 1.8.9

    Bumps ncipollo/release-action from 1.8.8 to 1.8.9.

    Release notes

    Sourced from ncipollo/release-action's releases.

    v1.8.9

    Adds the removeArtifacts input which will remove all exiting artifacts before uploading new ones.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • Bump ncipollo/release-action from 1.8.6 to 1.8.8

    Bump ncipollo/release-action from 1.8.6 to 1.8.8

    Bumps ncipollo/release-action from 1.8.6 to 1.8.8.

    Release notes

    Sourced from ncipollo/release-action's releases.

    v1.8.8

    The token input will now default to github.token if it's omitted (#104).

    v1.8.7

    • Update dependencies.
    • Add option to ignore prerelease on update (#96)
    Commits
    • 10c84d5 Prepare release 1.8.8
    • 4fd91f8 set default value for token action input (#104)
    • b60bd83 Bump @​types/node from 16.4.10 to 16.4.12 (#102)
    • 8f144e5 Reduce dependbot frequency
    • e05d100 Bump @​types/node from 16.4.1 to 16.4.10 (#100)
    • 7461bfe Add option to ignore prerelease on update (#96)
    • dee715a Bump @​types/node from 16.0.0 to 16.4.1
    • b102518 Update README.md
    • 508dab8 Bump @​types/jest from 26.0.23 to 26.0.24
    • 39a94f5 Bump @​types/glob from 7.1.3 to 7.1.4
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • Bump actions/setup-python from 1 to 2.2.2

    Bump actions/setup-python from 1 to 2.2.2

    Bumps actions/setup-python from 1 to 2.2.2.

    Release notes

    Sourced from actions/setup-python's releases.

    v2.2.2

    Address PyPy installation issues on Windows: actions/setup-python#196

    v2.2.1

    • Fix PyPy3 issues with Windows

    v2.2.0

    • Support for PyPy 3.7 in addition to the current 3.6 support
    • Support for Pre-Release distributions of PyPy
    • Support for PyPy Nighly

    v2.1.4

    • Improvements for more reliable setup on self-hosted runners

    v2.1.3

    • Updates to NPM dependencies
    • Updates to licenses

    v2.1.2

    • Add Third Party License Information

    v2.1.1

    Fix installation logic to prevent leaving files in GITHUB_WORKSPACE Related issue: actions/setup-python#101

    v2.1.0

    • Support for pre-release Python distributions

    v2.0.2

    • Improved logs & output when downloading and setting up Python versions
    • Improvements and updates to downloading Python versions from actions/python-versions

    v1.2.1

    • Updates to NPM dependencies

    v1.2.0

    • Updates to Documentation
    • Updates to Setup Output
    • NPM Package updates
    • Misc Improvements & Fixes

    v1.1.1

    No release notes provided.

    Deprecate version

    v1.0.1

    No release notes provided.

    Commits
    • dc73133 Fix PyPy installation on Windows to adopt new parameters format (#201)
    • a112144 Add on: pull_request trigger to CodeQL workflow (#180)
    • 66319ca Use quotes around Python versions in README (#175)
    • 3105fb1 fix is_windows (#172)
    • 8c5ea63 Adding support for more PyPy versions and installing them on-flight (#168)
    • 2831efe Improve find-python to add "Scripts" folder to PATH on Windows machines (#169)
    • 3b3f2de update pypy3 to point to 3.6 (#164)
    • 723e46d CODEOWNERS needs the org name for teams
    • 195f5c3 Create CODEOWNERS
    • 41b7212 Update README.md (#145)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • RequestHandlerDelegate.contentTypes and RequestHandler.links

    RequestHandlerDelegate.contentTypes and RequestHandler.links

    To provide self and alternate links the RequestHandlerDelegate.contentTypes and RequestHandler.links have been implemented because QgsServerOgcApiHandler::contentTypes and QgsServerOgcApiHandler::links are not available in Python bindings.

    enhancement 
    opened by rldhont 0
Owner
3Liz
Opensource geospatial solutions
3Liz
Construct and use map tile grids in different projection.

Morecantile +-------------+-------------+ ymax | | | | x: 0 | x: 1 | | y: 0 | y: 0

Development Seed 67 Dec 23, 2022
A light-weight, versatile XYZ tile server, built with Flask and Rasterio :earth_africa:

Terracotta is a pure Python tile server that runs as a WSGI app on a dedicated webserver or as a serverless app on AWS Lambda. It is built on a modern

DHI GRAS 531 Dec 28, 2022
🌐 Local tile server for viewing geospatial raster files with ipyleaflet

?? Local Tile Server for Geospatial Rasters Need to visualize a rather large raster (gigabytes) you have locally? This is for you. A Flask application

Bane Sullivan 192 Jan 4, 2023
🌐 Local tile server for viewing geospatial raster files with ipyleaflet or folium

?? Local Tile Server for Geospatial Rasters Need to visualize a rather large (gigabytes) raster you have locally? This is for you. A Flask application

Bane Sullivan 192 Jan 4, 2023
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 8, 2021
Replace MSFS2020's bing map to google map

English verison here 中文 免责声明 本教程提到的方法仅用于研究和学习用途。我不对使用、拓展该教程及方法所造成的任何法律责任和损失负责。 背景 微软模拟飞行2020的地景使用了Bing的卫星地图,然而卫星地图比较老旧,很多地区都是几年前的图设置直接是没有的。这种现象在全球不同地区

hesicong 272 Dec 24, 2022
Stitch image tiles into larger composite TIFs

untiler Utility to take a directory of {z}/{x}/{y}.(jpg|png) tiles, and stitch into a scenetiff (tif w/ exact merc tile bounds). Future versions will

Mapbox 38 Dec 16, 2022
Automatización de procesos geográficos con Python sobre Esri ArcGIS y QGIS.

Algoritmos y Programación GIS con Python by [email protected] Introducción Python es un potente lenguaje de programación interpretado con licencia

r.cfdtools 7 Dec 28, 2022
Mmdb-server - An open source fast API server to lookup IP addresses for their geographic location

mmdb-server mmdb-server is an open source fast API server to lookup IP addresses

Alexandre Dulaunoy 67 Nov 25, 2022
A bot that tweets info and location map for new bicycle parking added to OpenStreetMap within a GeoJSON boundary.

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

Angelo Trivisonno 1 Dec 19, 2021
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 9, 2022
Python renderer for OpenStreetMap with custom icons intended to display as many map features as possible

Map Machine project consists of Python OpenStreetMap renderer: SVG map generation, SVG and PNG tile generation, Röntgen icon set: unique CC-BY 4.0 map

Sergey Vartanov 0 Dec 18, 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
Centroids as a Service

Centroids! This application reads a valid geojson FeatureCollection and returns a valid geojson FeatureColleciton of centroids. In the output: All pro

Lyzi Diamond 20 Aug 29, 2021
A service to auto provision devices in Aruba Central based on the Geo-IP location

Location Based Provisioning Service for Aruba Central A service to auto provision devices in Aruba Central based on the Geo-IP location Geo-IP auto pr

Will Smith 3 Mar 22, 2022
Imports VZD (Latvian State Land Service) open data into postgis enabled database

Python script main.py downloads and imports Latvian addresses into PostgreSQL database. Data contains parishes, counties, cities, towns, and streets.

Kaspars Foigts 7 Oct 26, 2022
Zora is a python program that searches for GeoLocation info for given CIDR networks , with options to search with API or without API

Zora Zora is a python program that searches for GeoLocation info for given CIDR networks , with options to search with API or without API Installing a

z3r0day 1 Oct 26, 2021
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 4, 2022
Documentation and samples for ArcGIS API for Python

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

Esri 1.4k Dec 30, 2022