ArcGIS三种筛选提取要素的方法

简介: ArcGIS三种筛选提取要素的方法

示例数据:

OpenStreetMap下载数据gis_osm_places_free_1.shp,裁剪内蒙古部分

【数据共享】OpenStreetMap数据下载

点要素如下:属性表如下:问题描述:示例数据中包含了内蒙古各个城市、县、村、地区等位置的点要素,要素过于密集,如果想要提取出其中的一部分数据该怎么办呢?比如看属性表中,有一个fclass字段,包含city、county、town等多个属性,下面举例说明提取其中字段属性为city的点要素并生成一个新的要素图层。

法1:

1、点击属性表左上角,下拉菜单中选择Select By Attributes... 或者直接点击ArcMap菜单栏的Selection->Select By Attributes... 按属性选择


2、弹出的窗口中表达式为fclass = “city”,点击Apply


3、可以看到所有属性为city的点被选中


4、这时将未选中的点删掉即可得到我们想要的效果。点击属性表左上角,下拉菜单中选择


Switch Selection


或直接在属性表上点击Switch Selection按钮

可以看到要素被反选

5、打开编辑器,点击开始编辑,不进行此操作无法对要素进行增删改等编辑操作。


6、点击Delete Selected按钮7、保存编辑内容,停止编辑,即可得到只包含city属性的要素图层。


法2:

1、使用工具:Analysis Tools->Extract->Select,此工具用于从输入要素类或输入要素图


层中提取要素,并将其存储于输出要素类中。

2、设置好输入图层、输出位置、SQL表达式


3、结果同法

补充:如果以图层作为输入要素并且未输入任何表达式,则仅将所选要素写入到输出要素类。如果将图层作为输入要素并且输入了表达式,则仅对所选要素执行表达式,并将所选集合中基于表达式的子集写入到输出要素类。

如果要根据图层中的所选要素集合来创建要素类,请使用复制要素 (Copy_Features) 工具,即法3。

法3:

1、执行法1前三步,即将对应要素选中

2、使用工具:Data Management Tools->Features->Copy Features。此工具主要用于将输入要素类或图层中的要素复制到新要素类。如果输入是具有选定内容的图层,则仅复制所选要素。如果输入是地理数据库要素类或 shapefile,则会复制所有要素。

3、设置好图层和输出位置

4、结果同上

补充:此工具可用于进行数据转换,因为它可以读取多种要素格式(任何可添加到 ArcMap 中的格式),并且可将这些要素格式写入 shapefile 或地理数据库(文件、个人或 ArcSDE)。

对比:

三种方法中,法2最为简单。但是却不能解决所有问题,比如:在呼和浩特市附近,不光有一个名为呼和浩特市的city点,还有其下辖的回民区、赛罕区等均为city点,若要去除其下辖区县只保留呼和浩特市一个点,则法2行不通,需要使用法1或法3处理。

合并

1、用上述方式分别将几个国家的要素筛选提取出来,然后用Data Management Tools-

>General->Merge工具合并到一个图层

2、加载要合并的图层,设置输出路径,其他可选

3、输出结果如下

另一个小问题:arcgis cannot acquire a lock

官方的解释如下:


如果您是使用文件地理数据库中某数据集的唯一用户并且只通过一个进程访问此数据集,则可以自由编辑或修改其属性。可以删除、压缩或解压缩数据集。但是,如果另一进程已经在访问此数据,无论此进程是在您的计算机还是在另一计算机或服务上,ArcGIS 都将阻止您执行任何上述操作。另一个进程终止后,可再次执行这些操作。例如,如果您在 ArcMap 或 ArcGIS Pro 的地图中显示了一个要素类,同时试图从地理数据库中删除同一要素类,则会显示以下消息:

Failed to delete selected object(s)

Cannot acquire a schema lock because of an existing lock.

如果随后关闭地图并重试,即可删除此要素类,只要没有任何其他进程正在访问此数据。


当进程访问某数据集时,它会锁定此数据集,以阻止其他进程对其进行修改。访问某个数据集时还会锁定其他相关数据集,具体说明如下:

  • 访问某个要素数据集中某一要素类的进程会锁定此要素数据集中的所有要素类。
  • 锁会应用于关系类的双方。也就是说,如果两个独立的要素类通过某个关系类建立了关联,并且某个进程正在访问其中一个要素类,则这两个要素类都会被锁定。
  • 为跟踪锁定的数据集,ArcGIS 会在文件地理数据库文件夹中放置 lock 文件。当进程终止时,与其关联的 lock 文件会自动删除。但是在某些情况下,例如当进程过早结束时,lock 文件可能会留在地理数据库文件夹中。当新锁定发生时,ArcGIS 最终会在之后的会话中移除这些 lock 文件。每当运行数据库碎片整理地理处理工具或在 ArcGIS 中复制和粘贴数据时,也会移除这些文件。同时,这些 lock 文件将不再继续锁定数据。

锁定对于文件和进程管理至关重要。但是,有时锁定也会成为羁绊。如果您受到阻止,无法对某个数据集及其属性进行编辑、删除、压缩或解压缩,那么是因为发生了以下情况之一:

  • 正在同时使用两个或多个应用程序或服务访问数据。关闭其中一个应用程序或停止服务,以便可以执行所需的操作。
  • 计算机上的另一进程仍在访问此数据,因为该进程没有正常终止。例如,尽管应用程序似乎未在运行,但该应用程序可能未正常关闭,因此仍在锁定此数据。可打开“任务管理器”查看是否存在此类孤立进程并将其结束。


如果觉得文章不错,欢迎关注点赞转发~

目录
相关文章
|
5月前
|
定位技术
ArcGIS面要素最小外接矩形、外接圆的绘制方法
ArcGIS面要素最小外接矩形、外接圆的绘制方法
|
5月前
|
定位技术
ArcGIS手动分割矢量面要素从而划分为多个面部分的方式:Cut Polygons Tool
ArcGIS手动分割矢量面要素从而划分为多个面部分的方式:Cut Polygons Tool
|
5月前
ArcGIS中ArcMap求取点要素在栅格图像中的行列号的方法
ArcGIS中ArcMap求取点要素在栅格图像中的行列号的方法
|
5月前
|
编解码 定位技术 Python
Python中ArcPy实现ArcGIS自动批量制图与地图要素批量设置
Python中ArcPy实现ArcGIS自动批量制图与地图要素批量设置
|
5月前
|
数据库
ArcGIS中ArcMap新建矢量点线面要素图层并手动划定要素图层范围区域
ArcGIS中ArcMap新建矢量点线面要素图层并手动划定要素图层范围区域
|
5月前
ArcGIS中ArcMap相交分析Intersect解决要素落入另一多部分矢量面要素的问题
ArcGIS中ArcMap相交分析Intersect解决要素落入另一多部分矢量面要素的问题
|
5月前
ArcGIS矢量面要素中零碎小面积空洞区域补全与单独部分区域分离并剔除
ArcGIS矢量面要素中零碎小面积空洞区域补全与单独部分区域分离并剔除
|
5月前
ArcGIS依据矢量要素消除另一个面要素中部分区域(擦除)
ArcGIS依据矢量要素消除另一个面要素中部分区域(擦除)
|
5月前
|
定位技术
ArcGIS批量计算图层中矢量要素面积——ArcMap
ArcGIS批量计算图层中矢量要素面积——ArcMap
|
10月前
ArcGIS:如何基于文本创建点要素?
ArcGIS:如何基于文本创建点要素?
85 0