5

给定一个大城市(广场大约800 km^2),上面有一些层。该层可能包含多色特征,例如:

  • 线条
  • 积分
  • 文本

特征数约为 1000。

地图资源 -谷歌地图Openstreetmap(或者其他什么?)。

我的目标是在尺寸(约)5x5 米的纸上打印这样的地图。此外,此文件必须是高分辨率的- 在此文件上,我想查看带有编号的建筑物、带有标题的街道等。

生成此类可打印文件(图像、文档等)的最佳方法是什么?


以下是我发现的一些可能的解决方案:

  • 我知道 OpenLayers API,所以我可以在 Google Maps 或 Openstreetmap 上绘制图层。但是如何将其转换为可打印格式?

  • 我发现 Openstreetmap 上有导出功能。但是使用这个功能我不能导出我自己的图层,也不会是高分辨率的。

  • 谷歌地图也有类似的功能。使用它我可以创建自己的图层。但是如果我有 1000 个特征,那么 URL 会很大,所以服务器不会加载它。这张地图也不会是高分辨率的。


谢谢你的帮助。

4

3 回答 3

5

您想要绘制一个 5 米乘 5 米的城市的图形,该城市是 40 公里乘 40 公里。那是 1 / 8000 的比例。

查看开放街道地图图块集,图块集 17 的比例尺为 1 1/2 厘米到 100 米,或 150 厘米到 10,000 米。这是 1 / 6666 的比例,它与您使用开放街道地图图块集达到您想要的比例一样接近。

我已经使用该比例附上了一张图片。我不确定你是否能够看到你想看到的东西。

打开街道地图第 17 层

无论如何,要生成您想要的图像,您必须使用您选择的任何编程语言执行以下操作。

  • 从 Open Street Map 网站收集您需要的图块。这可能需要一段时间,因为您将收集很多瓷砖,而且它们对您一次可以获得的数量有限制。
  • 将拼贴拼接在一起以形成一个或多个更大的图像。
  • 创建您自己的透明数据层。
  • 在瓦片层上叠加透明数据层。
  • 打印组合图层图像。
于 2012-06-19T13:35:23.997 回答
1

也许这个抓取器会有所帮助。它只是从某个屏幕区域截取屏幕截图,然后拖动地图(通过模拟鼠标移动),制作另一个截图等。然后将截图拼接成一张图片。因此,它几乎可以抓取任何可以在浏览器中打开并通过鼠标移动的滑动地图(无需使用 API - 清晰的所见即所得)。

于 2012-06-25T10:01:51.120 回答
1

您是否开始使用易滑的地图图块?如果没有,您可以使用更重量级的东西,例如 GIS(地理信息系统)包。QGIS是一个很好的具有高分辨率打印功能的开源地图查看器/操纵器,但周围还有其他的。

对于这些,您可以导入代表地图的矢量数据(可通过 OSM 导出获得),并完全按照您的需要设置样式。然后有几个选项可以导出以进行高分辨率打印。

最终,您可能会在错误的地方问这个问题。您是否知道:gis.stackexchange.com

于 2012-06-25T16:25:02.237 回答