前言

当我们用GIS软件打开一个SHP文件的时候,会显示出里面全部的几何图形,假如我只想要其中的一部分数据显示出来,其他的均不要显示,有那么几种操作方法。

我们可以通过把需要显示的几何面复制到另外一个图层里面来单独显示,但如果需要显示的区域一变,又要重新搞,不是很方便。

下面将记录一下我学到的解决方法:ArcGIS和QIGS都支持筛选一个图层中的数据,提供类似SQL一样的查询语句,只需编写查询条件图层就会只显示匹配到的面。

准备SHP数据

  1. 到GitHub开源库下载最新版的全国省市区边界数据,地址:https://github.com/xiangyuecn/AreaCity-JsSpider-StatsGov ,支持 在线预览(高德地图、ECharts),这个开源库经常更新维护 各方面都支持得很好,可以到乡镇级,也不乱码。

  2. 下载并解压得到 ok_geo.csv 文件,里面包含了全国的省市区边界数据,此开源库内提供了一个转换工具,开源将此csv文件转换成shp、geojson、sql等格式,也一样的下载一下。

  3. 打开转换工具,工具里面选择 ok_geo.csv 文件,因为里面是全国所有的省市区数据,比较大,我们先导出武汉的所有区县数据来演示;在工具的城市名前缀里面填写"湖北省 武汉市 "(结尾带一个空格,不然武汉市的边界也会导出来)。

  4. 点击转换工具的转成shp文件按钮,耐心稍等一会,武汉市的所有区县数据就导出成功了,shp文件在 ok_geo.csv 同一个目录里。

ArcMap 的筛选

在ArcMap中打开导出的武汉SHP文件:

图层上右键打开图层属性面板,切换到查询定义(Definition Query):

ArcMap查询定义里面填写了name='汉阳区' or name='硚口区'条件,意思是筛选出属性表中name列等于汉阳区或者硚口区的数据,点确定后就查询出需要显示的数据,不匹配的全部未显示,只会显示匹配到的:

如何编写更多的查询条件请参考下面。

QGIS 的筛选

在QGIS中打开导出的武汉SHP文件:

图层上右键打开过滤(Filter)菜单,进入查询定义(Query Builder):

QGIS查询定义里面填写了name='汉阳区' or name='硚口区'条件,意思是筛选出属性表中name列等于汉阳区或者硚口区的数据,点确定后就查询出需要显示的数据,不匹配的全部未显示,只会显示匹配到的:

如何编写查询条件

查询条件和SQL的where查询条件类似,支持 and or like = > < != 等运算符。

字符串用'单引号括起来,比如:name='张三'、name like '张%'。

字段名称直接写或者用"双引号括起来,比如:"编号(数字)"=12345。

用and和or进行多个条件组合查询,比如:面积>100 and 面积<200 or 面积=999。

and组合比or组合优先级更高,可以用()来控制优先级,比如:(名称='A' or 名称='B') and 面积<200,会查找出名称为A或B,并且面积小于200的数据;如果去掉括号,就变成了:查找名称为A的所有数据,和名称为B并且面积小于200的数据。

用like来进行字符串的模糊查询,比如:

  • name like '%小%' 查找名字中包含小字的所有数据;
  • name like '张%' 查找名字为张开头的所有数据;
  • name like '%小' 查找名字为小结尾的所有数据。

【完】

