Eli*_*ght 16 gis map-projections mercator proj4js
所以我正在编写一个Javascript库,它采用x,y坐标并使用它们绘制美国地图.为此,我需要找到绘制每个状态所需的坐标数据.维基百科上的这个地图是我需要的一个很好的例子,因为SVG文件包含组成每个州的形状很好地标记:http://upload.wikimedia.org/wikipedia/commons/3/32/Blank_US_Map.svg
我还有一组我需要放在这张地图上的网站.由于我知道每个站点的纬度和经度,我可以使用它来在地图上的适当位置绘制每个站点.不幸的是,为了实现这一点,我的地图需要使用墨卡托投影,这样就可以轻松映射lat,long到x,y像素坐标.
我上面提到的维基百科地图使用了一些其他投影,所以我不能将它用于此目的.有没有人知道我在Mercator投影中哪里可以找到这种类型的地图数据?任何数据格式都可以,只要我能以编程方式获取用于绘制每个状态的坐标并识别哪些形状构成每个状态.
这是一个GIS问题,除非您使用正确的工具,否则无法轻易解决.
编辑如果我链接到的shapefile不是你正在寻找的那些,那么Google就是"US shapefile".Shapefile实际上是一组地理空间(而不仅仅是一个文件).
将图层重新投影到指定的投影
编辑这可能是一个麻烦,但以防万一,它不会ogr(见下文)可以重新投影.EPSG从空间参考中获得
编辑2 你用什么来显示在线地图?您是否考虑过openlayers或Google maps API或mapserver
编辑3 我在我的一些数据上测试了我的方法并且它有效,这里是使用"状态和等效(当前)"层的一个多边形的示例输出:
<Placemark>
<name>American Samoa</name>
<styleUrl>#PolyStyle00</styleUrl>
<Snippet></Snippet>
<MultiGeometry>
<Polygon>
<tessellate>1</tessellate>
<extrude>0</extrude>
<altitudeMode>clampToGround</altitudeMode>
<outerBoundaryIs><LinearRing><coordinates> -0.001536,-0.000099,0.000000 -0.001536,-0.000099,0.000000 -0.001536,-0.000100,0.000000 -0.001536,-0.000100,0.000000 -0.001536,-0.000100,0.000000 -0.001536,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001536,-0.000099,0.000000 -0.001536,-0.000099,0.000000 -0.001536,-0.000099,0.000000 -0.001536,-0.000099,0.000000 -0.001536,-0.000099,0.000000 -0.001536,-0.000099,0.000000 -0.001536,-0.000099,0.000000 -0.001536,-0.000099,0.000000</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
Run Code Online (Sandbox Code Playgroud)