geodatabase的确是个不错的东西,拓扑方面做的也很合手,但是用惯了coverage的人就不愿意转到新的工具来弄,要求拓扑的实现一定要有如此如此的格式,我更看重功能方面,只要新的东西能够完全替代旧的,那就要实现这种过渡,虽然可能意味着一个阵地的失去,但赢得了新的战场。
coverage在workstation里的确非常经典,但是arcmap里已经不能编辑coverage了,并且官方的说明中也明确表示不打算再在coverage上做过多事情了,gdb才是应该鼎力推广的东西。
前面我做的工作很奇怪的地方就在于生成的cov属性子都在region里了,而所要求的是没有region,只要polygon,弄了好几天都没能解决,最后还是在workstation里弄出来了:
shp->cov
shapearc ___ ___ poly
clean ___ [角度][容差]
regionpoly ___ ___ poly
关键就在于poly这个参数,其实后来我琢磨arcmap也可以实现,只是转换过程中poly没有特意选定,后经试验正确。
cov里应用region其实是挺不错的,当把四个城市的乡界数据一起转城cov时,会有四个region和一个polygon,而各个城市的属性都放在了region里了,利用region进行转出也和poly一样方便,而且移动polygon的点线就可以同时调整region,方便很多。
cov的clean和build容差设定非常重要,太大会把正确细节滤掉,太小起不到作用。
目前较成熟的做法是:
1 arcmap勾出shp文件的界线图
2 featuretopolygon转成poly的shp文件 并赋属性值
3 转到Geodatabase中 建立dataset和topology
4 检查拓扑错误 主要根据无gaps无overlay的拓扑规则
5 清理错误 先做一下拓扑的处理 图形的重建 重叠部分会分成新的polygon
5.1原overlay部分可以dissolve掉 因为属性值和原所在位置一样 但gaps不易去除,可以createnewfeatures但无属性 不能dissolve 不得不一一调整
5.2转出到cov中 在进行clean 此时可以根据原属性表中 最大错误部分和最小正确部分的大小来设定容差 需多次调试
6 整理最后的文件
那种worstation里的做法不甚好用,相比之下。
对于为什么shp->cov在arcmap中有些机子不好用的问题比较奇怪,推测可能是需要预装worstation环境,也可能是因为硬盘ntfs格式的问题,限制了dll的读写权限。