Ca:Node

From OpenStreetMap Wiki
Jump to navigation Jump to search


Osm element node.svg

Un node és un dels elements fonamentals del model de dades de l'OpenStreetMap. Consisteix en un punt en l'espai, i ve definit per la seva latitud, la seva longitud i el seu identificador.

La tercera dimensió (altitud) és opcional, i pot incloure's mitjançant la variable key:ele (abreviatura d'"elevació"). Un node pot definir-se també com a part d'un layer=* o level=* específic, on els elements estan a diferents altures uns respecte a altres (per exemple, sobre un pont).

Els nodes poden utilitzar-se per reflectir elements puntuals en la cartografia, però el seu ús més extès és el de punts que s'utilitzen per definir la geometria d'un element lineal (via).

Existeixen més de 2 750 000 000 nodes en el conjunt de dades global de l'OSM (a data de setembre de 2020).

Elements puntuals

Els nodes poden utilitzar-se per si sols per definir elements puntuals. En aquest cas, un node tindrà en general almenys una etiqueta que defineixi el seu propòsit. Els nodes poden tenir una o més etiquetes, o ser part d'una relació. Per exemple, una cabina telefònica pot ser etiquetada simplement com a tal (amenity=telephone), o addicionalment pot tenir la informació relativa a l'operador de telefonia corresponent (operator=*).

Nodes en vies

Vegeu també: Via

Molts nodes formen part d'una o més vies, definint la geometria d'aquestes.

Quand dues vies es creuen a la mateixa cota, ambues han de tenir un node comú (per exemple, un encreuament de carreteres). Si les carreteres o ferrocarrils creuen a diferent nivell, de manera que no estan directament connectats, no haurien de compartir un node (per exemple, quan l'encreuament es salva mitjançant un pont - bridge=*). En aquest cas, atès que creuen a diferents cotes, haurien de tenir etiquetes layer=* o level=* amb valors diferents, o bé tenir l'etiqueta location=* amb el valor 'overground' o 'underground', segons correspongui. Existeixen algunes excepcions a aquesta regla: per exemple, les carreteres sobre dics comparteixen, per definició, un node amb el curs d'aigua que creua el dic.

Determinats nodes al llarg d'una via poden tenir etiquetes. Per exemple:

Estructura

Per a més detalls sobre aquest tema, vegeu Rails port/Database schema#Nodes.
Nom Valor Descripció
id enter de 64-bit nombre
≥ 1
Els identificadors de nodes són únics per a cada node (no obstant això, una via o relació pot tenir el mateix número d'identificació que un node). Els editors poden desar temporalment els identificadors de nodes com "negatius" per indicar ids que encara no s'han desat al servidor. Els identificadors de nodes del servidor són persistents, el que significa que l'id assignat d'un node existent romandrà sense canvis cada vegada que s'agreguin o corregeixin dades. Els identificadors de nodes eliminats no han de tornar a utilitzar-se, llevat que el node anterior sigui recuperat.
lat nombre decimal
≥ −90.0000000 y ≤ 90.0000000
amb 7 espais decimals
Coordenada de latitud en graus (positiu cap al nord de l'equador) fent servir l'estàndard de projecció WGS84. Algunes aplicacions poden no acceptar latituds superiors o inferiors a ±85 graus per a algunes projeccions. No fer servir el  format de punt flotant IEEE, ja que està limitat a al voltant de 5 espais decimals. Un mètode 32-bit utilitzat pel Rails port és emprar un enter i dividir-lo per 1E7.
lon nombre decimal
≥ −180.0000000 i ≤ 180.0000000
amb 7 espais decimals
Coordenada de longitud en graus (positiu cap a l'est de Greenwich) fent servir l'estàndard de projecció WGS84. Tingues en compte que els pols geogràfics estaran exactament a la latitud ±90 graus però en el cas de la longitud, aquesta s'establirà en un valor arbitrari dins d'aquest rang.
etiquetes Un conjunt de parelles clau/valor, amb clau única Vegin-se els Elements cartogràfics del mapa per conèixer les directrius d'etiquetatge.

Exemple

<node id="25496583" lat="51.5173639" lon="-0.140043" version="1" changeset="203496" user="80n" uid="1238" visible="true" timestamp="2007-01-28T11:40:26Z">
    <tag k="highway" v="traffic_signals"/>
</node>

Casos especials