Google maps 如何在谷歌地图/MS虚拟地球上显示一些shapefile/众所周知的文本数据?

Google maps 如何在谷歌地图/MS虚拟地球上显示一些shapefile/众所周知的文本数据?,google-maps,geography,virtual-earth,Google Maps,Geography,Virtual Earth,我有一些美国的shapefile人口统计/热图数据,例如导入sql server 2008数据库的纽约犯罪数据,字段数据类型:地理 如何从select查询中获取这些数据,并将其显示在谷歌地图或微软虚拟地球上 谢谢 编辑1:到目前为止,最好的解决方案是使用免费的第三方dll。我希望有人能建议在sql2008中使用一些sql技巧,以兼容的格式返回…最简单的方法是选择XML,然后将数据转换为GeoRSS或KML。虚拟地球和谷歌地图都支持KML,所以这可能是最简单的方法 不过也有一些考虑。如果数据中有许

我有一些美国的shapefile人口统计/热图数据,例如导入sql server 2008数据库的纽约犯罪数据,字段数据类型:地理

如何从select查询中获取这些数据,并将其显示在谷歌地图或微软虚拟地球上

谢谢


编辑1:到目前为止,最好的解决方案是使用免费的第三方dll。我希望有人能建议在sql2008中使用一些sql技巧,以兼容的格式返回…

最简单的方法是选择XML,然后将数据转换为GeoRSS或KML。虚拟地球和谷歌地图都支持KML,所以这可能是最简单的方法

不过也有一些考虑。如果数据中有许多顶点,可能需要实现某种AJAX方法来仅检索地图视图中的数据。您可以在SQL 2008中对数据进行泛化,以根据缩放级别减少顶点数量。如果你被放大到国家一级,你不需要像放大到城镇一样多的细节

有很多功能,可以更轻松地在虚拟地球地图中获取数据。执行select查询并根据需要显示数据相对容易。我肯定谷歌地图还有其他类似的产品,但我个人没有使用过。它支持多边形和热图,并为您提供了比仅使用虚拟地球更多的功能。虚拟地球功能强大,但有很多GIS工具,有测绘背景的人可能会认为你必须在自己的SEF中编程。

看一看——我成功地用它读取了形状文件,并将它们显示在虚拟地球上。这将为您提供如何将形状文件数据覆盖到虚拟地球的基本概念


要使用SQLServer2008空间数据,我将查看codeplex上的项目。这些是我在文章中引用的工具,它们确实支持sql server数据类型

Geri Langlois的Sharpmap链接是0.9,如果您想要最前沿,存储库在这里:

此外,在开始将坐标信息放入KML之前,必须确保数据是Lat/Long WGS84,而不是其他内容。我不知道在SQLServer2008中可能需要使用什么方法来实现这一点

使用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;