2008-11-12 49 views
3

我有一些導入sql server 2008數據庫的shapefile(美國人口統計/熱圖數據,如紐約犯罪)數據,字段數據類型:地理如何在Google Maps/MS虛擬地球上顯示一些shapefile /衆所周知的文本數據?

我如何才能從選擇查詢獲得此數據,然後我可以在Google地圖或Microsoft虛擬地球上顯示該格式?

謝謝!

編輯1:到目前爲止,最好的解決方案是使用(免費)第三方DLL(SharpMap)。我希望有人可能會建議sql2008中的一些SQL技巧以兼容的格式返回它...

回答

3

格日朗格盧瓦的SharpMap的環節是0.9。如果你想前沿,倉庫是在這裏: http://sharpmapv2.googlecode.com/svn

而且,你必須確保你的數據是緯度/經度WGS84,而不是別的東西,你開始把前將信息協調到您的KML中。我不知道在SQLServer2008中這樣做的方法(可能需要使用ogr2ogr)。

使用STX和STY,你也許可以產生一些協調標籤的KML

select SHAPE.STX as X 
    ,SHAPE.STY as Y 
    ,SHAPE.STAsText() as WKT 
    ,SHAPE.AsGml() as GML 
from dpu.SW_SERVICE_LOCATIONS 

也許是這樣的:

SELECT '<coordinates>'+convert(varchar,convert(decimal(20,6), SHAPE.STX),1)+ 
    ','+ convert(varchar,convert(decimal(20,6), SHAPE.STY),1) 
    + '</coordinates>' 
FROM sw_service_locations; 
0

最簡單的方法是選擇XML,然後將數據轉換爲GeoRSS或KML。 Virtual Earth和Google Maps都支持KML,因此可能是最簡單的方法。

雖然有一些考慮。如果數據中有許多頂點,則可能需要實現某種AJAX方法來僅檢索地圖視圖中的數據。您可以概括SQL 2008中的數據,以根據縮放級別製作更少量的頂點。如果你縮小到鄉村級別,你不需要像放大到城鎮那樣多的細節。

MapDotNet有很多功能可以讓您更輕鬆地在虛擬地球地圖中獲取數據。根據需要執行選擇查詢並顯示數據相對比較容易。我相信Google地圖還有其他類似的產品,但我沒有親自使用它們。它支持多邊形以及熱圖,並且比僅使用Virtual Earth提供更多的功能。虛擬地球功能強大,但有許多地理信息系統工具,來自地圖背景的人會期望您必須在yoursef中進行編程。

2

看看this post - 我成功地使用它來讀取shapefile並將它們顯示在Virtual Earth上。這應該爲您提供關於如何將形狀文件數據疊加到Virtual Earth上的基本思路。

要使用sql server 2008空間數據,我會查看codeplex上的SharpMap項目。這些是我引用的帖子使用的工具,它們支持sql server數據類型。

+0

嗯..有趣。 – 2008-11-14 04:03:06

相關問題