Bing Maps 辅助工具 —— MapCruncher 简单使用学习

摘要:
当使用BingMaps控件时,我们总是使用在线地图平铺系统。这次,我们将主要介绍另一种方法,即将您自己的地图切片加载到BingMaps控制中。具体来说,您可以使用MapCruncher工具通过调整和校正完整的大图像,自动生成一组以BingMapsTile系统命名的平铺图像。本文主要介绍如何使用MapCruncher工具。请参考:http://www.cnblogs.com/xwgli/archive/2013/04/27/3046711.html 。 在生成过程中,如果已完成某一级别的平铺,则可以单击右下角的“预览渲染结果”以预览完成的输出效果。浏览器中的以下视图结果似乎有问题,并且不太有用。

在使用Bing Maps控件的时候,一直都是使用的在线的地图Tile系统,这个。。必须要在线使用,如果想离线用咋办?一个就是把在线的地图下载下来,反正地址也有,做个工具下载呗,这个怎么做以后有机会再研究。这次主要讲解另一种办法,将自己的地图切块加载到Bing Maps控件上。具体说就是可以利用MapCruncher工具将一张完整的大图通过调整校正自动生成一套按照Bing Maps Tile System命名的一堆Tile图片。本篇主要讲述如何使用MapCruncher工具,如何加载请参看:http://www.cnblogs.com/xwgli/archive/2013/04/27/3046711.html

1.下载

首先,到 http://research.microsoft.com/en-us/um/redmond/projects/mapcruncher/ 这里下载MapCruncher。

1.1

恩,可以看到,已经很老了,2007年最后一次更新的了,不过依然非常的好用!

2.安装

有兴趣的可以打开RUN Setup.exe.txt看看,它说双击右边setup.exe安装。。。

1.2

安装过程自己随意。。。

1.3

反正成功就好了。

3.开始使用

2.0

双击图标运行。

2.1

打开界面后可以看到提示,添加一个源地图开始。

2.2

跟着提示走。

2.3

貌似支持的格式不少,pdf、jpg、gif、png、bmp、tif等常见的图片格式都有。

这里找了一张从网上下载的中国地图作为示例(应该没有什么版权问题吧。。。学习交流目的使用。。。)

2.4

添加完后就是这样了,可以看到,最右侧是在线的必应地图,用来为我们的地图提供参考,中间就是我们选择的地图了,左侧栏是后面要用到的一些功能设置参数。

为了方便下面校准,可以切换右侧必应地图的模式。

2.5

主要就是普通模式和卫星模式,根据需要灵活使用。

4.定位校准

其实这一步主要是为了将自定义的地图的经纬度与实际的经纬度进行校准,如果不需要准确的经纬度的话,也可以随便点。这里为了方便校准就使用普通模式了,因为边界轮廓比较明显。

2.6

首先将两个地图的相同位置放置于十字交叉线的交点上,位置相同即可,不用管缩放级别,然后点击左侧下方Correspondences选项卡中的Add来添加第一个校准点。

2.7

同样,随意找第二个点进行校准,尽量找一些位置比较明显确定的,尽量精确一点。。。尽量。。。然后Add

2.8

这里就简单示例三个点,剩下的就不截图了,同样Add。有一个小技巧,在确定3个点后就可以使用Lock功能比较准确的同步移动两边的地图了。

2.9

这里一共添加了10个点作为校准点,校准点越多效果会越好,而且尽量分散的选择。从结果对比可以看到,这个加载进来的地图产生了很大的形变,这是因为两边使用的投影不同,必应地图使用的是墨卡托投影,而中国地图使用的是双标准纬线等角圆锥投影,所以产生了这种效果。这也是为什么要尽量分散的添加校准点的原因。

5.准备生成

还需要看一下上一张截图。。。在Source Info选项卡中,有一个属性 Maximum Zoom 属性,它将设置生成地图的最大缩放级别,设置的越大,生成的数据将越庞大,因为这里只是做个示例,所以就选一个比较小的范围,最大5级。校准和级别设好后,点击左下角的Render按钮开始准备生成。

2.10

首先选择Render To:文件(File),然后设置 保存路径(OutPut Folder),下面两个选项一个是要不要复制原地图到目标文件夹,第二个不知道啥意思。。。确认要生成?

设置好后点击开始(Start)就开始生成了。

2.11

开始后就可以看到Tile文件的总数和预计总大小了。在生成过程中,如果某级Tile已经完成,可以点击右下角的Preview rendered results预览已完成的输出效果,后面的View results in browser貌似有问题,不是很好用。

2.12

生成成功!

2.13

生成完毕后还是可以点击Preview rendered results查看效果。

2.14

可以看到还是有一些偏差的,这些误差可以通过添加更多的校准点来尽可能的减小,是一个细致活了。。。

6.生成结果

2.15

生成的文件夹里就是这些内容了,要用到的主要就是Tile文件,存放在Layer_NewLayer(可能会根据自定义命名而不同,默认是这个)中。

2.16

所有的Tile文件,1-5级的图像就都在这里了。

剩下的工作就是如何利用这些文件了,请参见另一篇日志:http://www.cnblogs.com/xwgli/archive/2013/04/27/3046711.html

 

免责声明:文章转载自《Bing Maps 辅助工具 —— MapCruncher 简单使用学习》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[Linux环境编程] TCP通信与多线程编程实现“多人在线聊天室”jQuery Easing 动画效果扩展--使用Easing插件,让你的动画更具美感。下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

freemarker:初识(搭建环境、对象、集合、索引、赋值、null、时间、宏定义)

1、Freemarker环境搭建 (1)导入依赖 <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.16&l...

Python框架-pygal之世界地图

安装: pip install pygal_maps_world 此时可以访问pygal.maps.world模块,并指定代码绘制国家 Countries import pygal.maps.world worldmap_chart = pygal.maps.world.World() worldmap_chart.title = 'Some cou...

学习使用Bing Maps Silverlight Control(五):离线使用和自定义地图模式

6 离线使用 在笔记第一部分的时候就提到如果要使用Bing Maps Silverlight Control 进行开发,需要申请一个key,不让会显示一个错误提示出来。但是在实际开发或使用过程中,使用环境和地图数据可能不是在线的,但控件因为验证失败仍然会显示以下内容: 如何去掉这个提示?最简单的方式就是自己扩展一个Map控件,在其构造方法中将错误提示层给...

使用vertx共享数据

Using Shared Data with Vert.x io.vertx.core.shareddata 接口计数器 公共接口柜台 一个异步计数器,可用于跨集群维护一致的计数。 作者: 蒂姆·福克斯 方法总结 所有方法实例方法抽象方法 修饰符和类型 方法和说明 void addAndGet(long value, Hand...

jqmobi插件制作(翻译)

应用程序框架插件是可重用的代码,以帮助增强您的应用程序的peices。它们可以被用来执行琐碎的任务,或者创建复杂的UI小部件。有两种类型的插件,你可以创建。实用插件,不采取行动的对象插件作用于一个桶/元素如果你有一个预先存在的jQuery插件,使用的功能我们实现,你的代码应该是相当容易移植。大多数情况下,你只是需要更改参考在IIFE中,从“jQuery的”...

google maps layer图层

图层是地图上的对象,包含一个或多个单独项,但可作为一个整体进行操作。图层通常反映了您添加到地图上用于指定公共关联的对象集合。Maps API 会通过以下方法管理图层内对象的显示形式:将图层的组成项呈现在一个对象(通常为一个图块叠加层)中并根据地图视口的变化情况进行显示。图层还可以改变地图自身的展示图层,以符合图层样式的方式稍稍改变基本图块。请注意,系统将大...