所以我正在编写一个 Javascript 库,它采用 x,y 坐标并使用它们来绘制美国地图。为此,我需要找到绘制每个状态所需的坐标数据。维基百科上的这张地图是我所需要的一个很好的例子,因为 SVG 文件包含构成每个状态的形状,并且很好地标记了: http://upload.wikimedia.org/wikipedia/commons/3/32/Blank_US_Map.svg

我还有一组需要放置在这张地图上的站点。由于我知道每个站点的纬度和经度,因此我可以使用它在地图上的适当位置绘制每个站点。不幸的是,为此,我的地图需要使用墨卡托投影,以便可以轻松地将纬度、经度映射到 x、y 像素坐标。

我上面提到的维基百科地图使用了一些其他投影,所以我不能将它用于此目的。有谁知道在哪里可以找到墨卡托投影中的此类地图数据?任何数据格式都可以,只要我可以以编程方式获取用于绘制每个状态的坐标并识别哪些形状构成每个状态。

有帮助吗?

解决方案

凯文·麦柯利 创造了一些 地图 美国的地图,包括 所有 50 个州, ,在墨卡托投影中。如果您查看最终链接的源代码,您会发现它由表示各州轮廓的(纬度、经度)对组成,然后将其转换为(x,y)对以以 svg 格式显示。他允许的用法是

可以随意在您自己的乐趣中使用这些文件,但是我很高兴因创建它们而获得信用。享受...

我不知道这对你来说是否足够好。

其他提示

这是一个地理信息系统的问题,并将不是容易解决的,除非你使用适当的工具。

  • 使用 QGIS 打开的 我们要素的数据

    编辑 在这种情况下而我联系不完全是那个你要找的那谷歌"我们而".而实际上是一组地理空间(而不仅仅是一个文件)。

  • 重新投影层指定的投影

    编辑 这可以是一个理想的,但只有在这种情况下,它不ogr(见下文)可以重新投影.EPSG得 空间参考

  • 使用 ogr2ogr (速记)或转换插件转换为数据衡量.这将会输出数据的一个谷歌地图/地/人可读格式,这将有坐标在他们的

编辑2 什么是你用来显示的在线地图?你有没有考虑 openlayers谷歌地图API地图服务器

编辑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>

新地图,从头开始

它以很容易地创建一个图从免费的 形状 这是 设置在非常高的分辨率由美国地质调查局的.实际上,一些人已经创建了一个 要素->svg翻译脚本 这不只是这对于你但是请注意, 该项目已移动到。.

不幸的是的要素是在 NAD83投影 因此,它需要重新投影到墨卡托运行之前的脚本。再次,这是一个已经解决的问题和一个很常见的事情要做 GIS的 并且只需要做一次。为此我要建议 MapWindow 因为它是微不足道要做到这一点。

来重新投影的而,Mercator你需要下载和安装 MapWindow.运行程序时,你可以看到一个 插件 菜单在主要窗口,你会需要启用的 GIS工具 插件。然后你按一下绿色"加上"符号来添加的要素成MapWindow,它应该呈现在美国的屏幕。

当你进口的要素成MapWindow你会重新投影。要做到你点击 GIS工具 -> 矢量 -> 重新投影的一个要素 它应该打开了一个对话框。

第一对话,你看到要求的关于什么投影,你想:

  • 类别: 预计坐标系统
  • 小组: 世界
  • 名称: Mercator(世界)

第二个可能不会出现,但如果它不这是询问有关目前预:

  • 类别: 地理坐标系统
  • 小组: 北美洲
  • 名称: 北美洲基准,1983年

这一过程应当创建一个新的要素称为 statesp020_reprojected 或者类似的东西。

你现在需要 翻译shpaefile SVG 使用脚本以上。我不会打扰写的说明,因为我还没有尝试过,但我肯定你能想出来!

下面: HTTP://www.nws.noaa .GOV /地理/目录/国家/ HTML / us_state.htm 结果 你可以下载一个文件shp与数据。所述shape格式包括:使用一些属性的dbf,包括对于每个状态的坐标。

另外,还可以使用 shp2text 以提取所有的信息。

修改 数据在地图中的的1983年北美基准面的,但你可以使用的电子表格和公式此处转换为墨卡托(UTM)。

你看过NIMA的产品吗? http://egsc.usgs.gov/nimamaps/https://www1.nga.mil/ProductsServices/Pages/default.aspx 他们有各种地图、格式等。而且全部都是由我们纳税人支付的,所以公众可以获得很多东西。地图的好第一站。

我从来没有做过那种工作,你问,但它看起来对我来说,从工程师的美国军团,这些数据将是对您有用:

http://crunch.tec.army.mil/software/corpscon /corpscon.html

visokio.com 有可下载的集的矢量地图在这里: http://www.visokio.com/maps 他们中的大多数支持小数点的经纬度坐标。

但是它看起来像所有的是在一个propetiary格式查只与他们自己的软件。试用软件是可用的,tho。

禾田.

编辑:遇到这些当浏览维基百科:

下面是与JS数学一个计算器响应从LAT长至麦卡托

转换纬度/渴望X / Y坐标

上面列出,然后使用OGR到用于转换成CSV做ogr2ogr那些shape文件的下载一个

获取OGR这里

http://www.gdal.org/ogr/index.html

下面是用于OGR该文档

http://www.gdal.org/ogr2ogr.html

下面是一种输出格式名称

http://www.gdal.org/ogr/ogr_formats.html

由于你的声誉,我知道你可以处理它,一旦你得到它的CSV

Indieprojector 应该能够产生你所需要的文件。这是一个免费的在线工具,任何重新投影shape文件和出口再次它.SVG。他们甚至有美国美网上包含,所以你不会需要与shape文件混乱。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top