ArcGIS QGIS学习二:图层如何只显示需要的部分几何面数据(附最新坐标边界下载全国省市区县乡镇)的更多相关文章

  1. ArcGIS QGIS学习一:打开shp、geojson地图变形变扁问题(附最新坐标边界下载全国省市区县乡镇)

    目录 打开的地图变扁了 修改投影坐标系 等角圆锥投影 Web墨卡托投影 一些要注意的地方 打开的地图变扁了 记得初学GIS软件时,用ArcGIS或QGIS打开省级地图的时候(shp或geojson等格 ...

  2. chrome远程调试真机上的app - 只显示空白页面

    chrome远程调试真机上的app - 只显示空白页面 这个是chrome需要的插件没办法自动下载导致的,怎么办你懂得,越狱... 调试起来感觉卡顿的厉害哇,有没有更好的方式?

  3. fiddler启用过滤规则只显示想要的接口数据

    fiddler启用过滤规则只显示想要的接口数据 比如只显示192.168.11.80站点数据 点击应用规则就可以只显示192.168.11.80了

  4. C# ArcgisEngine开发中,对一个图层进行过滤,只显示符合条件的要素

    转自原文 C# ArcgisEngine开发中,对一个图层进行过滤,只显示符合条件的要素 有时候,我们要对图层上的地物进行有选择性的显示,以此来满足实际的功能要求. 按下面介绍的方法可轻松实现图层属性 ...

  5. 面图层拓扑检查和错误自动修改—ArcGIS案例学习笔记

    面图层拓扑检查和错误自动修改-ArcGIS案例学习笔记 联系方式:谢老师,135_4855_4328,xiexiaokui#139.com 数据源: gis_ex10\ex01\parcel.shp, ...

  6. jQuery Mobile学习之grid、等待显示的ajax效果、页面跳转、页面跳转传递参数等(二)

    Index.cshtml <!-- Start of second page --> <section data-role="page" id="bar ...

  7. Selenium2学习-022-WebUI自动化实战实例-020-JavaScript 在 Selenium 自动化中的应用实例之二(获取浏览器显示区域大小)

    前几篇文章中简略概述了,如何获取.设置浏览器窗口大小,那么我们该如何获取浏览器显示区域的大小呢?此文讲对此进行简略概述,敬请各位小主参阅.若有不足之处,敬请各位大神指正,不胜感激! 获取浏览器显示区域 ...

  8. ArcGIS API for JavaScript(2)-ArcGIS Server发布要素图层服务

    1.前言 上一篇该系列的文章我们主要讲了一下基础Web地图搭建,这篇我们主要讲一下ArcGIS Server发布服务,并且如何调用服务.将自己的数据加载到Web地图当中来,实现Web端浏览数据. 2. ...

  9. ArcGIS案例学习笔记1_1

    ArcGIS案例学习笔记1_1 联系方式:谢老师,135_4855_4328, xiexiaokui#qq.com 时间:第一天上午 准备 0.U盘复制ArcGIS培训*** 1.练习数据不要放到桌面 ...

  10. ArcGIS AO中控制图层中要素可见状态的总结

    一.DefinitionExpression 实现新建查询图层,查询结果要素为选中状态 该接口可以通过两种方法来控制要素的可见状态. 思路1 通过该接口的 DefinitionExpression 方 ...

随机推荐

  1. 谣言检测——(GCAN)《GCAN: Graph-aware Co-Attention Networks for Explainable Fake News Detection on Social Media》

    论文信息 论文标题:GCAN: Graph-aware Co-Attention Networks for Explainable Fake News Detection on Social Medi ...

  2. 【前端】在浏览器控制台,直接发Ajax请求

    我们在日常的开发的过程中,经常需要前端测试发送请求测试一些数据.但是由于一些session,cookie的存在,我们无法在postman上创建一些会话.那么这样,我们就可以在浏览器上直接发送Ajax请 ...

  3. 发布日志- kratos v2.1.4 发布!

    v2.1.4 release https://github.com/go-kratos/kratos/releases/tag/v2.1.4 New Features feat(registry/co ...

  4. 11. 第十篇 网络组件flanneld安装及使用

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247483834&idx=1&sn=b04ec193 ...

  5. Elasticsearch : alias数据类型

    就像其他的很多语言一样,我们可以给已有的变量取一个别名(alias).即便是对高级语言一样,比如我们定义不同的指针变量,指向同一个内存空间.这个有些类似别名的概念. 在Elasticsearch中,我 ...

  6. 第一个Django应用 - 第一部分:请求与响应

    一. 新建项目 进入你期望的项目保存目录,运行下面的命令: $ django-admin startproject mysite 这将在目录下生成一个mysite目录,也就是你的这个Django项目的 ...

  7. Docker MySql 查看版本的三种方法

    目录 Docker MySql 查看版本的三种方法 1.mysql -V命令查看版本 2.status命令查看版本 3.version命令查看版本 Docker MySql 查看版本的三种方法 1.m ...

  8. [题解] Codeforces Global Round 22 1738 A B C D E F 题解

    很久没rated打过cf的比赛了,这次打得还行,至少进前100了 点我看题 A. Glory Addicts 把类型0的数放进数组a里,类型1的数放进数组b里.如果\(|a|=|b|\),你可以把所有 ...

  9. Allure的简单使用

    Allure的简单使用 1.Allure简介 简单的理解下,可以把Allure当成一个用于生成美观测试报告的开源工具,配合Pytest测试框架使用更佳. 也就是说,Allure是在Pytest执行测试 ...

  10. WinDbg Preview安装以及符号表配置

    1.安装WinDbgPreview 在Microsoft Store直接搜索windbg就可以下载. 2.配置符号服务器 2.1 符号 符号是方便调试程序的文件,通常是pdb文件.一个模块(可执行程序 ...