Arcgis CreateFishnet工具,生成到FileGDB中要素类的格网大小不一致
我的第一篇博客!哈哈
最近在做一些关于创建渔网的工作,发现一些问题,做个总结。
1.问题描述:如图1,设置好渔网的必要参数,输出目录为gdb里的矢量图层,(行列数比较大,渔网的地理范围较小),输出的格网大小不一致(如图2)。而其他参数保持不变,只将输出改为shp格式,则渔网大小一致(如图3)。
图1
图2
图3
2.问题原因:FileGDB和shapefile两个数据模型的分辨率和容差值不一样导致的结果不同,因为shapefile本身是没有分辨率和容差值的概念的,但是FileGDB中要素类的默认分辨率是0.0001度,而网格的面积足够小的话就会很接近这个值,有可能导致该问题。默认生成数据的分辨率为0.0001太低了,新建空间参考4326的要素类的分辨率是0.000000001,就不会出现该问题。
3.解决方案:选择带有空间参考的图层作为模板文件(ArcMap中);CreateFishnet.template = FeatureClassUtil.GetGdbFeatureClass(@"E:\test\fishnet.gdb", "road")来替代CreateFishnet.template = string.Format("{0} {1} {2} {3}", xMin, yMin, xMax, yMax) (ArcEnginge中调用GP工具,road为带有空间参考的矢量图层)