Geography
Web-Mercator-Projektion (EPSG:3857-Slippy-Mathematik), an die Daten-Bbox angepasst; klassische OSM-Carto-Palette (Wasser #aad3df, Grün #add19e/#c8facc, Wohnbaufläche #e0dfdf, Gebäude #d9d0c9, Autobahn #e892a2, trunk #f9b29c, primary #fcd6a4, secondary #f7fabf, Wohnstraßen weiß mit casing). POIs werden nach amenity- (restaurant/cafe/bar/parking/information), tourism- (hotel/viewpoint/attraction/museum) und shop-Tags gefärbt, mit Symbolen und weiß umrandeten Beschriftungen (paint-order). LineString-Routen werden blau hervorgehoben mit geodätischen Richtungspfeilen je Segment (θ = atan2(sin Δλ·cos φ₂, cos φ₁·sin φ₂ − sin φ₁·cos φ₂·cos Δλ); Mercator ist konform, Bildschirmdrehung = Kurs − 90°). Die Maßstabsleiste ergibt sich aus Metern/Pixel auf der mittleren Breite der Bbox. Die OSM-Attribution ist in der SVG mit Link auf openstreetmap.org/copyright eingebettet (OSMF-Richtlinien: © OpenStreetMap contributors + ODbL). Nominatim: die offizielle Policy verlangt max. 1 Anfrage/s und einen identifizierenden User-Agent — das Tool begrenzt auf ≤5 Abfragen im Abstand von 1,1 s mit elysia-tools-User-Agent; Fehler werden als Warnungen angezeigt.
Rufen Sie dieses Werkzeug aus Ihrem Code in drei Sprachen auf.
curl -X POST 'http://127.0.0.1:3003/de/api/tools/openstreetmap-nominatim-geojson-static-svg-map-renderer-with-styled-poi-icons-and-route-overlay' \
-H 'Content-Type: application/json' \
-d '{"geojsonInput":"{\n \"type\": \"FeatureCollection\",\n \"features\": [\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"natural\": \"water\",\n \"name\": \"Cold River\"\n },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [\n [\n [\n -1.235,\n 52.632\n ],\n [\n -1.225,\n 52.636\n ],\n [\n -1.212,\n 52.633\n ],\n [\n -1.205,\n 52.637\n ],\n [\n -1.198,\n 52.634\n ],\n [\n -1.2,\n 52.63\n ],\n [\n -1.21,\n 52.628\n ],\n [\n -1.222,\n 52.63\n ],\n [\n -1.235,\n 52.632\n ]\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"leisure\": \"park\",\n \"name\": \"Riverside Park\"\n },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [\n [\n [\n -1.232,\n 52.646\n ],\n [\n -1.218,\n 52.649\n ],\n [\n -1.21,\n 52.644\n ],\n [\n -1.222,\n 52.641\n ],\n [\n -1.232,\n 52.646\n ]\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"landuse\": \"residential\"\n },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [\n [\n [\n -1.205,\n 52.648\n ],\n [\n -1.192,\n 52.65\n ],\n [\n -1.188,\n 52.642\n ],\n [\n -1.2,\n 52.64\n ],\n [\n -1.205,\n 52.648\n ]\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"building\": \"yes\"\n },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [\n [\n [\n -1.203,\n 52.646\n ],\n [\n -1.199,\n 52.647\n ],\n [\n -1.197,\n 52.643\n ],\n [\n -1.201,\n 52.642\n ],\n [\n -1.203,\n 52.646\n ]\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"building\": \"yes\"\n },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [\n [\n [\n -1.196,\n 52.646\n ],\n [\n -1.193,\n 52.647\n ],\n [\n -1.192,\n 52.644\n ],\n [\n -1.195,\n 52.643\n ],\n [\n -1.196,\n 52.646\n ]\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"highway\": \"motorway\"\n },\n \"geometry\": {\n \"type\": \"LineString\",\n \"coordinates\": [\n [\n -1.235,\n 52.651\n ],\n [\n -1.215,\n 52.647\n ],\n [\n -1.198,\n 52.649\n ],\n [\n -1.19,\n 52.652\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"highway\": \"residential\"\n },\n \"geometry\": {\n \"type\": \"LineString\",\n \"coordinates\": [\n [\n -1.213,\n 52.635\n ],\n [\n -1.206,\n 52.64\n ],\n [\n -1.198,\n 52.644\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"name\": \"Ridge Trail\"\n },\n \"geometry\": {\n \"type\": \"LineString\",\n \"coordinates\": [\n [\n -1.23,\n 52.65\n ],\n [\n -1.222,\n 52.648\n ],\n [\n -1.216,\n 52.644\n ],\n [\n -1.208,\n 52.645\n ],\n [\n -1.201,\n 52.648\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"amenity\": \"restaurant\",\n \"name\": \"Harbor Grill\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.21,\n 52.647\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"amenity\": \"cafe\",\n \"name\": \"Bean There\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.2,\n 52.642\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"tourism\": \"hotel\",\n \"name\": \"Lakeside Inn\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.194,\n 52.646\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"tourism\": \"viewpoint\",\n \"name\": \"Eagle Point\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.226,\n 52.648\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"amenity\": \"parking\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.216,\n 52.641\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"tourism\": \"attraction\",\n \"name\": \"Old Mill\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.205,\n 52.634\n ]\n }\n }\n ]\n}","nominatimQueries":"","svgWidth":960,"svgHeight":640,"showLabels":true,"showBearingArrows":true,"showScaleBar":true,"showGraticule":false,"writeSvgFile":false}'Senden Sie eine POST-Anfrage mit Ihren Eingaben als JSON. Dateiparameter erfordern einen vorherigen Upload.
POST http://127.0.0.1:3003/de/api/tools/openstreetmap-nominatim-geojson-static-svg-map-renderer-with-styled-poi-icons-and-route-overlay| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| geojsonInput | textarea | Ja | — |
| nominatimQueries | text | Nein | — |
| svgWidth | number | Nein | — |
| svgHeight | number | Nein | — |
| showLabels | checkbox | Nein | — |
| showBearingArrows | checkbox | Nein | — |
| showScaleBar | checkbox | Nein | — |
| showGraticule | checkbox | Nein | — |
| writeSvgFile | checkbox | Nein | — |
HTML-Ergebnis
{
"result": "<div>Processed HTML content</div>",
"error": "Error message (optional)",
"message": "Notification message (optional)",
"metadata": {
"key": "value"
}
}Fügen Sie dieses Werkzeug Ihrem Model-Context-Protocol-Server hinzu, damit KI-Agenten es auflisten und aufrufen können.
Fügen Sie diesen Block Ihrer MCP-Client-Konfiguration hinzu:
{
"mcpServers": {
"elysiatools-openstreetmap-nominatim-geojson-static-svg-map-renderer-with-styled-poi-icons-and-route-overlay": {
"name": "openstreetmap-nominatim-geojson-static-svg-map-renderer-with-styled-poi-icons-and-route-overlay",
"description": "Web-Mercator-Projektion (EPSG:3857-Slippy-Mathematik), an die Daten-Bbox angepasst; klassische OSM-Carto-Palette (Wasser #aad3df, Grün #add19e/#c8facc, Wohnbaufläche #e0dfdf, Gebäude #d9d0c9, Autobahn #e892a2, trunk #f9b29c, primary #fcd6a4, secondary #f7fabf, Wohnstraßen weiß mit casing). POIs werden nach amenity- (restaurant/cafe/bar/parking/information), tourism- (hotel/viewpoint/attraction/museum) und shop-Tags gefärbt, mit Symbolen und weiß umrandeten Beschriftungen (paint-order). LineString-Routen werden blau hervorgehoben mit geodätischen Richtungspfeilen je Segment (θ = atan2(sin Δλ·cos φ₂, cos φ₁·sin φ₂ − sin φ₁·cos φ₂·cos Δλ); Mercator ist konform, Bildschirmdrehung = Kurs − 90°). Die Maßstabsleiste ergibt sich aus Metern/Pixel auf der mittleren Breite der Bbox. Die OSM-Attribution ist in der SVG mit Link auf openstreetmap.org/copyright eingebettet (OSMF-Richtlinien: © OpenStreetMap contributors + ODbL). Nominatim: die offizielle Policy verlangt max. 1 Anfrage/s und einen identifizierenden User-Agent — das Tool begrenzt auf ≤5 Abfragen im Abstand von 1,1 s mit elysia-tools-User-Agent; Fehler werden als Warnungen angezeigt.",
"baseUrl": "http://127.0.0.1:3003/mcp/sse?toolId=openstreetmap-nominatim-geojson-static-svg-map-renderer-with-styled-poi-icons-and-route-overlay",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}Nach dem Verbinden mit dem SSE-Endpunkt listen Sie die bereitgestellten Werkzeuge auf:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Rufen Sie das Werkzeug über seine ID auf; Argumente werden aus seiner Parameterliste gebildet:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "openstreetmap-nominatim-geojson-static-svg-map-renderer-with-styled-poi-icons-and-route-overlay",
"arguments": {
"geojsonInput": "{\n \"type\": \"FeatureCollection\",\n \"features\": [\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"natural\": \"water\",\n \"name\": \"Cold River\"\n },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [\n [\n [\n -1.235,\n 52.632\n ],\n [\n -1.225,\n 52.636\n ],\n [\n -1.212,\n 52.633\n ],\n [\n -1.205,\n 52.637\n ],\n [\n -1.198,\n 52.634\n ],\n [\n -1.2,\n 52.63\n ],\n [\n -1.21,\n 52.628\n ],\n [\n -1.222,\n 52.63\n ],\n [\n -1.235,\n 52.632\n ]\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"leisure\": \"park\",\n \"name\": \"Riverside Park\"\n },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [\n [\n [\n -1.232,\n 52.646\n ],\n [\n -1.218,\n 52.649\n ],\n [\n -1.21,\n 52.644\n ],\n [\n -1.222,\n 52.641\n ],\n [\n -1.232,\n 52.646\n ]\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"landuse\": \"residential\"\n },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [\n [\n [\n -1.205,\n 52.648\n ],\n [\n -1.192,\n 52.65\n ],\n [\n -1.188,\n 52.642\n ],\n [\n -1.2,\n 52.64\n ],\n [\n -1.205,\n 52.648\n ]\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"building\": \"yes\"\n },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [\n [\n [\n -1.203,\n 52.646\n ],\n [\n -1.199,\n 52.647\n ],\n [\n -1.197,\n 52.643\n ],\n [\n -1.201,\n 52.642\n ],\n [\n -1.203,\n 52.646\n ]\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"building\": \"yes\"\n },\n \"geometry\": {\n \"type\": \"Polygon\",\n \"coordinates\": [\n [\n [\n -1.196,\n 52.646\n ],\n [\n -1.193,\n 52.647\n ],\n [\n -1.192,\n 52.644\n ],\n [\n -1.195,\n 52.643\n ],\n [\n -1.196,\n 52.646\n ]\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"highway\": \"motorway\"\n },\n \"geometry\": {\n \"type\": \"LineString\",\n \"coordinates\": [\n [\n -1.235,\n 52.651\n ],\n [\n -1.215,\n 52.647\n ],\n [\n -1.198,\n 52.649\n ],\n [\n -1.19,\n 52.652\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"highway\": \"residential\"\n },\n \"geometry\": {\n \"type\": \"LineString\",\n \"coordinates\": [\n [\n -1.213,\n 52.635\n ],\n [\n -1.206,\n 52.64\n ],\n [\n -1.198,\n 52.644\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"name\": \"Ridge Trail\"\n },\n \"geometry\": {\n \"type\": \"LineString\",\n \"coordinates\": [\n [\n -1.23,\n 52.65\n ],\n [\n -1.222,\n 52.648\n ],\n [\n -1.216,\n 52.644\n ],\n [\n -1.208,\n 52.645\n ],\n [\n -1.201,\n 52.648\n ]\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"amenity\": \"restaurant\",\n \"name\": \"Harbor Grill\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.21,\n 52.647\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"amenity\": \"cafe\",\n \"name\": \"Bean There\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.2,\n 52.642\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"tourism\": \"hotel\",\n \"name\": \"Lakeside Inn\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.194,\n 52.646\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"tourism\": \"viewpoint\",\n \"name\": \"Eagle Point\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.226,\n 52.648\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"amenity\": \"parking\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.216,\n 52.641\n ]\n }\n },\n {\n \"type\": \"Feature\",\n \"properties\": {\n \"tourism\": \"attraction\",\n \"name\": \"Old Mill\"\n },\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n -1.205,\n 52.634\n ]\n }\n }\n ]\n}",
"nominatimQueries": "",
"svgWidth": 960,
"svgHeight": 640,
"showLabels": true,
"showBearingArrows": true,
"showScaleBar": true,
"showGraticule": false,
"writeSvgFile": false
}
}
}Fragen oder Probleme? Kontakt: [email protected]