Πώς να αντιστοιχίσετε μια γεωγραφικού πλάτους / μήκους σε μια διαστρεβλωμένη χάρτη;

ψήφοι
22

Έχω μια δέσμη των ζευγών γεωγραφικού πλάτους / μήκους που αντιστοιχούν σε γνωστές x / y συντεταγμένες σε ένα (γεωγραφικά παραμορφωμένη) χάρτη.

Στη συνέχεια, έχω ένα ζεύγος περισσότερα γεωγραφικό πλάτος / γεωγραφικό μήκος. Θέλω να το σχεδιάσετε στο χάρτη όσο καλύτερα είναι δυνατόν. Πώς μπορώ να το κάνουμε αυτό;

Στην αρχή αποφάσισε να δημιουργήσει ένα σύστημα γραμμικών εξισώσεων για τα τρία πλησιέστερο γεωγραφικό πλάτος / μήκος σημεία και να υπολογίζουν μια μετατροπή από αυτά, αλλά αυτό δεν λειτουργεί καθόλου καλά. Δεδομένου ότι αυτό είναι ένα γραμμικό σύστημα, δεν μπορώ να χρησιμοποιήσω πιο κοντινά σημεία, είτε.

Μπορείτε δεν μπορεί να αναλάβει ο βορράς είναι πάνω: το μόνο που έχετε είναι οι υπάρχουσες lat / μακράς> x / y αντιστοιχίσεις.

EDIT: δεν είναι μια προβολή Mercator, ή κάτι τέτοιο. Είναι αυθαίρετα παραμορφωμένη για την αναγνωσιμότητα (σκεφτείτε χάρτη του μετρό). Θέλω να χρησιμοποιήσω μόνο το πλησιέστερο 5 έως 10 αντιστοιχίσεις, ώστε στρεβλώσεις σε άλλα μέρη του χάρτη δεν επηρεάζει τη χαρτογράφηση Προσπαθώ να υπολογιστεί.

Επιπλέον, το σύνολο του χάρτη είναι σε μια πολύ μικρή γεωγραφική περιοχή οπότε δεν υπάρχει λόγος να ανησυχείτε για τον κόσμο - παραδοχές επίπεδη γη είναι αρκετά καλό.

Δημοσιεύθηκε 05/08/2008 στις 05:55
πηγή χρήστη
Σε άλλες γλώσσες...                            


4 απαντήσεις

ψήφοι
8

Υπάρχουν πιο συγκεκριμένες λεπτομέρειες σχετικά με το είδος της στρέβλωσης εκεί; Αν, για παράδειγμα, γεωγραφικά πλάτη και μήκη σας «παραμορφωμένη» σε 2D χάρτη σας χρησιμοποιώντας μια προβολή Mercator, τα μαθηματικά μετατροπής είναι άμεσα διαθέσιμα .

Αν ο χάρτης είναι παραμορφωμένη πραγματικά αυθαίρετα, υπάρχουν πολλά πράγματα που μπορείτε να δοκιμάσετε, αλλά το πιο απλό θα ήταν πιθανώς να υπολογίσει ένα σταθμισμένο μέσο όρο από τις υπάρχουσες αντιστοιχίσεις σημείο σας. Τα βάρη σας θα μπορούσε να είναι το τετράγωνο αντίστροφο της απόστασης x / y από το νέο σημείο σας σε κάθε ένα από τα υπάρχοντα σημεία σας.

Μερικά ψευδοκώδικα:

estimate-latitude-longitude (x, y)

    numerator-latitude := 0
    numerator-longitude := 0
    denominator := 0

    for each point,
        deltaX := x - point.x
        deltaY := y - point.y
        distSq := deltaX * deltaX + deltaY * deltaY
        weight := 1 / distSq

        numerator-latitude += weight * point.latitude
        numerator-longitude += weight * point.longitude
        denominator += weight

    return (numerator-latitude / denominator, numerator-longitude / denominator)

Αυτός ο κωδικός θα δώσει μια σχετικά απλή προσέγγιση. Αν μπορείτε να είστε πιο ακριβείς για τον τρόπο που η προβολή στρεβλώνει τις γεωγραφικές συντεταγμένες, μπορείτε πιθανώς να κάνει πολύ καλύτερα.

Απαντήθηκε 05/08/2008 στις 06:48
πηγή χρήστη

ψήφοι
2

