采用矩形提取工具进行栅格裁剪,也可以输入对应已有的矢量或栅格要素,但是始终会作为矩形进行裁剪,因而结果与上述裁剪工具中未勾选“将输入要素用于裁剪几何”的结果一致,即将利用输入几何的最小外接矩形进行裁剪栅格处理。
利用已有矢量或栅格范围对已有栅格数据进行裁剪的另一个有效快速的方法是利用空间分析工具箱中按掩模提取工具,如下图所示,直接输入对应的输入栅格和用来提取范围的栅格或矢量要素,即可。
另外,就是利用栅格计算器,进行栅格处理,可将对应的用来裁剪的栅格数据值处理为1,直接与输入栅格进行乘法运算即可。如果输入为矢量数据,则可利用面转栅格,或者要素转栅格将其先转为栅格数据,再进行栅格计算器运算即可。
通过上述工具,不难发现,如果已有待裁剪的范围的栅格数据,直接利用影像分析窗口进行裁剪最快速,如果有对应范围的矢量数据,则利用栅格数据处理工具集中的裁剪工具或按掩模提取工具都能快速得到想要范围的栅格数据,而如果已有指定结果范围的坐标信息,则利用矩形、多边形、圆形提取工具进行裁剪也可获得相应的结果。
在map中获取要素时,这样是可以的,不过不能得到要素的完整属性信息,貌似只能拿到ID值。
ISelection pSelection = pMapFeatureSelection;
IEnumFeature enumFeature = pSelection asIEnumFeature;
IFeature feature = enumFeatureNext();
while (feature != null)
{
arrayAdd(feature);
feature=enumFeatureNext();
}
那如果要得到完整的属性信息怎么办呢?IEnumFeatureSetup起到大作用了。如下所示:
ISelection selection = pMapFeatureSelection;
IEnumFeatureSetup enumFeatureSetup = selection as IEnumFeatureSetup; //这里很必要
enumFeatureSetupAllFields = true; //这里很必要
IEnumFeature enumFeature = enumFeatureSetup as IEnumFeature;
enumFeatureReset();
IFeature feature = enumFeatureNext();
while (feature != null)
{
stringvalue = featureget_Value(index)ToString();//就可以得到任意字段的值了
feature = enumFeatureNext();
}
这个不一定,有些工具生成的线要素 Shape_Length是代表实际长度的。有些则不是。
建议你打开属性表,新建一个字段,右键菜单中使用“计算几何”工具,选长度,即可求出线要素准确的实际长度。
如果你的线图层是pXFeaCls
IFeatureCursor pFeaCur= pXFeaClsSearch(null,true);
IFeature pFea; //要素
While((pFea=pFeaCurNextFeature())!=null)
{
string sValue=pFeaGet_Value(0);// 获取第1个字段的值
IPolyLine pLine=pFeaShape as IPolyLine;// 获取线要素的图形
}
检查几何
用于检查要素类中图形存在的问题,并以报告的形式汇总检查出的所有几何问题。检查结果的输出表中包含以下字段:
CLASS - 发现问题的要素类的完整路径和名称。
FEATURE_ID - 存在几何问题的要素的要素 ID (FID) 或对象 ID (OID)。
PROBLEM - 有关问题的简要描述。
注意:在做拓扑检查前,为了防止出现意想不到的错误(比如,拓扑检查后原本单独存在的要素发生粘连,形成了连片的要素,进而产生额外的重叠错误),需要先检查并修复几何。
2 几何问题
要素类中的几何问题在结果报告中的PROBLEM字段中被加以描述。PROBLEM可显示出下列问题之一:
短线段 - 有些线段短于与几何关联的空间参考的系统单位所允许的长度。
空几何 - 该要素不具有几何或者 SHAPE 字段为空。
不正确的环走向 - 面的拓扑结构比较简单,但是面的环可能没有正确地定向(外环 - 顺时针,内环 - 逆时针)。
不正确的线段方向 - 各条线段的定向不一致。线段 i 的“到”点应该与线段 i+1 的“从”点相接。
自相交 - 面无法与自身相交。
非闭合环 - 环中最后一条线段的“到”点必须与第一条线段的“从”点相接。
空的部分 - 几何具有多个部分,其中一个部分为空(没有几何)。
重复折点 - 几何的两个或多个折点坐标相同。
不匹配的属性 - 某线段端点的 Z 坐标或 M 坐标与下一条线段中与之重合的端点的 Z 坐标或 M 坐标不匹配。
不连续的部分 - 几何的某部分由断开的或不连续的部分组成。
空的 Z 值 - 几何的一个或多个折点 Z 值为空(例如,NaN)。
掌握面要素的绘制方法和属性录入;掌握根据长度角度、绝对坐标等创建线的方法;掌握要素编辑时要素的复制粘贴、旋转、平移、缩放等方法。
ExerciseData文件夹数据;CreatingNewFeaturesmxd;EditingFeaturesmxd。
打开“CreatingNewFeaturesmxd”地图文档,开启可编辑状态,在编辑工具条中打开捕捉工具,选择需要捕捉的图形,如图1所示。
在编辑工具中,选择创建要素选项,选择StudyArea图层,选择需要绘制的要素,然后沿着黑边进行创建面要素。如图2所示
在创建要素窗口中选择编辑图层为“RoadCasings”,构造工具为线,设置捕捉工具为端点捕捉。首先捕捉到左上角的断点,创建线的第一个端点。鼠标右键选择“长度”或者按 Ctrl+L 。设置线段长度为15。如图3所示。
再按下 Ctrl+A 设置角度为260,如图4所示。
创建好第二个端点之后,鼠标右键选择“正切曲线”,设置弦长和增量角大小,选择左对齐方向。创建第三个端点,如图5所示。
按下 Ctrl+D ,在d出的“增量X,Y”窗口中,设置第四个端点与第三个端点的相对位置,如图6所示。
按下 Ctrl+P ,选择需要平行的线,设置其长度为415,创建第五个端点。如图7所示。
按下 F6 ,设置绝对距离,创建第六个端点,如图8所示。
通过运用上述工具,将道路线逐一连接上,完成道路的绘制。如图9所示。
在“EditingFeaturesmxd”地图文档中,将“New Buildings”图层中的要素,粘贴到“Buildings”中,如图10所示。
使用编辑工具条中的选择角度工具,按 A 设置角度大小。如图11所示。
选中要素,按住 Ctrl ,拖动其要素的旋转中心点,拖动至左下角。如图12所示。
移动要素到指定位置,如图13所示。
在ArcMap中加载比例工具,如图14。
使用比例工具,将要素缩放至合适大小,完成实验。如图15
本实验主要介绍了一些地图要素编辑的 *** 作,以及一些快捷键的使用。
在本实验中遇到了要素无法拖拽的现象,后来发现是容差设置出现了问题,在容差范围内,要素无法进行移动。后来将其容差设置为0之后,方可移动要素。
以上就是关于arcgis矢量化时候为什么长度面积过小全部的内容,包括:arcgis矢量化时候为什么长度面积过小、ArcGIS Engine中怎么获取Map中已经选择的要素呢、ArcGIS Desktop Shape_Length问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)