OpenStreetMap是一个开放的地图数据网站,用户可将选定区域以XML格式导出地图数据。ELK插件可依据XML格式的数据创建矢量地图,生成建筑、道路、水域、铁路、便利设施等图示。
ELK插件的下载地址为:http://www.food4rhino.com/,插件下载完毕后,可将其复制到该文件目录下:C:\Users\Administrator\AppData\Roaming\Grasshopper\Libraries,重启Rhino和GH后即可看到ELK插件出现在标签栏中。
ELK插件可替代手工描绘地形图的过程,在很大程度上提高了工作效率。不过由于OpenStreetMap网站对于国内较大城市才有较为完整的矢量数据,对于数据较少的区域,ELK插件只能起到辅助的作用。如图所示,该案例是以ELK插件创建城市地图的方法。
(2)在GH中调入File Path运算器,并通过右键单击该运算器,选择Set One File Path,调入后缀名为.osm格式的矢量数据。
(3)将File Path读取的数据赋予Location运算器的File输入端。
(4)用两个Data运算器,分别拾取Location运算器的OSM、File两个输出端数据,并将其分别命名为“OSM”、“File”。
(5)将OSM、File两个输出端数据分别赋予OSM Data运算器的O、F两个输入端。由于OSM Data运算器可产生26种不同类型的图示,可通过右键单击该运算器,将Feature Type类型改为building。其输出结果即为矢量数据中对应建筑轮廓的顶点,将该运算器通过Group进行群组并命名为“building”。(如果读者想对输出建筑类型进行细分管理,可通过右键单击OSM Data运算器,选择Select Feature Sub-types,将对应的子类建筑增加到右侧选择集中,并勾选Show Individual Outputs,即可将不同子类别建筑添加到运算器输出端)
(6)用PolyLine运算器将building的顶点连成多段线,并通过Custom Preview运算器将建筑轮廓线赋予黑色。
(7)将名称为“OSM”、“File”两个Data数据赋予OSM Data运算器的O、F两个输入端,通过右键单击该运算器,将Feature Type类型改为waterway。其输出结果即为矢量数据中对应水系的节点,将该运算器通过Group进行群组并命名为“waterway”。
(8)用PolyLine运算器将waterway的节点连成多段线,并通过Custom Preview运算器将建筑轮廓线赋予蓝色。
(9)为了简化程序的连线,可将名称为“OSM”、“File”两个Data运算器各复制四组,同时分别右键单击输入端,将Wire Display的连线方式改为Hidden,即可隐藏运算器之间的连线。
(10)将复制后的第一组“OSM”、“File”两个Data数据赋予OSM Data运算器的O、F两个输入端,将Feature Type类型改为route。其输出结果即为矢量数据中对应道路的节点,将该运算器通过Group进行群组并命名为“route”。
(11)将复制后的第二组“OSM”、“File”两个Data数据赋予OSM Data运算器的O、F两个输入端,将Feature Type类型改为leisire。其输出结果即为矢量数据中对应休闲边界的节点,将该运算器通过Group进行群组并命名为“leisire”。
(12)将复制后的第三组“OSM”、“File”两个Data数据赋予OSM Data运算器的O、F两个输入端,将Feature Type类型改为amenity。其输出结果即为矢量数据中对应便利设施边界的节点,将该运算器通过Group进行群组并命名为“amenity”。
(13)将复制后的第四组“OSM”、“File”两个Data数据赋予OSM Data运算器的O、F两个输入端,将Feature Type类型改为landuse。其输出结果即为矢量数据中对应土地利用边界的节点,将该运算器通过Group进行群组并命名为“landuse”。
(14)用四个PolyLine运算器将四组节点分别连成多段线,并通过四个Custom Preview运算器将四组多段线赋予不同颜色。
(15)由于OSM Data运算器可生成26种不同类型的图示节点,本案例只提取其中六种作为演示,读者可根据需求自行增加图示种类。
领取专属 10元无门槛券
私享最新 技术干货