城市肌理是历史积淀的结果,在韶光的打磨中蕴含了丰富的生活内容,因而城市肌理是有一定规模、一定组织规律的人类城市聚居形态。

若何运用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做事"之宗旨落到实处!