ST_Distance () 'da kullanılan birim nedir?


24

Şamandıranın hangi birimin döndüğünü merak ediyorum ST_Distance.

Belgelerde yazıyor:

... yansıtılan birimlerdeki iki geometri arasında kartezyen minimum mesafe (mekansal ref'ye dayanarak).

Bu öngörülen birimler nelerdir?

Geometri alanında depolanır: geometry(Point,4326).

Yanıtlar:


36

Bunun PostGIS listesinde zaman içinde en sık sorulan soru olduğunu düşünüyorum :-)

Verileriniz SRID 4326 içindeyse ve geometrytür kullanıyorsanız, sonuç bir anlam ifade etmeyecektir. Derece cinsindendir.

Sonucu elde etmek için sadece metre cinsinden yazı yazın ve büyük çember boyunca mesafeyi hesaplayın geographyve metre ST_Distancecinsinden geri dönün.

geometry(Point,4326)::geography

Başka bir seçenek de verilerinizi uygun bir birime dayalı olarak yerel bir projeksiyona yansıtmaktır. O zaman cevap o ünitede olacak.


2
Bir tablodaki iki satır arasındaki mesafeyi bulmak için bir örnek aşağıdadır SELECT ST_Distance (a.geom :: coğrafya, b.geom :: coğrafya) 'dan saf: saf_gis a, pure_gis b '2';
Brian McCall

4

Gönderen http://postgis.net/docs/ST_Distance.html

- Geometri örneği - 4326 düzlemsel birimlerdeki birimler WGS 84 uzun lat birim = derecedir

Eğer ST_Distanceiki geometri verilir, bu o geometriler kartezyen (ya düzlemsel) koordinatlarında gerçekten varsayar. Bu nedenle, birimler koordinatlardakilerle aynıdır - genellikle metre veya metre.

Probleminiz, uzaysal referans sisteminiz olan 4326'nın aslında (açısal) coğrafi koordinatları - uzun-en-derece - kullandığı ve sonuçların (biraz anlamsız) derecelerde olduğu görünüyor.


1
Sonuçlar bir şekilde bile olsa tamamen anlamsızdır.
Paul Ramsey,

@PaulRamsey. PlateCaree projeksiyonundaki mesafeleri "ölçtüğüm" ile aynı olmaz mıydı?
Martin F

Bir bilgisayarda, lineer birimleri geri alırsınız ve en azından "Tamam, bu birimlerin ciddi bir şekilde bozulmaya maruz olduğunu biliyorum" diyebilirsiniz. "Dereceleri" geri almak, insanlar "aha, burada açısal bir mesafem var, sadece 2R ile çarpmam gerekiyor ve doğrusal bir mesafeye sahip olacağım" diye düşünmeye cazip gelebilir. Üniteler kötü bir ölçüm yapıp potansiyel olarak daha da yanıltıcı olabilir. Ve PC o kadar korkunç ki neden bir projeksiyon adı aldığını bilmiyorum ... mesafeyi korumaz, yönü korumaz, alanı korumaz ...
Paul Ramsey

PC ekvator boyunca mesafeleri korur ve ekvatora dik durur. Gerekli radyan ve yarıçap dönüşümlerinin yanı sıra (kuşkusuz, çok büyük bir rahatsızlık), 4326 geometrilerde ST_Distance kullanmanın sonuçları, ST_Distance'ı projeksiyon geometrileri ile kullanırken dikkate alınması gereken aynı genel dezavantaj ve fayda karışımına sahip olacaktır. Belki de daha iyi bir tartışma olmalı ("tamamen" yerine "tamamen" anlamsız "ama" tamamen değil ").
Martin F
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.