KatKatKateryna 2019d106ad Update README.md
2024-08-28 03:36:24 +08:00
2024-07-03 11:50:29 -04:00
2024-08-27 17:17:15 +01:00
2024-08-27 19:59:29 +08:00
2024-08-27 19:59:29 +08:00
2024-01-04 07:22:44 -05:00
2024-08-14 10:29:10 +08:00
2023-09-09 08:28:41 -04:00
2024-08-27 19:59:29 +08:00
2024-08-27 13:11:56 +01:00
2024-01-01 08:34:50 -05:00
2024-08-28 03:36:24 +08:00
2024-01-03 10:45:07 -05:00
2021-09-21 06:34:29 -04:00

pygeoapi

DOI Build Docker Vulnerabilities

pygeoapi is a Python server implementation of the OGC API suite of standards. The project emerged as part of the next generation OGC API efforts in 2018 and provides the capability for organizations to deploy a RESTful OGC API endpoint using OpenAPI, GeoJSON, and HTML. pygeoapi is open source and released under an MIT license.

Please read the docs at https://docs.pygeoapi.io for more information.

Speckle implementation of pygeoapi

How to use Speckle data through OGC API Features

This is the test deployment of the OGC API server for public Speckle projects. It allows you to share your Speckle model as geospatial data in the format of OGC API Features / Web Feature Service, so it can be natively added to a QGIS, ArcGIS or Civil3D project, or embedded into a web map using Leaflet, OpenLayers or other libraries.

Demo page: https://geo.speckle.systems/

How to construct a valid URL to get georeferenced Speckle layer

URL should start with 'https://geo.speckle.systems/?' followed by required and optional parameters. Parameters should be separated with '&' symbol. You can use the generated link to access OGC API dataset in your preferred software, as well as explore the data in the browser and share with others.

Use the following URL parameters to construct a link that provides Speckle data with your preferred settings::

  • speckleUrl (text), required, should contain path to a specific Model in Speckle Project, e.g. 'https://app.speckle.systems/projects/55a29f3e9d/models/2d497a381d'
  • dataType (text), optional, choose from: points, lines, polygons or projectcomments
  • limit (positive integer), recommended, as some applications might apply their custom feature limit
  • preserveAttributes (string), optional, choose from: true, false. If not set, meshes will be split into separate polygons for better display quality.
  • crsAuthid (text), an authority string e.g. 'epsg:4326'. If set, LAT, LON and NORTHDEGREES arguments will be ignored.
  • lat (number), in range -90 to 90
  • lon (number), in range -180 to 180
  • northDegrees (number), in range -180 to 180 If GIS-originated Speckle model is loaded, no location arguments are needed.

Example: https://geo.speckle.systems/?speckleUrl=https://app.speckle.systems/projects/64753f52b7/models/338b386787&lat=-0.031405&lon=109.335828

Add Speckle Feature Layer to a web-based map

Check out the examples in 'speckle_demos' folder for Leaflet and OpenLayers implementation.

Add Speckle WFS layer in QGIS

  1. Add new WFS Layer

image

  1. Create New connection, specify the name and URL with mandatory "speckleUrl" parameter pointing to the Speckle Model. Preferably add the URL parameter with the custom feature limit (e.g. '&limit=10000'). Then click Detect, and the WFS Version should display "OGC API Features". Click OK.

image

  1. Connect, select the dataset "Speckle data" and click "Add".

image

  1. Loading of the data might take a minute, then you will be able to Zoom to layer and check the Attribute table. Done!

image

Add Speckle OGC API layer in ArcGIS

  1. Add new OGC API Connection

image

  1. Add URL, preferably add the URL parameter with the custom feature limit (e.g. '&limit=10000')

image

  1. Find Speckle Pygeoapi server in Catalog, add SpeckleData layer to Map

image

Add Speckle WFS layer in Civil3D

TODO

Local dev

First launch:

python -m venv pygeoapi_venv
cd pygeoapi_venv
Scripts\activate
cd pygeoapi
git clone https://github.com/specklesystems/pygeoapi
git checkout dev
pip install --upgrade pip
pip install -r requirements.txt
python -m pip install --upgrade specklepy==2.19.6
python -m pip install pydantic==1.10.17
python pygeoapi\provider\speckle_utils\patch\patch_specklepy.py
python setup.py install
set PYGEOAPI_CONFIG=example-config.yml // export
set PYGEOAPI_OPENAPI=example-config.yml // export
set MAPTILER_KEY_LOCAL=your_api_key // export, (if available)
pygeoapi openapi generate $PYGEOAPI_CONFIG > $PYGEOAPI_OPENAPI
pygeoapi serve

Repeated launch:

cd pygeoapi_venv
Scripts\activate
cd pygeoapi
python -m pip install --upgrade specklepy==2.19.6
python -m pip install pydantic==1.10.17
python pygeoapi\provider\speckle_utils\patch\patch_specklepy.py
python setup.py install
set PYGEOAPI_CONFIG=example-config.yml
set PYGEOAPI_OPENAPI=example-config.yml
set MAPTILER_KEY_LOCAL=your_api_key
pygeoapi openapi generate $PYGEOAPI_CONFIG > $PYGEOAPI_OPENAPI
pygeoapi serve

S
Description
pygeoapi is a Python server implementation of the OGC API suite of standards. The project emerged as part of the next generation OGC API efforts in 2018 and provides the capability for organizations to deploy a RESTful OGC API endpoint using OpenAPI, GeoJSON, and HTML. pygeoapi is open source and released under an MIT license.
Readme 50 MiB
Languages
nesC 76.3%
Python 22.3%
HTML 1.3%