@htag/node-red-contrib-hypertegrity-pointofinterest 0.3.2

Hypertegrity NodeRED Point of Interest Nodes.

npm install @htag/node-red-contrib-hypertegrity-pointofinterest

Hypertegrity Node-RED Point of Interest Nodes

A collection of Node-RED nodes for searching and filtering geospatial points of interest.


📝 Introduction

This package provides nodes for retrieving PoI data from various sources like OpenStreetMap.


Included Nodes

Node Description
osm-overpass Runs queries against the OpenStreetMap Overpass API to retrieve map features and administrative boundaries
datahub-rlp Downloads contents from the Datahub Rheinland-Pfalz (dataCycle API v4) via access token and data endpoint, collects all pages and resolves linked data into a flat structure

Configuration by message

Every node accepts an optional msg.config object on its input. Its properties use the same names as the node settings in the editor and override them for this message only; the stored configuration stays unchanged. Existing message properties of earlier versions (msg.endpointId, msg.language, msg.filter of datahub-rlp) keep working, msg.config takes precedence. Invalid values raise an error that can be handled with a Catch node. The help text of each node lists the supported properties.

msg.config = { areaType: "radius", radiusLat: 49.99, radiusLon: 8.27, radiusMeters: 2000, tags: [{ key: "amenity", value: "cafe" }] };

Security notes

The editor helper endpoints of all nodes require the <node type>.read permission when adminAuth is enabled. URLs entered in the editor are only fetched if they are http(s) URLs of public hosts (checked again for the address actually connected to); a stored access token is only sent to the base URL of the deployed node, and requests carrying an access token follow redirects only within the same origin. Internal hosts can be allowed in settings.js. osm-overpass sends its queries to the public Overpass servers or, if set, only to the API base URL of the node (msg.config.baseUrl changes it for one message, so take msg.config only from trusted sources). A contact address for the User-Agent sent to the public OpenStreetMap services can be configured there as well:

hypertegrity: { allowedHosts: ["datahub.example.internal"], contact: "mailto:[email protected]" }

