`
cyxlgzs
  • 浏览: 90016 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

MapObjects2中加载瓦片地图的相关内容(C#)

 
阅读更多

在使用MapObjects2显示瓦片地图时,可以用一下代码

通过MapObjects可以显示瓦片地图(ImageCatalog),瓦片地图信息保存在一个数据库表中,其格式为
Image String
xmin 地图左下角x坐标
ymin 地图左下角y坐标
xmax 地图左上角x坐标
ymax 地图左上角y坐标

我采用的是在Access数据库保存地图位置信息(我试过 Sql Server,但是以失败告终,不知道是不支持Sql Server,还是我的t.Database写错了,如果有人知道,请不吝赐教)
数据库名称为map.mdb,瓦片表名称为map_pic1。



瓦片地图保存在"c:/map"文件夹下。
这样就可以在Map地图中增加并显示图片数据了,并且当图片数据非常大是,显示效果也很好。

得到以上效果有两点需要注意

(一) 首先数据表的格式必须是包含五个字段:image,xmin,ymin,xmax,ymax。切字段的名称是规定了的

(二)map.mdb中的数据如何准备呢,下面着重讲一下这一点

首先要明白ArcGis Server切图的原理,可以参考我之前的一片博客 ArcGis Server建立缓存(切图)原理分析,然后我们现在做的事是需要把每张瓦片地图的路经和经纬度写到数据库map.mdb中,我写了个工具,是一个基于C#的Window应用程序,界面如下

结合下面的代码,相信你可以很容易的理解界面上各所填项的意义

窗体设计器生成的代码

业务代码如下

当执行完上述程序后,我们的图片信息就已经写入了map.mdb数据库中了。当然地图图片应该是分为多个比例尺的,我们这里采用一个比例尺一张数据表,当导入第二个比例尺数据时,更改界面上的填的内容,如表明改为“map_pic2”,并修改图片路经和Resolution,会很容就把数据导进去的。

数据准备完了,在MapObjects2中适用ImageLayer显示瓦片地图,可以根据各个缩放比例来控制加载具体使用哪个比例尺的瓦片地图,这样就很容易达到显示地图的清晰化和效率化了。

好,内容基本上也就写完了。至于如果有不懂或者有什么问题欢迎交流

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics