Skip to main content

test

Project description

NGR SPIDER

GitHub license GitHub release Docker Build PyPi Build

CLI (command line interface) application to retrieve list of services and datasets in a simple JSON format from nationaalgeoregister.nl (NGR), leveraging the NGR CSW service.

Users

Known users of this spider are:

Build and run

To install from source run (from the root this repo):

python3 -m pip install -e .

This should install the cli tool ngr-spider:

$ ngr-spider
usage: ngr-spider [-h] subcommand ...

Generate list of PDOK services and/or service layers

positional arguments:
  subcommand
    services  Generate list of all PDOK services
    layers    Generate list of all PDOK layers

options:
  -h, --help  show this help message and exit

Examples

  1. To generate a list of layers per service run the following:
ngr-spider layers -p 'OGC:WMS,OGC:WMTS,OGC:API features' pdok-services.json
ngr-spider services -p 'OGC:WMS,OGC:WMTS,OGC:API features' pdok-services.json

Note: you may need to install pyproj manually (pip install pyproj) on some systems.

Development

Install dev dependencies and package from source:

python3 -m pip install -e ".[dev]"  

To format code install black en run from the root of this repo:

black .

Delete unused imports with autoflake:

autoflake --remove-all-unused-imports -i -r .

Organise and order imports with isort:

isort  -m 3 .

Run mypy for type checking (from root):

mypy ngr_spider 

Sorting Rules Example

When running the layers command in flat mode (--mode flat), it is possible to sort the layers in the output by passing a path to a JSON file containing, sorting rules. See below for an example a sorting rules JSON file (use for example with: ngr-spider layers --sort sorting-rules.json -n 20 -m flat --pretty -p "OGC:WMS,OGC:WMTS" output.json):

[
  { "index": 0, "names": ["opentopo+"], "types": ["OGC:WMTS"] },
  { "index": 10, "names": ["^actueel_orthohr$"], "types": ["OGC:WMTS"] },
  { "index": 11, "names": ["^actueel_ortho25$"], "types": ["OGC:WMTS"] },
  { "index": 12, "names": ["^actueel_ortho25ir$"], "types": ["OGC:WMTS"] },
  { "index": 12, "names": ["lufolabels"], "types": ["OGC:WMTS"] },
  {
    "index": 20,
    "names": ["landgebied", "provinciegebied", "gemeentegebied"],
    "types": ["OGC:WFS"]
  },
  { "index": 30, "names": ["top+"], "types": ["OGC:WMTS"] },
  {
    "index": 32,
    "names": ["^standaard$", "^grijs$", "^pastel$", "^water$"],
    "types": ["OGC:WMTS"]
  },
  {
    "index": 34,
    "names": ["bgtstandaardv2", "bgtachtergrond"],
    "types": ["OGC:WMTS"]
  },
  { "index": 60, "names": ["ahn3+"], "types": ["OGC:WMTS"] }
]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ngr_services_spider-0.7.1.tar.gz (19.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ngr_services_spider-0.7.1-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

Details for the file ngr_services_spider-0.7.1.tar.gz.

File metadata

  • Download URL: ngr_services_spider-0.7.1.tar.gz
  • Upload date:
  • Size: 19.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for ngr_services_spider-0.7.1.tar.gz
Algorithm Hash digest
SHA256 d045034edb43f22fae81a53e666c254121ab5e8927a532f8ed2ba431bbc73e8b
MD5 67685c83bcd85e89d4f1c07279eab01c
BLAKE2b-256 6b692066649e4b64cebbc47264a54f239912335d1536bc6baf1f96f43e876fa2

See more details on using hashes here.

File details

Details for the file ngr_services_spider-0.7.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ngr_services_spider-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d80910c4319412cf86550f80eaea16c2dc0829e7972b25ecf1ffb9daa0b75be6
MD5 1a66190bdc5f235697f615a552995044
BLAKE2b-256 2ff957ed351b10a7e966bf05f391d63986200255edbd74cecc64bcea9fcdeb45

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page