更换博客地址
这里的博客有时候老上不去,我实在忍无可忍了,就重新申请了另一个搜狐的博客,地址是:http://linguotian.blog.sohu.com/
大家有空的时候来踩踩啊!
正阵子忙着搞个webgis系统,因此也看了一些网上资料。发现标注已经形成了一种潮流,
影像标注,典型的就是googel earth的应用。在无数热衷于该球的全球网友协助下,已经出现了很多标注;甚至还在上面开展游戏,寻宝活动;同时也有很多三维模型,都很逼真
电子地图标注:如餐饮,工作地点的标注
三维地图的标注:目前国内比较火的三维网站是E都市,都市圈,同时也开放了一部分接口。
下面是都市圈提供的应用接口,我随便找了一个地方:
灵图公司提供的电子地图接口,下面是我的位置:
下图是Google maps 提供的影像标注,这个地方就是我住的地方了:
这两天在做一个MO+VB的小系统,在上学期做的系统基础之上改了改,也差不多够用了,但是这次要求能够有图形的编辑功能。MO本身是没有直接的接口可以调用的,因此就翻了翻资料,硬着头皮拼命找。终于在MO自带的例子当中找到了Edit的代码,它提供的是在一个新建图层上添加对象,删除对象,同时节点的添加,删除和移动。刚一看,还挺兴奋的,总算找到了相关资料(图形编辑的资料网上还是比较少的)。宝贝啊,让我兴奋了挺久的。一运行,感觉还不错。
而我要实现的功能是:从地图中查找要编辑的空间对象(包含点,线,面),然后对该对象进行编辑;能够在该图层上添加相应的类型对象,能够删除对象;
于是兴致高昂地开始啃那么代码,一看就开始犯晕了,它包含了几个类,东西真多!而且我还要针对我的实际情况进行修改。琢磨了大约一天的时间,总算有了点眉目。今天开始动手把功能全部做出来了。说下整体的实现思路:
1.通过空间查询接口选择一个对象(线图层选择线对象,点图层选择点对象,面图层选择面对象)
2.在动态图层上高亮显示编辑的对象以及它的节点,这一步比较复杂,花费了大量的时间。
判断点击的位置是否靠近对象的节点(节点可以通过对象的parts得到),如果是则直接高亮显示对象以及节点,同时用另一种颜色标识该节点用以表示该节点被选中了;否则只是高亮显示对象以及节点。
在这一步实现的过程中,一定要注意很多图层中的对象拥有子对象,即object.parts.count>1;所以我用了两个变量进行控制:m_selPolyPart表示选中节点所在的子对象索引,m_selVertex表示该节点在该子对象点集中的索引;这样就很容易知道选中节点的位置了,下一步移动节点的时候好控制。
3.编辑节点,包括添加节点,删除节点,移动节点。现在只实现了移动节点的功能,效果与arcgis的效果差不多。
处于编辑状态下的对象:
移动对象某些节点后的贴图:
保存编辑后的贴图,已经没有高亮显示:
© 感知世界,感知未来, All rights reserved.