Καλώς. Από θεωρητική άποψη, δεδομένου ότι η παραμόρφωση είναι «αυθαίρετη», και κάθε λύση απαιτεί από εσάς να διαμορφώσει αυτό το αυθαίρετο παραμόρφωση, που προφανώς δεν μπορείτε να πάρετε μια «απάντηση». Ωστόσο, οποιαδήποτε λύση θα περιλαμβάνει την επιβολή (συνήθως έμμεσα) κάποια μοντέλο της στρέβλωσης που μπορεί ή δεν μπορεί να αντανακλά την πραγματικότητα της κατάστασης.

Από τη στιγμή που φαίνεται να ενδιαφέρονται περισσότερο για τα μοντέλα που θεωρούν ένα είδος τοπικής συνέχειας της χαρτογράφησης παραμόρφωση, η πιο προφανής επιλογή είναι αυτή που έχετε ήδη δοκιμάσει: γραμμική interpolaton μεταξύ των πλησιέστερων σημείων. Πηγαίνοντας πέρα ​​από αυτό θα απαιτήσει πιο εξελιγμένες μαθηματικές και αριθμητικές γνώσεις ανάλυση.

Είστε λανθασμένη, ωστόσο, στο τεκμήριο δεν μπορεί να επεκταθεί αυτό σε περισσότερα σημεία. Μπορείτε χρησιμοποιώντας ένα λιγότερο τετράγωνο προσέγγιση σφάλμα. Βρείτε τη γραμμική απάντηση που ελαχιστοποιεί το σφάλμα των άλλων σημείων. Αυτή είναι ίσως η πιο ευθεία προς τα εμπρός επέκταση. Με άλλα λόγια, να λάβει τα 5 πλησιέστερα σημεία και να προσπαθήσουμε να καταλήξουμε σε μια γραμμική προσέγγιση που ελαχιστοποιεί το σφάλμα από αυτά τα σημεία. Και να τις χρησιμοποιούν. Θα προσπαθήσουμε αυτό το επόμενο.

Εάν αυτό δεν λειτουργήσει, τότε η υπόθεση της γραμμικότητας πάνω από την περιοχή των Ν σημείων είναι σπασμένο. Σε αυτό το σημείο θα πρέπει να αναβαθμίσετε είτε σε τετραγωνική ή κυβική μοντέλο. Τα μαθηματικά πρόκειται να πάρει ταραχώδες σε εκείνο το σημείο.

Απαντήθηκε 05/08/2008 στις 16:47
πηγή χρήστη

ψήφοι
0

Ummm. Ίσως είμαι λείπει κάτι για το θέμα εδώ, αλλά αν έχετε μακριά / LAT πληροφορίες, μπορείτε επίσης να έχουν την κατεύθυνση του Βορρά;

Φαίνεται ότι θα πρέπει να χαρτογραφήσει γεωδαιτικών συντεταγμένων σε ένα προβλεπόμενο σύστημα συντεταγμένων. Για παράδειγμα osgb σε WGS84.

Τα μαθηματικά που εμπλέκονται είναι μη τετριμμένη, αλλά ο κωδικός βγαίνει ένα μόνο λίγες γραμμές. Αν είχα περισσότερο χρόνο είχα δημοσιεύσει περισσότερες, αλλά χρειάζομαι ένα ντους γι 'αυτό θα είναι βαρετή και σύνδεση με την wikipedia εισόδου, η οποία είναι πολύ καλή.

Σημείωση: Δημοσίευση ντους επεξεργασία.

Απαντήθηκε 05/08/2008 στις 06:21
πηγή χρήστη

ψήφοι
0

το πρόβλημα είναι ότι η σφαίρα μπορεί να παραμορφώνεται με διάφορους τρόπους, και έχουν όλα εκείνα τα σημεία που είναι γνωστά στον ισημερινό, ας πούμε, δεν θα σας βοηθήσει να χαρτογραφήσει τα σημεία πιο μακριά.

Χρειάζεται καλύτερη «στενή» σημεία, τότε μπορείτε να αναλάβει αυτά τα τρία σημεία είναι σε ένα αεροπλάνο με το τέταρτο και να κάνει την παρεμβολή --knowing ότι η απόσταση μήκη είναι μια λειτουργία, δεν είναι σταθερή.

Απαντήθηκε 05/08/2008 στις 06:20
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more