Da:Elements

From OpenStreetMap Wiki
Jump to navigation Jump to search

Elementer er de grundlæggende komponenter i OpenStreetMap's konceptuelle datamodel af den fysiske verden. Der er tre typer af elementer:

  • punkter (eng: node) (definere punkter i rum),
  • linjestrenge (eng: way) (definere lineære strukturer og afgrænser områder), og
  • relationer (definere, hvordan andre elementer arbejder sammen).

Alle ovenstående kan have en eller flere tilknyttede tags (som beskriver betydningen af et bestemt element).

Punkt node

Hovedartikel: Punkt

Et punkt repræsenterer et specifikt punkt på jordens overflade defineret af dets bredde- og længdegrad, der refererer til World Geodetic System 1984[1]. Hvert punkt består af mindst et id-nummer og et sæt koordinater.

Punkter kan bruges til at definere fritstående punktobjekter. Et punkt kan f.eks. repræsentere en bænk eller en vandbrønd.

Punkter bruges også til at definere formen på en linjestreng. Når de bruges som punkter langs linjestrenge, har punkter normalt ingen tags, selv om nogle af dem kan have det. Det gælder f.eks, highway=traffic_signals, der markerer trafiksignaler på en vej og power=tower, som repræsenterer en mast langs en højspændingsledning.

Et punkt kan indgå som medlem af en relation. Relationen kan også angive medlemmets rolle: det vil sige punktets funktion i dette særlige sæt af relaterede dataelementer.

Linjestreng way closed way area

Hovedartikel: Linjestreng

En linjestreng er en ordnet liste med mellem 1 (!) og 2.000 punkter, der definerer en  polylinje. Linjestrenge bruges til at repræsentere lineære objekter som floder og veje. way

Linjestrenge kan også repræsentere grænserne for områder (fulddækkende  polygoner) som f.eks. bygninger eller skove. I dette tilfælde vil linjestrengens første og sidste punkt være det samme. Dette kaldes en "lukket linjestreng". closed way

Bemærk, at lukkede linjestrenge nogle gange repræsenterer sløjfer, som f.eks. rundkørsler på motorveje, snarere end faste områder. Dette udledes normalt af tags på linjestrengen, for eksempel kan landuse=* aldrig vedrøre et lineært objekt. Men nogle objekter i det virkelige liv (som man_made=pier) kan have både en lineær- closed way eller område-repræsentation area, og tagget area=yes eller area=no kan bruges til at undgå tvetydighed eller fejlfortolkning.Se også her: Forskelle mellem lineær og områdemæssig repræsentation af objekter.

Områder med huller eller med grænser på mere end 2.000 punkter kan ikke repræsenteres på en simpel måde. I stedet vil objektet kræve en mere kompleks multipolygon relation datastruktur.

Relation relation

Hovedartikel: Relation

En relation er en multifunktionel datastruktur, der dokumenterer et forhold mellem to eller flere data elementer (punkter, linjestrenge, og/eller andre relationer). Eksempler på dette er:

  • En rute relation, som viser de linjestrenge, der udgør en større (nummereret) motorvej, en cykelrute eller en busrute.
  • En svingbegrænsning der siger, at man ikke kan dreje fra en linjestreng til en anden linjestreng.
  • Et multipolygon der beskriver et område (hvis grænse er den 'ydre linjestreng') med huller (den 'indre linjestreng').

Relationens betydning defineres af dens tags. En relation skal mindst have type tagget. Andre tags skal fortolkes i lyset af type-tagget.

Relationen er primært en ordnet liste af punkter, linjestrenge eller andre relationer. Disse objekter er kendt som relationens medlemmer.

Hvert element kan eventuelt have en rolle inden for relationen. For eksempel vil en svingbegrænsning have medlemmer med rollerne "fra" og "til", som beskriver det særlige sving, der er forbudt.

Afhængigt af relationstypen kan et enkelt element optræde flere gange som medlem.

Tag tag

Hovedartikel: Tag

Alle typer dataelementer (punkter, linjestrenge og relationer) samt ændringssæt kan have tags. Tags beskriver betydningen af det særlige element, som de er knyttet til.

Et tag består af to fritekstfelter; et 'key' et 'value'. Hver af disse er Unicode-strenge med op til 255 tegn. For eksempel definerer highway=residential linjestrengen som en vej, hvis vigtigste funktion er at give adgang til folks hjem. Et element kan ikke have 2 tags med samme 'key', værdien for en 'key' skal være unik. Du kan for eksempel ikke have et element, der er tagget med både amenity=restaurant og amenity=bar.

Der er ingen fast ordbog over tags, men der er mange konventioner, som er dokumenteret på denne wiki (begyndende med Kortobjekter siden). Brugen af tags kan måles med programmet Taginfo. Hvis der er mere end én måde at tagge et givent objekt på, er det nok bedst at bruge den mest almindelige tilgang.