Notes on upgrading to 0.3.2

  • osm-overpass: OSM tags whose name collides with an output field no longer overwrite it. type always stays OsmFeature and location always is the geometry; the tags appear as tag_type, tag_location etc. Relations that osmtogeojson cannot convert (for example type=site or public_transport=stop_area) are now included as points. Queries with a syntax error are no longer retried. The Overpass instance overpass.osm.ch is no longer used as fallback: it only holds data for Switzerland and answered queries elsewhere with an empty result whenever overpass-api.de was unavailable.
  • datahub-rlp: after changing the base URL in the dialog, the access token has to be entered again for the connection test.
  • datahub-rlp: the stored access token is only sent to the configured base URL. A msg.config.baseUrl with another origin (scheme, host, port) needs msg.config.token as well, otherwise the message raises an error and no request is sent.
  • datahub-rlp: msg.config is checked strictly: collapseSingleArrays and resolveKnownLinks accept only true/false (also as string), the numeric options only numbers or numeric strings. Other values (e.g. "yes", 1, true, null, [5], "0x10") raise an error instead of being interpreted silently.
  • datahub-rlp: requests (at runtime and in the editor's connection test) follow redirects only within the origin of the base URL. A redirect to another origin (scheme, host, port) is treated as a failed request (usual retries, then an error), so the access token is never sent to another host. Attributes of the Datahub data named __proto__, constructor or prototype are skipped in the flat output.
  • osm-overpass: OSM tags named __proto__, constructor or prototype appear as tag_<name>; keys of the Overpass answer that could modify object prototypes are ignored. Every output message contains its own entity objects (objects matching several tags are no longer shared between messages).
  • osm-overpass: location of multipolygon relations is the centre of the bounding box of all parts (before: of the first part only). Route and other line relations (MultiLineString) now get a point as location as well (before: the line geometry); in "Split" mode the line stays in location_polygon.
  • osm-overpass: the OSM tag id now appears as tag_id (before it was lost) and can be used as query tag. If several tags of an object result in the same field name (e.g. name:de and name_de), the field keeps the value of the first tag and the others get the suffix _2, _3 … (before: the later tag silently overwrote the field); the node warns once per message.
  • osm-overpass: duplicate tag rows count once and rows without key are ignored (no duplicate objects in a message, no extra message with an empty topic). In area mode at least one area needs a searchId, otherwise the message raises an error and no request is sent. Coordinates and radius must be numbers or purely numeric strings ("0x7" or "7.7abc" raise an error) and are written to the query in normalised form; a numeric 0 in an imported flow is a valid coordinate.
  • osm-overpass: the public server overpass.openstreetmap.fr was removed from the built-in list (it only serves white-listed users and answers HTTP 403); the node now uses overpass-api.de with overpass.kumi.systems as fallback. The new setting API base URL (empty: these public servers) points the node to one Overpass instance of your own or to a test mock, without fallback; msg.config.baseUrl changes it for one message.
  • datahub-rlp: with the per-page output msg.datahub additionally contains pagesFetched and truncated (only the last message of a sequence can be truncated). An empty msg.config.separator falls back to "." like in the editor. The attribute discovery ignores generic schema.org base types (Thing, CreativeWork, MediaObject, Intangible, StructuredValue) when flagging recursive links, so relations that were flagged only because of these types are offered (and selected by "Select all") again. Error objects of the API (errors: [{ detail }]) appear with their text in error messages, and the page-limit warning omits the total if the API reports none.
  • datahub-rlp: contents the Datahub delivers repeatedly and identically (e.g. an event series with all of its events, delivered again with every event via superEvent.subEvent) are kept in memory only once; the output is unchanged. With 12 pages of such events the memory held for the raw data fell from about 180 MB to 13 MB, which previously crashed Node-RED instances with a heap of about 256 MB. msg.datahub.resolvedReferences counts references inside such repeated contents only once and can therefore be lower than before. If more than 85 % of the Node-RED heap is in use, a run is aborted with an error (code EHEAPLIMIT, can be handled with a Catch node) instead of crashing the whole Node-RED process.

Installation

Install via the Node-RED Palette Manager or using npm:

npm install @htag/node-red-contrib-hypertegrity-pointofinterest

🌍 About the Project / Über das Projekt

📍 Über dieses Projekt / About this Project

DE: Dieses Open Source Projekt ist im Rahmen der Förderung Modellprojekte Smart Cities entstanden und wurde durch die Initiative des Projekts Südwestcluster ermöglicht.

EN: This open source project was created as part of the Smart City Pilot Projects (Modellprojekte Smart Cities) funding and was made possible by the initiative of the Südwestcluster project.

💡 Hintergrund / Background

DE: Die Entwicklung wurde durch öffentliche Gelder im Kontext der Förderung Modellprojekte Smart Cities unterstützt. Dadurch können wir diese Lösung der gesamten Community als Open Source zur Verfügung stellen.

EN: The development was supported by public funds in the context of the Smart City Pilot Projects (Modellprojekte Smart Cities) funding. This allows us to make this solution available to the entire community as open source.

🌐 Open Source Philosophie / Open Source Philosophy

DE: Wir unterstützen aktiv die OSS-Community und fördern kollaborative Entwicklung. Durch die Veröffentlichung als Open Source profitieren alle Beteiligten:

  • Community: Freier Zugang zu moderner Smart City Technologie
  • Transparenz: Nachvollziehbare und überprüfbare Lösungen
  • Innovation: Gemeinsame Weiterentwicklung durch verschiedene Akteure
  • Nachhaltigkeit: Langfristige Verfügbarkeit und Wartbarkeit

EN: We actively support the OSS community and promote collaborative development. Releasing it as open source benefits everyone involved:

  • Community: Free access to modern Smart City technology
  • Transparency: Traceable and verifiable solutions
  • Innovation: Collaborative development by various actors
  • Sustainability: Long-term availability and maintainability

🙏 Danksagung / Acknowledgements

DE: Ein besonderer Dank gilt der Förderung Modellprojekte Smart Cities für die finanzielle Unterstützung sowie dem Projekt Südwestcluster für die Initiative und Koordination:

  • Eifelkreis Bitburg-Prüm
  • Stadt Kaiserslautern
  • Landkreis Kusel
  • Stadt und Verbandsgemeinde Linz am Rhein
  • Landkreis Mayen-Koblenz
  • Landkreis St. Wendel

EN: Special thanks goes to the Smart City Pilot Projects (Modellprojekte Smart Cities) funding for financial support and the Südwestcluster project for the initiative and coordination:

  • Eifelkreis Bitburg-Prüm
  • City of Kaiserslautern
  • District of Kusel
  • City and Collective Municipality of Linz am Rhein
  • District of Mayen-Koblenz
  • District of St. Wendel

📜 License & Contact / Lizenz & Kontakt

© 2026 HYPERTEGRITY AG. Alle Rechte vorbehalten. / All rights reserved.

⚖️ License Compatibility / Lizenz-Kompatibilität

DE: Details zur Lizenzierung und zu den Nutzungsrechten finden Sie in der beigefügten LICENSE Datei.

EN: Details on licensing and usage rights can be found in the attached LICENSE file.

📧 Contact / Kontakt: [email protected] 🌐 Website: www.hypertegrity.de

Node Info

Version: 0.3.2
Updated 1 week, 1 day ago
License: EUPL-1.2
Rating: 5.0 1

Categories

Actions

Rate:

Downloads

9 in the last week

Nodes

  • osm-overpass
  • datahub-rlp

Keywords

  • node-red
  • poi
  • point of interest
  • osm
  • overpass
  • openstreetmap
  • datahub
  • datahub-rlp
  • datacycle
  • rheinland-pfalz
  • tourism
  • hypertegrity