mesafe

2010-06-02 37 views
5

SQL Server 2008 içindeki iki nokta arasındaki en kısa mesafeyi yalnızca arazi kütlesini hesaba katarak hesaplamak istiyorum.mesafe

Coğrafi veri tipini STDistance() ile birlikte kullanarak, karga uçarken y noktasına nokta x mesafe olacak şekilde çalıştım, ancak bu bazen kaçınmaya çalıştığım denizi kesiyor. Daha basit bir çözüm olmadığı sürece -.

Ben de ben STDistance hep poligonun içinde kalmasını sağlamak için bu iki yöntem birleştirmek gerektiğine inanıyorum ben ilgileniyorum kara kütlesi sınırına

etrafında bir çokgen yarattık. Herhangi bir tavsiye

cevap

1

Kullanım STIntersects için

Teşekkür - http://msdn.microsoft.com/en-us/library/bb933899%28v=SQL.105%29.aspx hattının parçası arazi üzerinde ne olduğunu bulmak için.

Yorumunuzu okuduktan sonra gereksiniminiz mantıklı. Ancak eminim SQL Server'da bunu yapmak için dahili teknikler yoktur. Yolları görmezden geldiğinizi ve bir karga-sinek yaklaşımı aldığınızı, ancak sadece toprak üzerinde olduğunu varsayıyorum.

Bunu yapmanın tek yolu, alanınızı raster (ızgara hücreleri) haline dönüştürmek ve bir maliyet yolu analizi yapmak olacaktır. Deniz alanını, yüksek bir maliyete sahip olacak şekilde ayarlayacaksınız, bu sayede algoritma deniz kenarında dolanacaktı. tekniğin açıklaması için bu bağlantıya bakın:

http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=cost_path

Aksi aşağıda algoritma uygulayan deneyin!

http://bit.ly/ckvciz

bunu diğer kütüphaneler olabilir. Yeni Google Yol Tarifi API'sini iki şehir arasında kullanmanın ne kadar önemli olduğu - gerçek yol mesafeleri elde edersiniz. cevap için

http://code.google.com/apis/maps/documentation/directions/

+0

teşekkürler. Arazi kütlesi içinde bana en kısa mesafeyi vermeyecek olan yanlış anlaşılmasaydı, denizden uzaklığı olan karadaki mesafeyi birbirinden ayırmamı sağladı. Belki de çalışılmış bir örnek açıklamama yardımcı olacaktır. Karga uçarken Malaga (İspanya) Madrid'den Tanger (Fas) 'a daha yakındır. Sadece kara yoluyla seyahat edebiliyorsak, Tanger hala (uzun bir yolculuk Avrupa, Orta Doğu vb) sonra hala erişilebilir, ancak şimdi Madrid, Paris vb. Çok daha uzakta. Bu nedenle, genelinde mesafeleri hesaplamak çalışıyorum sadece kara kütlesi. –

+0

SQL Server, kara veya deniz (veya bu konuda tepeler) arasında ayrım yapmaz. –

+0

Çokgenlerin doğru olarak atfedileceğini varsayalım? – geographika