Add Amsterdam traffic and ANPR camera positions to the Data Library

The City of Amsterdam's verkeersinformatiesystemen register lists where
its ~500 traffic and ANPR cameras stand, with type and asset number, but
publishes no pictures. That fits a Data Library dataset better than a
CCTV pack: the register answers GeoJSON in WGS84 with CORS headers, so
the entry fetches it browser-direct with no proxy code.

The register names no licence ("public unless stated otherwise"), so the
entry stays operator opt-in, as #251 had it. The dataset and the
position-only camera idea come from @Maher-Reven's #251, which this
replaces; the entry lists them as maintainer and in its attribution.

Co-authored-by: Maher Kurdi <[email protected]>
This commit is contained in:
Said TurkseverandMaher Kurdi committed 2026-11-07 18:24:01 +00:00
1 parent a3f3d8c585
commit dae423f7e2
6 files changed
+48 -2

No files matched your search

+1
View File
@@ -218,6 +218,7 @@ Each Data Library entry is a manifest in `src/library/entries/` pointing at a li
| Entry | How it is served | Licence / terms | Attribution |
| --- | --- | --- | --- |
| **Alaska Statewide Imagery (2023)** (`ak-statewide-imagery`, `apps.geo.fpac.usda.gov`) | tiles, bbox, browser-direct | [Public Domain (U.S. Government work)](https://www.usgs.gov/information-policies-and-instructions/copyrights-and-credits) | "USDA / Alaska Geospatial Council" |
| **Amsterdam traffic and ANPR camera positions** (`amsterdam-traffic-cameras`, `api.data.amsterdam.nl`) | dataset, geojson, browser-direct; operator adds `amsterdam-traffic-cameras` to `GEV_LIBRARY_ENABLE` | [Gemeente Amsterdam open data: public unless stated otherwise; no named licence](https://schemas.data.amsterdam.nl/datasets/verkeersinformatiesystemen/dataset) | "Gemeente Amsterdam, verkeersinformatiesystemen register (entry contributed by @Maher-Reven)" |
| **Arkansas Statewide Imagery (2023)** (`ar-statewide-imagery`, `gis.arkansas.gov`) | tiles, bbox, browser-direct | [Public domain — Arkansas GIS Office open data](https://gis.arkansas.gov/) | "Arkansas GIS Office" |
| **Arizona Statewide Imagery (2017)** (`az-statewide-imagery`, `azgeo.az.gov`) | tiles, xyz, browser-direct; operator adds `az-statewide-imagery` to `GEV_LIBRARY_ENABLE` | [Open state geodata — attribution requested](https://azgeo.az.gov/) | "AZGEO" |
| **Bangor, Maine Orthoimagery** (`bangor-me`, `tiles.arcgis.com`) | tiles, xyz, browser-direct; operator adds `bangor-me` to `GEV_LIBRARY_ENABLE` | [Local government open data — see publisher terms](https://www.bangormaine.gov/) | "City of Bangor GIS" |
+3 -1
View File
@@ -8,7 +8,9 @@
generic `/api/library` proxy serves entries without CORS. Seeded with NASA
EONET events, EIA and WRI power plants, NWS alerts, NOAA tide stations,
Smithsonian volcanoes, NASA Black Marble, OpenSeaMap seamarks, and the
opt-in IMF PortWatch and CCTV packs. FEMA USA Structures and the
opt-in IMF PortWatch and CCTV packs, plus the City of Amsterdam's
traffic and ANPR camera positions (opt-in; contributed by @Maher-Reven in
#251). FEMA USA Structures and the
National Bridge Inventory load what is in view once you zoom in, and
Addresscloud's EPC ratings stream from Source Cooperative's GeoParquet on
S3, coloured A–G with live legend counts. Open tile overlays (geology,
+1
View File
@@ -3213,6 +3213,7 @@
"src/library/selection.js",
"src/library/ledger.json",
"src/library/entries/ak-statewide-imagery.json",
"src/library/entries/amsterdam-traffic-cameras.json",
"src/library/entries/ar-statewide-imagery.json",
"src/library/entries/az-statewide-imagery.json",
"src/library/entries/bangor-me.json",
+2
View File
@@ -12,6 +12,7 @@ import ledgerRows from './ledger.json' with { type: 'json' };
import akStatewideImagery from './entries/ak-statewide-imagery.json' with { type: 'json' };
import arStatewideImagery from './entries/ar-statewide-imagery.json' with { type: 'json' };
import azStatewideImagery from './entries/az-statewide-imagery.json' with { type: 'json' };
import amsterdamTrafficCameras from './entries/amsterdam-traffic-cameras.json' with { type: 'json' };
import bangorMe from './entries/bangor-me.json' with { type: 'json' };
import basemapAtOrthofoto from './entries/basemap-at-orthofoto.json' with { type: 'json' };
import bayernDop40 from './entries/bayern-dop40.json' with { type: 'json' };
@@ -119,6 +120,7 @@ import wvStatewideImagery from './entries/wv-statewide-imagery.json' with { type
/** Raw manifests in file-name order; the validated form is below. */
export const LIBRARY_MANIFESTS = Object.freeze([
akStatewideImagery,
amsterdamTrafficCameras,
arStatewideImagery,
azStatewideImagery,
bangorMe,
@@ -0,0 +1,39 @@
{
"id": "amsterdam-traffic-cameras",
"kind": "dataset",
"family": "cameras",
"title": "Amsterdam traffic and ANPR camera positions",
"provider": "Gemeente Amsterdam",
"description": "Where the City of Amsterdam's traffic and ANPR cameras stand (about 500), from its traffic information systems register. Positions and camera type only: the city publishes no pictures.",
"icon": "◉",
"maintainer": "github:Maher-Reven",
"coverage": { "countries": ["NL"], "bbox": [4.72, 52.27, 5.08, 52.44] },
"source": {
"format": "geojson",
"url": "https://api.data.amsterdam.nl/v1/verkeersinformatiesystemen/verkeersinformatiesystemen/",
"query": {
"objectSoort": "Camera",
"_format": "geojson",
"_pageSize": "1000"
},
"fetch": "browser-direct",
"cacheSeconds": 86400,
"maxFeatures": 1000
},
"display": {
"color": "#e53e3e",
"label": "standplaats",
"fields": ["typeGedetailleerd", "objectnummer"]
},
"licence": {
"name": "Gemeente Amsterdam open data: public unless stated otherwise; no named licence",
"url": "https://schemas.data.amsterdam.nl/datasets/verkeersinformatiesystemen/dataset",
"operatorOptIn": true
},
"attribution": {
"text": "Gemeente Amsterdam, verkeersinformatiesystemen register (entry contributed by @Maher-Reven)",
"url": "https://api.data.amsterdam.nl/v1/docs/"
},
"status": "community",
"reviewed": "2026-11-07"
}
+2 -1
View File
@@ -101,5 +101,6 @@
["kartverket-topo-grey", "2r"],
["kartverket-topo", "2s"],
["kartverket-toporaster", "2t"],
["mapterhorn-terrain", "2u"]
["mapterhorn-terrain", "2u"],
["amsterdam-traffic-cameras", "2v"]
]