Ikke alle elementer har tags. Punkter er ofte uden tags, hvis de er en del af linjestrenge. Både linjestrenge og punkter kan være uden tags, hvis de er medlemmer af en relation.

Almindelige egenskaber

I OSM-databasen gemmer vi disse egenskaber for punkter, linjestrenge og relationer. Din applikation behøver måske ikke at bruge dem alle, og nogle tredjepartsudtræk fra OSM-data gengiver måske ikke dem alle.

Navn Værdi Beskrivelse
id heltal (64-bit) Bruges til at identificere elementet. Elementtyper har deres eget ID-område, så der kan være en node med id=100 og en vej med id=100, som sandsynligvis ikke er relateret eller geografisk tæt på hinanden.
Positive (>0) værdier bruges til alle eksisterende elementer (og forbliver tildelt, når de ændres eller slettes); negative værdier (<0) er reserverede (deres omfang er begrænset til det aktuelle ændringssæt og gemmes aldrig i databasen) og bruges kun, når der sendes data til OSM-databasen for at identificere nye objekter, der skal oprettes og henvises til i andre oprettede eller ændrede objekter (serveren erstatter disse midlertidige identifikatorer, der sendes af redigeringsprogrammet, ved at tildele en faktisk positiv identifikator for hvert oprettet objekt og returnerer en kortlægning fra de anvendte negative identifikatorer til deres tildelte positive identifikatorer).
user tegnstreng Visningsnavnet på den bruger, der sidst har ændret objektet (kun vejledende og kan være tomt). En bruger kan til enhver tid ændre sit visningsnavn (eksisterende elementer vil afspejle det nye brugernavn uden behov for versionsændring).
uid heltal Den numeriske identifikator for den bruger, der sidst ændrede objektet. Brugeridentifikatorer ændres aldrig.
timestamp W3C standard date and time formats. Tidspunkt for sidste ændring (f.eks. »2016-12-31T23:59:59Z«), uden brøkdele af sekunder..
visible "true" or "false" Om objektet er slettet eller ej i databasen, hvis visible="false" så bør objektet kun returneres af history-kald.
version heltal Redigeringsversionen af objektet. Nyoprettede objekter starter ved version 1, og værdien øges af serveren, når en klient uploader en ny version af objektet. Serveren afviser en ny version af et objekt, hvis den version, klienten sender, ikke stemmer overens med den aktuelle version af objektet i databasen.
changeset heltal Ændringssæt-nummer, hvor objektet blev oprettet eller opdateret (understøtter 64-bit anbefales i applikationer af hensyn til den langsigtede udvikling af OSM-databasen, men applikationer, der kun forespørger på data uden at opdatere dem, kan ignorere denne informative egenskab).

Derudover gemmer vi selvfølgelig tags og også en fuld redigeringshistorik for hvert element.

Historisk

Historisk set var der en anden elementtype. Dette er:

  • segmeter (forbinder to punkter og udgør en linjestreng).

XML-advarsel og bemærkninger om nomenklatur

Hovedartikel: OSM XML

Denne dokumentation er rettet mod brugere af OSM-værktøjer på højt niveau, f.eks. editorer, og fungerer ikke som en datastandard på lavt niveau. Brugere, der leder efter en standard på lavt niveau, skal fortolke dokumentationen for at få en klar forståelse, og de skal være opmærksomme på afvigelser fra XML-standarden.

Elementer

Sættet af elementer i OSM XML, der omtales som elementer i dokumentationen, er en delmængde af de faktiske XML-elementer, der findes i dataene. dvs. udtrykket Element i XML og udtrykket Element i OSM XML er ikke synonyme.

Elementer i OSM-data er defineret som et af følgende punkt, linjestreng, og relation. XML elementer tag, nd, og member omtales ikke som elementer i OSM XML, men de er faktisk XML-elementer.

Det gør ikke dataene ugyldige på nogen måde, det er blot en semantisk tilsløring, der har sneget sig ind i dokumentationen, og som anses for at være for uvæsentlig til at rette op på.

Id'er

Brugere af XML-værktøjer skal også være opmærksomme på, at punkter, linjestrenge og relationer deler det samme objekt-id-område. Ethvert værktøj, der udelukkende henviser til et OSM-objekt ved hjælp af dets id, vil opleve udefineret adfærd (f.eks. Document.getElementById()). OSM-objekter skal altid refereres til både med deres objekt-id og deres respektive objekttype (punkt, linjestreng, relation).


Teksten på denne side, eller en del af den, er en oversættelse af den originale artikel på engelsk, kontrolleret for rev2681640.
Hvis du ændrer denne oversættelse radikalt, bør du også ændre den originale artikel (medmindre det drejer sig om specifikke lokale forhold). For at gøre dette kan du bede det internationale fællesskab om hjælp på dette website. Ortografiske, grammatiske, leksikalske eller stilistiske rettelser er velkomne.