最近也是在使用ThingJS制作智慧城市可视化应用,发现ThingJS的CityBuilder使用起来还是特别方便的,但是直接将GeoJSON.io上的数据上传至CItyBuilder时又不是很理想,有时候一不注意,建筑就有一定的偏移,就只能重新把数据放回GeoJSON.io网站上,进行拖拽编辑,这个方法其实也不算复杂,但是随着我绘制的建筑面越来越多、属性值也越来越多的情况下,我发现我快疯了!!!
某些智慧城市应用将会有许多的城市基础建筑需要绘制,一个两个还好,但是大区域的话,几百个楼都属于平常情况,有的甚至会有几千个楼,然后实际上只需要展示几栋或者十几栋的主要建筑,这是啥比例?一比一百呀我的天,难道我要每个模型都写属性么?有些不太重要,但是属性相同并且在一块区域的,我是不是可以合并?这样我画同一个区域的建筑的时候,就只用画一下,不需要填写对应的属性了,想一想就发现,能这样岂不是大大减少了开发智慧城市可视化应用的时间?当然,这种方法只对于建筑面多的智慧城市应用有效,建筑面少的,额,少的就在一边偷笑去吧...
实际上这个软件早就出现了,并且都已经更新到了3.8版本了,但是本人愚钝,QGIS3.8版本用了两天还是觉得不甚习惯,于是又重投2.18老版本的怀抱.
那么,我就来分享一下我使用QGIS修改GeoJSON数据的心得,以及一些编辑CityBuilder的小技巧吧。
不知道大家是否有过面板关了找半天,找不到在哪开启的苦恼?可能大多数人都没遇到过,可能大部分人知道怎么打开被关闭的面板,但是对于新手来说,面板被关了,还真就找不到!!!被关闭的面板怎么重新打开?其实很简单的,面板是panel,你在view视图中找找panel面板,就能找到被关闭的面板了,比如Layers Panel,鼠标点击view,下滑至Panels,看到Layers Panel,鼠标点击选择框,即可选择该面板,其他的面板也是在Panels中,只要点击选择框选择该面板,即可出现对应面板了。2.18版本和3.8版本都是这样显示/隐藏面板的哟。
现在让我们了解一下QGIS是如何编辑GeoJSON文件的,而且,相比于GeoJSON.io 这个在线工具,QGIS到底哪些位置更方便一些呢?
QGIS拥有在线编辑上的所有功能,如修改属性、移动、修改建筑面、删除、新增等等,并且使用起来比GeoJSON在线工具要更好用一些。2.18版本的QGIS中的“开始编辑”“保存编辑”、“添加建筑面”、“绘制弧形建筑”、“移动建筑面”、“编辑建筑面”按钮的位置处于第二排图标中的前几个,如下图所示:
QGIS也能操作属性,增加或者是删除字段都可以,当要删除某一条属性值的时候,被选择的建筑面会黄色高亮提示;
其中还有一个,是导入在线地图,通过导入在线地图,可以查看我们的建筑面绘制是否有偏移,此处推荐选择的是OpenStreetMap在线地图,导入方法如下:
右键QGIS中的Browser Panel面板中的Tile Server(XYZ),点击new Connection,在出现的面板中输入OpenStreetMap的地图数据链接:https://a.tile.openstreetmap.org///.png
除了导入OpenStreetMap在线地图,同样可以导入其他在线地图,这些地图的链接不是直接拿来使用的,需要进行一个选择,选择第一个大括号中的数字,如Google中的“影像”这一条链接:https://mt.google.cn/vt/lyrs=s&hl=zh-CN&gl=cn&x=&y=&z= ,我们在实际使用中则是会在mt 后面的大括号中选择0,1,2,3中的任意一个数字替换掉这整个大括号,比如我选择数字1,那么我们在使用QGIS导入的时候,输入的数据链接就是这样子的:https://mt1.google.cn/vt/lyrs=s&hl=zh-CN&gl=cn&x=&y=&z= ;
'Google': {
'影像': 'https://mt.google.cn/vt/lyrs=s&hl=zh-CN&gl=cn&x=&y=&z=',
'街道': 'https://mt.google.cn/vt/lyrs=m&hl=zh-CN&gl=cn&x=&y=&z=',
'影像带标注': 'https://mt.google.cn/vt/lyrs=y&hl=zh-CN&gl=cn&x=&y=&z=',
'地形带标注': 'https://mt.google.cn/vt/lyrs=p&hl=zh-CN&gl=cn&x=&y=&z='
},
'高德': {
'影像': 'https://webst0.is.autonavi.com/appmaptile?style=6&x=&y=&z=',
'街道': 'https://webst0.is.autonavi.com/appmaptile?style=7&x=&y=&z=',
},
'GeoQ': {
'基础': 'https://map.geoq.cn/arcgis/rest/services/ChinaOnlineCommunity/MapServer/tile///',
'魅蓝': 'https://map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetPurplishBlue/MapServer/tile///',
'暖色': 'https://map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetWarm/MapServer/tile///',
'灰色': 'https://map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetGray/MapServer/tile///'
},
'OSM': {
'街道': 'https://.tile.openstreetmap.org///.png'
},
领取专属 10元无门槛券
私享最新 技术干货