El:Σχέση
Οι σχέσεις κατασκευάζονται από συλλογές αντικειμένων - κόμβων, γραμμών, και άλλων σχέσεων. Μαζί με τους κόμβους και τις γραμμές, είναι ένα από τα τρια θεμελιώδη στοιχεία του μοντέλου δεδομένων του OpenStreetMap.
Ένα στοιχείο σχέσης, πρέπει τουλάχιστον να έχει ετικέτα type=*, και μια ομάδα μελών που είναι μια ταξινομημένη λίστα ενός ή παραπάνω κόμβων, γραμμών ή/και σχέσεις. Χρησιμοποιείται για τον ορισμό λογικών ή γεωγραφικών σχέσεων μεταξύ διαφορετικών αντικειμένων (για παράδειγμα, μεταξύ μιας λίμνης και του νησιού της, ή διαφόρων οδών που δημιουργούν μια διαδρομή λεωφορείου). Ένα μέλος σχέσης μπορεί προαιρετικά να έχει ρόλο, ο οποίος περιγράφει την λειτουργία που έχει μέσα στην σχέση.
As of March 2024[update], το OpenStreetMap περιέχει πάνω από 12 εκατομμύρια σχέσεις.
Χρήση
Οι σχέσεις χρησιμοποιούνται για την απόδοση λογικών (και συνήθως τοπικών) ή γεωγραφικών σχέσεων ανάμεσα σε αντικείμενα.
Δεν έχουν σχεδιαστεί για να περιέχουν χαλαρά συνδεδεμένα αλλά διασκορπισμένα αντικείμενα. Θα ήταν ακατάλληλο, για παράδειγμα, να χρησιμοποιηθεί μια σχέση για την ομαδοποίηση «όλων των μονοπατιών της Αγγλίας». Βλέπε Οι σχέσεις δεν είναι κατηγορίες.
Οι πιο κοινές, απλές σχέσεις περιέχουν μόνο μέλη γεωμετρικών τύπων (κόμβων ή γραμμών). Οι σχέσεις μπορεί επίσης να περιέχουν άλλες (θυγατρικές) σχέσεις, και σε αυτή τη περίπτωση λέγονται ανεπίσημα «υπέρ-σχέσεις». Είναι ασυνήθιστο για μια σχέση να έχει και γεωμετρικά μέλη και θυγατρικές σχέσεις, αλλά δεν είναι απαγορευτικό.
Για να είναι χρήσιμο, ένα δέντρο σχέσεων πρέπει κάποια στιγμή να περιέχει γεωμετρικά μέλη· αλλιώς, θα ήταν ουσιαστικά αόρατο, καθώς δεν θα συνδέονταν σε οτιδήποτε στέρεο στο χάρτη. Μια άδεια σχέση επιτρέπεται να υπάρχει στην βάση δεδομένων, αλλά δεν είναι ιδιαίτερα χρήσιμη, εκτός από ενδεχομένως An empty relation is permitted to exist in the database, but it is not very useful, εκτός ίσως από μια θέση για μια μελλοντική επέκταση. Ο επεξεργαστής iD διαγράφει αυτόματα τις κενές σχέσεις που προκύπτουν από την αφαίρεση μελών, καθώς στις περισσότερες περιπτώσεις είναι ακούσιες.
Μέγεθος
Υπάρχει επίσης ένα τεχνικό όριο 32.000 στοιχέιων σε μια σχέση. Συνιστάται να μην χρησιμοποιείτε περισσότερα από περίπου 300nbsp;μέλη ανά σχέση: όσο πιο πολλά μέλη στουμπώνονται σε μια σχέση, τόσο λιγότερα διαχειρίσιμη είναι, τόσο πιο εύκολα χαλάει, τόσο πιο εύκολα προκύπτουν διενέξεις και τόσες περισσότεροι πόροι καταναλώνονται στη βάση δεδομένων και το διακομιστή. Αν πρέπει να διαχειριστείτε πάνω από αυτό τον αριθμό, κάποιοι προτείνουν την δημιουργία πολλών σχέσεων και τον συνδυασμό τους σε μία υπέρ-σχέση (μια καλή ιδέα θεωρητικά, αλλά η υποστήριξη σε λογισμικό δεν είναι καλή).
Παρόλα αυτά, η ύπαρξη μεγάλων σχέσεων είναι ορισμένες φορές αναπόφευκτη. Παραδείγματος χάριν, η σχέση συνόρου για την Ρωσία, τη μεγαλύτερη χώρα του κόσμου, έχει πάνω από 4500 γραμμές ως εξωτερικά μέλη.
Ρόλοι
Ο ρόλος είναι ενας προαιρετικό πεδίο κειμένο που περιγράφει τη λειτουργία ενός μέλους στη σχέση.
Για παράδειγμα, σε μια σχέση πολυ-πολύγωνου, ο ρόλος outer και ο ρόλος inner χρησιμοποιούνται για να προσδιοριστεί αν πρέπει μια γραμμή να σχηματίζει το εξωτερικό ή το εσωτερικό μέρος αυτού του πολυ-πολυγώνου.
Για μια σχέση υδάτινης διαδρομής ενός ποταμού (μια σχέση με όλες τα waterway=river του ποταμού και προαιρετικά των παραποτάμων του), ο ρόλος main_stream σε μια γραμμή υποδεικνύει ότι πρόκειται για το κύριο μέρος του ποταμού ενώ ο ρόλος side_stream είναι για κλάδο που ξανασυναντάται με την κύρια διαδρομή.
Παραδείγματα σχέσεων
Πολυ-πολύγωνο
Τα πολυ-πολύγωνα είναι μια από τις δύο μεθόδους για να αποδοθούν οι περιοχές στο OpenStreetMap. Ενώ οι περισσότερες περιοχές αποδίδονται με μια μοναδική κλειστή γραμμή, σχεδόν όλες τα χαρακτηριστικά με στοιχεία περιοχής, μπορούν επίσης να αποδοθούν με σχέσεις πολύ-πολυγώνων. Αυτό είναι απαραίτητο όταν η περιοχή πρέπει να αποκλείσει εσωτερικούς δακτύλιους (τρύπες), έχει πολλές εξωτερικές περιοχές (θύλακες), ή χρησιμοποιεί πάνω από ~2000 κόμβους.
Στη σχέση πολυ-πολύγωνου, οι ρόλοι outer και inner χρησιμοποιούνται για να προσδιοριστεί αν μια γραμμή-μέλος αποτελεί τμήμα της εξωτερικής ή της εσωτερικής περιμέτρου της περιοχής.
Για παράδειγμα, για μια λίμνη με νησί, θα χαρτογραφηθεί ως πολύ-πολύγωνο με 2 γραμμές, μια γραμμή (χωρίς ετικέτες) με τον ρόλο "outer" για το εξωτερικό όριο της λίμνης και μια γραμμή με τον ρόλο "inner" για το νησί (η οποία θα μπορούσε να έχει ετικέτες όπως natural=bare_rock αν το νησί είναι βραχώδες).
Γραμμή λεωφορείου
Κάθε παραλλαγή στο δρομολόγιο μιας γραμμής, αναπαριστάται από μια σχέση με type=route, route=bus και ορισμένες προτεινόμενες ετικέτες όπως name=*, ref=*, from=*, to=* και operator=*.
Τα πρώτα μέλη μιας σχέσης διαδρομής είναι οι κόμβοι που αντιπροσωπεύουν τις στάσεις με τον ρόλο 'stop'. Αυτές ταξινομούνται με τη σειρά που ταξιδεύει μέσω αυτών το όχημα. Μετά προστίθενται οι γραμμές που θα σχηματίσουν μια ταξινομημένη σειρά μαζί με τους κόμβους στάσης. Οι γραμμές δεν έχουν ρόλους.
Άλλα παραδείγματα
- Σχέση ορίου για τον ορισμό διαφόρων ορίων (διοικητικών, προστατευόμενων περιοχών κ.ο.κ)
- Σχέση περιορισμού για την περιγραφή περιορισμών όπως «απαγορέυεται η δεξιά στροφή», «απαγόρευση αναστροφής» κτλπ.
- Δείτε τους τύπους σχέσεων και την Category:El:Σχέσεις για περισσότερα
Εργαλεία
- iD: [1]
- JOSM/Advanced_editing#Relations: για εργασία με σχέσεις στο JOSM
- Potlatch 2/relations: για εργασία με σχέσεις στο Potlatch
- Απεικόνιση μιας σχέσης: Example id=11
- Απεικόνιση ιστορικού μιας σχέσης: Example id=11
- Απόδοση μιας σχέσης: Example id=11
- Αναλυντής Σχέσεων (ra.osmsurround.org) - για την ανάλυση μιας σχέσης (π.χ. να φανούν κενά σε σχέσεις διαδρομών) ή να αναζητήσετε μια σχέση βάσει ονόματος, τύπου, διαχειριστή...
- Mapki's Deep Diff - για την ανάλυση: π.χ. προβολή αλλαγών ρόλων συγκεκριμένων μελών, προβολή τροποποιήσεων της λίστας μελών μέσω προβολής ιστορικού του αντικειμένου για κάθε έκδοση του αντικειμένου
- Relation Diff - για την σύγκριση σχέσεων
- Δημιουργία αρχείου gpx από μια σχέση - για παράδειγμα, για να κάνετε εικόνα την σχέση στον χάρτη
- Rel2gpx - για φιλτράρισμα γραμμών μιας σχέσης
- Επιθεωρητής OSM (Geofabrik) - σφάλματα σχέσεων γραμμών PTv2 σε γραμμές - για τον έλεγχο κενών και ασυμφωνιών λίστας μελών σε σχέσεις PTv2
Δρομολόγηση σε σχέσεις
Τα OSRM και Valhalla μπορούν να χρησιμοποιήσουν ορισμένες σχέσεις διαδρομών για να επηρεάσουν τις οδηγίες καθοδήγησης όταν μια διαδρομή φαίνεται να αναπαριστά και τις δύο κατευθύνσεις.
Για παράδειγμα, ορισμένοι δρομολογητές ποδηλασίας προτιμούν να δρομολογούν σε δρόμους με υπάρχουσα ποδηλατική διαδρομή (ως δείκτης ποδηλατικής χρησιμότητας). Μια εφαορμογή μπορεί να ακολουθεί μια σχέση διαδρομής pilgrimage=* ή, γενικότερα, να προσπαθεί να δρομολογεί στον μικρότερα δυνατό αριθμό αριθμημένων οδικών διαδρομών.
OSM XML
- Κύριο άρθρο: El:OSM XML
<relation id="13092746" visible="true" version="7" changeset="118825758" timestamp="2022-03-23T15:05:48Z" user="" uid="">
<member type="node" ref="5690770815" role="stop"/>
<member type="node" ref="5751940550" role="stop"/>
...
<member type="node" ref="1764649495" role="stop"/>
<member type="way" ref="96562914" role=""/>
...
<member type="way" ref="928474550" role=""/>
<tag k="from" v="Encre"/>
<tag k="name" v="9-Montagnes de Guyane"/>
<tag k="network" v="Agglo'bus"/>
<tag k="not:network:wikidata" v="Q3537943"/>
<tag k="operator" v="CACL"/>
<tag k="ref" v="9"/>
<tag k="route" v="bus"/>
<tag k="source" v="https://www.cacl-guyane.fr/wp-content/uploads/2021/01/PLAN-RESEAU-URBAIN-AGGLO-BUS-1.pdf"/>
<tag k="to" v="Lycée Balata"/>
<tag k="type" v="route"/>
<tag k="website" v="https://www.cacl-guyane.fr/lagglo-au-quotidien/se-deplacer/transport-urbain-2/"/>
</relation>
Δείτε επίσης
|