Nasıl mapkit piksel içinde metre alınır?

oy
1

Ben mapKit test etmek istedim ve benim konumun doğruluğunu göstermek için kendi bindirmeyi yapmak istedi. i Çevremdeki benim çember (benim doğruluk örneği 500m içinse) olması gerekiyor mu yarıçap örneğin 0,005 için bir yakınlaştırma faktörü varsa?

biraz yardım almak için harika olurdu :)

Çok teşekkürler.

Oluştur 27/12/2009 saat 12:58
kaynak kullanıcı
Diğer dillerde...                            


3 cevaplar

oy
1

başka bir yanıt eklemek için enlem bir dakikalık bir fark bir deniz mili karşılık gelir: o deniz mili tanımlandı nasıl. Yani, tüzük mil, 1 deniz mili = 1,1508 heykel mil veya 6076,1 ft. Veya 1852 metre dönüştürmek.

Eğer boylam gittiğinizde önceki Yanıta belirtildiği gibi, Dünya'nın etrafında boylam çevrelerinin büyüklüğü, enlem arttıkça küçültmek. Doğru faktör olduğunu

1 minute of longitude = (1852 meters)*cos(theta),

nerede teta enlem olduğunu.

Tabii ki, Dünya mükemmel bir küre değil, basit hesaplama yukarıda% 1'den fazla yola çıkmış asla.

Cevap 28/12/2009 saat 22:39
kaynak kullanıcı

oy
1

Belgelerine bakın MKCoordinateSpanharitanın bir parçasıdır, regionmülkiyet. Enlem biri derecesi yaklaşık her zaman. 111 km, yani dönüştürme latitudeDeltametreye ardından kolay olmalıdır piksel başına metreye alma. Uzunlamasına değerleri için boylam bir derece kat ettiği mesafe (ekvator) 111 km, (kutuplarda) 0 km arasında değişir o kadar kolay değildir.

Cevap 27/12/2009 saat 14:01
kaynak kullanıcı

oy
0

Benim yöntemim piksel başına metre almak için:

MKMapView *mapView = ...;
CLLocationCoordinate2D coordinate = ...;

MKMapRect mapRect = mapView.visibleMapRect;
CLLocationDistance metersPerMapPoint = MKMetersPerMapPointAtLatitude(coordinate.latitude);

CGFloat metersPerPixel = metersPerMapPoint * mapRect.size.width / mapView.bounds.size.width;
Cevap 19/03/2015 saat 00:16
kaynak kullanıcı

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