若何运用QGIS基于地舆数据的肌理分析图_数据_水经注
城市肌理是历史积淀的结果,在韶光的打磨中蕴含了丰富的生活内容,因而城市肌理是有一定规模、一定组织规律的人类城市聚居形态。
它涉及城市生活的方方面面,亦与城市构、城市功能及城市形态密切干系。
下面我们展示利用QGIS制作此类肌理剖析图,但是QGIS并非唯一办法,用ArcGIS合营Rhino、Grasshopper、ELK或是MapBox都能做到。
2. 利用QGIS的好处选择用QGIS,紧张缘故原由:
QGIS的图更好看,图面效果极度依赖于样式设置,而QGIS的样式设置能做到的事情,ArcGIS该当也都能做到,但QGIS导的图是带抗锯齿的。
当然,在ArcGIS里也能通过将出图分辨率设置到600PPI然后再缩小来实现抗锯齿,但QGIS在事情区里的图形也是抗锯齿的。
QGIS还有不少特色,包括而不限于免费、开源、体积相对较小、支持多种数据格式。
在作图的过程中用到了一些插件。
OpenLayersPlugin,用来将OpenStreetMap(OSM)底图载入到事情区,方便探求要目标位置,也便是本例的曼哈顿。
OSMplacesearch,可以输入地名,搜索位置——类似于舆图网站和谷歌地球,当然,不安装这个插件也没问题。
QuickOSM,用以处理OSM数据包。如果直策应用QGIS导入OSM数据,会有一些属性被放到other_tags字段中——譬如本例中关键的height。
QGIS的插件可以在菜单栏→Plugins→ManageandInstallPlugins中进行安装,在搜索栏中键入插件的名称,就能找到上述插件。
QuickOSM工具
本例中利用到的工具条如下,最好在菜单栏→View→Toolbars中设置为与下图相同,以免产生找不到工具的麻烦。
工具条设置
3. 数据获取本例利用的数据来自OpenStreetMap,也可以利用水经微图进行***。
水经微图还可以***高清卫星影像、高程数据、历史影像、矢量道路等专业数据,如果你还没有安装水经微图,请通过关注微信公众号"水经注GIS",然后在后台回答"微图"即可获取软件***地址,当然也可以直接在水经注GIS官方网站***。
选择OpenStreet舆图
选择***数据
除此之外OSM在网页上也供应了其他备选导出路子,不过QGIS本身也附带OSM数据***功能,以是,我就改为利用该工具来进行***。
选择数据
首先,利用菜单栏→Web→OpenLayerPlugin→OpenStreetMap,将OSM底图添加到QGIS事情区中。
视乎网速,载入的速率可能会有差异。
然后,通过菜单栏→Panel→OSMplacesearch打开地点搜索面板,输入Manhattan。
等下方列表涌现后,点按Zoom来缩放到所选目标区域。
选择目标区域
可以创造,舆图的形状并不符合实际情形。这是由于当前所选的参考坐标系(CRS)是WGS84,一个以经纬度为单位的坐标系统。
由于要将地球这个椭球体展开成正交的经纬网格,事情区域中的图形发生了形变。
要办理这个问题,可以点击上图中界面右下角「Render」阁下写着EPSG:4326(OTF)的区域,然后在弹出的窗口中勾选Enable'onthefly'CRStransformation(启用动态参考坐标系变换),并在Filter中搜索WGS84/PseudoMercator,选中,确认,之后的图形形状,便是「正常」的了。
关于不同投影办法和CRS的内容,并非本文的重点,此处暂且略过。
右侧窗口是QGIS自带的OSM数据***界面,开启位置在菜单栏→Vector→OpenStreetMap→DownloadData。
可以向上图的预选设置那样,***事情区视图范围的数据,也可以手动输入经纬度界定出的矩形框范围。范围越大,须要***的数据量越多(OSM导出是会导出最详细层级的数据的),***须要一段韶光。
4. 数据处理通过上一步,我们得到了一个约50M大小的OSM数据包,里面包含了道路、兴趣点(POI)、用地、建筑之类的信息。
然而,制作本例的肌理剖析图,仅仅须要个中部分数据。
此时,须要利用QuickOSM这个插件。
在菜单栏→Vector→QuickOSM中打开插件,在OSMFile一栏中打开刚才***好的文件,仅勾选Multipolygon,选择Alltags。
点击Open后,是漫长的等待(我***的OSM文件包含了将近五万个多边形面)。
本来,有一个速率比利用QuickOSM快得多的导入方法,但经试验后,创造这个方法存在bug,会导致一些要素的属性缺失落——这个缺点还是比较致命的。
我也翻查了StackExchange,创造这个bug目前无解,只好利用QuickOSM插件了。
加载成功后,要素会自动添加到事情区域中。
这时候,就可以在图层面板中右键单击刚才导入进来的图层,先保存(Saveas…)。
加载数据
Multipolygon除了包含建筑外轮廓,也包含其他面状要素如图中多边形块。
而这些要素,显然并非本例须要的。
要去除这些块状,可以利用表达式选取工具(图5中高亮的图标)。在窗口中输入以下表达式"building"isnotNull。
然后点窗口右下角的Select,就可以选取所有属于建筑的面状要素。
不同的数据集,其字段很可能是不同的(当然,OSM数据的格式相称固定,"building"字段表示的便是建筑类型,若是Null,也就是非建筑了),在处理数据的时候,须要查看属性表(高亮图标右边的工具,或者右键单击图层,OpenAttributeTable)根据情形来写表达式。
默认情形下,选中的要素会变成亮黄色。
此时,再右键单击图层面板中确当前图层命名为Polygons,再实行一次另存为操作。
记得在这一次操作中,勾选Saveonlyselectedfeatures。
5. 表达虽然纽约的OSM数据相对完善,但查看属性表之后,会创造仍旧有部分建筑的高度信息(height)为Null也便是说,该要素缺失落高度信息。
同时,属性表中height字段的类型是Text(String),也便是字符串。
但是,如果想将数据映射到颜色渐变上,数据类型必须是整数(Integer)或者实数(Real)。
办理方法有两个
第一种方法是对数据本身进行转换:
打开图层的属性表(方法见上文),按属性表窗格中最左侧的黄色铅笔图标,开启编辑模式;
按右数第二个图标(NewColumn),新建一个字段,名为"BldgHeight",类型(Type)选择Real,Width填5,Precision填2(Width指全体数据总位数,而Precision为小数位数,按需选择)。
按最右边的(?)图标,打开字段打算器(FieldCalculator)。
如下图中,勾选Updateexistingfield,选择刚才创建的`BldgHeight`,并在填写表达式的文本框中填入下述表达式,确定。
casewhen"height"isNullthen0else"height"end。
末了保存。
第二种方法,是直策应用原来的数据,但是在设置图层样式时利用表达式来进行转换。
设置样式的方法很大略,在图层面板中右键单击建筑图层,然后点选Properties。
在涌现的窗口中选择Style,就可以看到如下界面。
在最顶真个下拉菜单中选择Graduated,以利用按数据选取渐变颜色这种表达类型,然后在Column中选择须要利用的数据——如果在上面利用了「方法一」,那么在这里就直接选择BldgHeight。
如果不打算动原始数据,那么就点击右边的epsilon图标,填入这个表达式:
casewhen"height"isNullthen0elsetoreal("height")end。
完善要素缺失落高度信息
在初始状态下,这个窗口的分类列表中是没有任何项目的。
在Mode的分类菜单中选取一种分类法——譬如图中的自然间断法——并且填写分类数量,然后点按「Classify」按钮,就能进行分类。
当然,也可以自己进行手动分类(AddClass)。
末了按Apply,就能在事情区域中看到效果了。
此时,可能会创造每个色块都是带描边的——而在这个例子中,描边的效果并不好。
要取消掉描边,只须要点按上图窗口中硕大的「Change」按钮,在弹出来的窗口中,选中Fill里面的SimpleFill,末了变动描边样式(BorderStyle)即可。
6. 出图出图前,不妨改一改底图的底色。
通过菜单栏→Project→ProjectProperties打开文档选项,在General一项中,就可以看到底色设置了。
将图做出来了,还得导图。
QGIS供应了类似AutoCAD中布局的功能(Composer),在菜单栏→Project→ComposerManager中,可以对舆图布局进行增加、删除等管理。
新建一个Composer,在涌现的窗口左侧,很随意马虎就能找到「Addnewmap」这个图标,戳一下,就能在画布上绘制矩形舆图框了——类似于AutoCAD的视口。
而在右手边的Composition窗格,是关于文档本身的信息设置——譬如,纸张大小,导出图形的分辨率,是否以位图办法导出PDF(如果打算得到矢量文稿,在AI中进一步修正,就不要勾选了),等等;而ItemProperties窗格,则是当前选中的工具自身的特性,譬如舆图的比例、比例尺/指北针这些工具的样式等等。
终极出图效果
7. 总结
虽然这篇文章选用的工具是QGIS,但用ArcGIS也能举一反三地去做,毕竟这两个软件的内在逻辑也比较相似。
或许用ArcGIS会在数据获取、转换方面碰着一些本文没有提到的麻烦,但如果已经有一定的ArcGIS利用履历,大概也能通过查询文档和StackExchange之类的方法来办理吧。
以上案例所利用的OpenStreet数据可通过水经微图软件进行***,除此之外水经微图可以***高清卫星影像、高程数据、历史影像、矢量道路等专业数据,如果你还没有安装微图,请通过关注微信公众年夜众号"水经注GIS",然后在后台回答"微图"即可获取软件***地址,当然也可以直接在水经注GIS官方网站***。
末了,如果您在事情中碰着与GIS干系的任何难题,请通过关注"大众年夜众号"水经注GIS"并在后台留言见告我们,我们将针比拟较有范例性和代表性的问题供应办理方案,从而将我们"为您供应丰富的舆图数据与专业的GIS做事"之宗旨落到实处!
本文系作者个人观点,不代表本站立场,转载请注明出处!