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为带有空间参考的矢量图层)

posted @ 2018-05-15 14:18  giserlong  阅读(999)  评论(0编辑  收藏  举报