Nasıl bir çarpık haritaya bir enlem / boylam haritasına nasıl?

oy
22

Bir (coğrafi olarak bozuk) haritada koordinatları bilinen x / y eşlemek enlem / boylam çiftlerinin bir grup var.

Sonra bir daha enlem / boylam çift var. Ben mümkün olan en iyi olduğu gibi harita üzerinde çizmek istiyorum. Bunu nasıl yapmayı gidiyor?

İlk başta ben bunlardan bir dönüşüm en yakın üç enlem / boylam noktaları için lineer denklem sistemini oluşturmak ve hesaplamak için karar verdi, ama bu hiç de iyi çalışmaz. Bu doğrusal bir sistem olduğundan, ben de daha yakın noktaları kullanamaz.

Sahip tüm mevcut enlem / uzun> x / y eşleştirmeleri şudur: Kuzey doldu kabul edemeyiz.

DÜZENLEME: bu bir Mercator projeksiyonu, ya da böyle bir şey olduğunu. Bu keyfi (metro haritasını düşünün) okunabilmesi için bozuk oluyor. Ben haritanın diğer kısımlarında olduğu bozulma ben hesaplamak çalışıyorum eşleme etkilemeyecek şekilde sadece en yakın 5 ila 10 eşleştirmeleri kullanmak istiyorum.

dünya dert etmeye gerek yok yani Ayrıca, tüm harita çok küçük bir coğrafi alanda - düz toprak varsayımlar yeterince iyi.

Oluştur 05/08/2008 saat 05:55
kaynak kullanıcı
Diğer dillerde...                            


4 cevaplar

oy
8

Bozulma türüne artık özel ayrıntılar var mı? Örneğin, enlem ve boylamlar bir Mercator projeksiyonu kullanarak 2D harita üzerine "çarpık" belirterek, bunun, dönüşüm matematik hazır .

Haritası gerçekten keyfi bozuksa, orada deneyebilirsiniz çok şeyler vardır, ama en basit muhtemelen hesaplamak olacaktır ağırlıklı ortalamasını mevcut noktası eşleştirmeleri gelen. Sizin ağırlıklar mevcut noktaların her birine yeni noktasından x / y mesafenin kare ters olabilir.

Bazı yalancı kod:

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)

Bu kod nispeten basit yaklaşım verecektir. Eğer projeksiyon coğrafi koordinatlarını bozan yolu hakkında daha kesin olabilir, muhtemelen çok daha iyi yapabilir.

Cevap 05/08/2008 saat 06:48
kaynak kullanıcı

oy
2

Peki. distorsiyon "keyfi" olduğunu ve herhangi bir çözümün bu keyfi bozulmayı modellemek gerektirir göz önüne alındığında bir görüş teorik açıdan, itibaren, belli ki bir "cevap" alınamıyor. Ancak, herhangi bir çözüm (genellikle örtülü) empoze veya durumun gerçekliğini yansıtmıyor olabilir bozulma bazı modelini dahil etmek için gidiyor.

En yakın noktalar arasındaki doğrusal interpolaton: Eğer bozulma haritalama yerel süreklilik çeşit tahmin modellerinde en çok ilgi gibi görünüyor beri en bariz seçim zaten denedim biridir. O ötesine geçerek daha sofistike matematiksel ve sayısal analiz bilgi gerektiren gidiyor.

Eğer daha fazla puan için bu genişletmek olamaz iddia ederken, ancak, yanlıştır. Bir az kare hata yaklaşımını kullanarak yapabilirsiniz. diğer noktaların hatayı minimize doğrusal cevap bulun. Bu muhtemelen en düz İleri uzantısıdır. Başka bir deyişle, 5 en yakın puan almak ve bu noktaların hatayı en aza indiren bir lineer yaklaşım ile gelip deneyin. Ve bu kullanın. Bu sorunun yeni çalışacaktı.

Bu işe yaramazsa, o zaman N noktalarının alanı üzerinde doğrusallık varsayımı bozuldu. Bu noktada ya bir kuadratik ya kübik model yükseltmek gerekir. matematik o noktada telaşlı almak için gidiyor.

Cevap 05/08/2008 saat 16:47
kaynak kullanıcı

oy
0

Hu. Belki de burada soru hakkında bir şey eksik ama uzun / enlem bilgilerimiz olursa, ayrıca kuzey yönünü var mı?

Bir tahmin koordinatlar sistemine jeodezik koordinatları harita gerekir gibi görünüyor. WGS84'e için OSGB Örneğin.

Katılan matematik önemsiz olmayan, ancak kod sadece birkaç satır çıkıyor. Ben daha fazla zaman olsaydı daha sonrası isterdim ama bu yüzden sıkıcı ve bağlantı olacak bir duş ihtiyaç wikipedia oldukça iyidir girişi.

Not: Mesaj duş düzenlenebilir.

Cevap 05/08/2008 saat 06:21
kaynak kullanıcı

oy
0

Sorun küre çeşitli yollar bozuk ve ekvator üzerinde bilinen tüm bu noktaları olan alışkanlık sen daha uzakta noktaları harita yardımcı Diyelim edilebilir olmasıdır.

Daha sonra dördüncü bir uçakta olan bu üç puan üstlenecek ve boylam mesafesi bir işlev değil, sabit olduğunu --knowing interpolasyon yapabilir, daha iyi 'yakın' noktaları gerekir.

Cevap 05/08/2008 saat 06:20
kaynak kullanıcı

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