我期待計算SQL Server 2008內兩點之間的最短距離,只考慮土地質量。使用SQL服務器跨越地面兩點之間的距離
我已經使用地理數據類型和STDistance()來計算點x到點y的距離,但是這有時會跨越我想要避免的海域。
我還創建了一個多邊形的土地腫塊邊界我感興趣的
圍繞我相信,我需要將這兩種方法結合起來,以確保STDistance始終保持多邊形內 - 除非有一個簡單的解決方案。
感謝您的任何意見
我期待計算SQL Server 2008內兩點之間的最短距離,只考慮土地質量。使用SQL服務器跨越地面兩點之間的距離
我已經使用地理數據類型和STDistance()來計算點x到點y的距離,但是這有時會跨越我想要避免的海域。
我還創建了一個多邊形的土地腫塊邊界我感興趣的
圍繞我相信,我需要將這兩種方法結合起來,以確保STDistance始終保持多邊形內 - 除非有一個簡單的解決方案。
感謝您的任何意見
使用STIntersects - http://msdn.microsoft.com/en-us/library/bb933899%28v=SQL.105%29.aspx找出該行的部分土地。
閱讀您的評論後,您的要求是有道理的。不過,我很確定沒有內置的技術在SQL Server中執行此操作。我假設你忽略了道路,並採取了一種「烏鴉飛翔」的方式,但只能在土地上進行。
我認爲要做到這一點的唯一方法是將您的區域轉換爲柵格(網格單元格)並執行成本路徑分析。你會設置海域的成本高得驚人,所以算法會在海邊繞行。請參閱此鏈接技術的描述:
http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=cost_path
否則儘量實現下面的算法!
有可能是做其他庫。另一方面,如何在這兩個城市之間使用新的Google路線API--那麼您將獲得實際的道路距離。
感謝您的回覆。 除非我誤解不會讓我在地塊內的最短距離,它只會讓我區分跨越陸地的距離和跨海的距離。 也許一個成功的例子將幫助我解釋。就像烏鴉一樣,馬拉加(西班牙)比馬德里更接近丹吉爾(摩洛哥)。 如果我們只能通過陸路旅行,Tanger仍然可以進入(經過漫長的旅程歐洲,中東等),但現在比馬德里,巴黎等地更遠。因此,我試圖計算跨越的距離只有地塊。 – 2010-06-03 09:25:55
SQL Server不區分陸地或海洋(或丘陵,就此而言)。 – 2010-10-18 01:31:36
我會假設多邊形將被正確歸因? – geographika 2010-10-18 07:12:52