使用QGIS轻松创建通信基站点图层

今日开篇,连载文集《使用QGIS轻松编制通信网络规划》,主要分享「通信民工」在通信设计、网络规划和项目支撑中遇到的地理可视化相关话题。

本节主要分享QGIS环境搭建、认识界面和创建点图层三个方面内容。

(1)环境搭建:主要解决QGIS软件获取和安装、中文语言环境设置的问题。

(2)认识界面:主要解决软件界面、加载地图、常用工具等问题。

(3)创建点图层:第一个实战案例,涉及制作数据、创建点图层和标注设置等。

QGIS环境搭建

本节主要解决三个问题:QGIS是什么,如何获取安装包,看不懂英文怎么办?

【1】QGIS可做什么?

或许,你使用过Mapinfo,可替换Mapinfo所做的工作(可参考视频教程《图说:轻量化的网络规划软件Mapinfo》)

QGIS是一个开源的地理化解决方案,可解决你在通信工程中遇到的地理可视化问题。主要包括创建点图层、线图层、网格图层、渲染热力图、制作密度云图以及相关地理化运算等等,更深入的功能,我们后面的博文一起探索。

【2】怎么下载QGIS?

可官网下载(https://qgis.org/zh-Hans/site/),下载网速很慢,给点耐心。

受不的话,可在【通信民工】微信公众号对话框中输入快捷码【201】获取链接,这里提供的是3.18版(64位),后续分享使用的也是QGIS 3.18版 64位。

【3】QGIS英文版看不懂怎么办

解决方案:在“设置>>属性”对话框中,设置本地化(中文)语言环境。

操作方法:

(1)QGIS是桌面地理信息化系统,功能与ArcGIS、Mapinfo相类似,属开源软件,可免费使用。

(2)QGIS没有汉化概念,软件已内嵌各种语言,包括中文(简体/繁体)、英文等,在软件菜单中设置即可。

(3)设置中文界面路径:设置Setting(S)>>选项Options(O)…,即可打开Options-General对话框

(4)点击左侧General(通用)菜单,即可打开“Overide System Loacal”(本地化语言环境)

(5)在User interface translation(用户界面语言)下,选取“简体中文”(看五星红旗),并设置Locale(本地化)为Chinese China(zh_CN),然后点击OK保存即可。

认识QGIS界面

本节主要分享三项内容,包括认识界面、加载地图及常用工具三个模块。

【1】菜单和工具太多,搞不定怎么办?

划重点:一是抓住常用工具,解决看图的问题;二是善用图层面板,解决管理数据问题;三是下功夫掌握专业菜单和工具,充分发挥软件的功用。

软件简介及学习重点:

(1)菜单栏:可分公共菜单(可类比其他软件)和专业菜单。

–公共菜单(了解即可):包括工程、编辑、视图、设置、插件和帮助菜单。

–专业菜单(下功夫掌握):则侧重地理信息化相关,包括图层、矢量、栅格、数据库、网络、网孔、地理处理等。

(2)工具栏:常用的包括工程工具、选择工具、属性工具、地图浏览、图层管理工具和标注工具等,常用功能如保存、移动、选择、缩放、标注、属性、测距等,可类比熟悉的软件(例如Mapinfo),只需记住差异的地方。

(3)浏览器面板:可文件夹、文件及各类数据源,例如,可在此加载在线地图。

(4)图层面板:每个地理信息化软件必备的面板,可控制图层叠放次序。

(5)地图窗口:在此浏览地图,对地理信息化数据进行增、删、改、查等操作。

(6)图层样式面板:双击图层对象后,便可修改图层样式,如符号、标注及其样式。

(7)状态栏:可查找对象,呈现坐标、比例尺、旋转角度、坐标参考系等。

【2】如何加载在线卫星地图?

自从GoogleEarth出现问题后,搞通信勘察的小伙伴都会发疯,成为群里的日常聊天主题,分享我常用两个XYZ连接为:Esri卫星和OpenStreetMap矢量,在【通信民工】微信公众号输入快捷码【201】自行获取文件。

操作方法:

(1)在浏览器面板中,找到XYZ Tiles,可新建或加载连接地址。

(2)新建连接:添加连接名称或URL地址即可。

(3)加载连接:可在【通信民工】微信公众号输入快捷码【201】获取和下载XYZ Tiles,直接加载即可。

(4)添加图层:拖动已加载的XYZ Tiles中的“Esri卫星”和“OpenStreetMap矢量”到图层控制面板中,勾选后即可浏览在线地图。

【3】在通信工程中会用到哪些插件?

(1)在哪安装:可在路径“插件(P)>>管理并安装插件…”下,QGIS插件挺丰富的,可查找合适的插件安装之。

(2)常用插件有哪些:插件基本上是英文简介的,可使用百度翻译一个个甄选,我们通信工程中会涉及到的约60款,见截图。

QGIS创建点图层

光说不练假把戏,本节分享QGIS创建点图层的方法,包括导入数据、创建点和设置图标样式等。

【1】如何使用QGIS创建点图层

解决方案:使用“数据源管理器”导入CSV数据表即可创建。

如何设置:勾选“视图(V)>>工具栏>>数据源管理器工具栏”,即可将工具栏设置和呈现在软件界面左侧。

操作方法:

(1)导入数据和设置字符集:选取文件名称、图层名及编码字符集,例如,设置为简体GB2312或UTF-8。注意,字符集设置不正确,导入的点图层标注会显示乱码。

(2)数据分隔和提取:可直接勾选“CSV格式”或自定义分隔符,例如,使用“制表符”或“逗号”进行分隔。

(3)设置数据范围和标题行:选取数据范围和设置标题行,注意:勾选“首行包含字段名称”设置标题行。

(4)选取坐标和坐标系:选取坐标字段和设置工程指标参考系,注意:X为经度,Y为纬度,坐标系为WGS-84。

(5)输出点图层:浏览数据样例,若无误,添加即可,关闭对话框后,即可看到创建的点图层。

【2】如何设置点图层的符号样式

解决方案:双击点图层,调出“图层属性”对话框,然后进行符号化设置。

操作方法:

(1)选中对应图层,”右键>>属性…(P)“调出图层属性对话框。或在对应图层上,左键双击,即可打开。

(2)点击“符号化”,选取”单一符号“即可开始设置图标。其实,QGIS的专题地图便是在此设置的,例如,做分类专题地图、做热力图等。

(3)设置点的图标颜色,常用的红色、蓝色、绿色。

(4)设置点的大小,默认单位为毫米。适应Mapinfo的使用习惯,这里采用点作为单位,设为3点。

(5)在收藏夹中,选取点的符号样式,例如,实心原点、空心圆点等。

使用Mapinfo手绘高铁线路走向图的方法

你是否愁着无法获取规划高铁线路图层而无法进行网络规划和布点?莫慌,这里教你一波操作搞定!

你是否愁着无法获取规划高铁线路图层而无法进行网络规划和布点?

莫慌,这里教你一波操作搞定!

01 问题提出

【1】当我们到达一个陌生的城市,手头上没有相应的Mapinfo图层,刚好手头上有纸质的地图或电子地图图片时,你可以通过导入相关栅格图像,手绘对应的场景图层进行网络规划。

【2】对规划或在建的高铁线路,暂时无法获取GoogleEarth图层或Mapinfo图层时,最原始的手绘方法又派上用途了,导入栅格图像,在Mapinfo上手绘即可。
今天,教你使用Mapinfo轻松搞定高铁线路走向图的绘制。

轻松获取最原始的线场景图层,供你规划!

02 解决方法

主要思路:使用Mapinfo导入栅格图像,对着图层描图,输出KML图层,最后在GoolgeEarth进行校验和修正(Mapinfo<–>GoogleEarth互转)。

步骤一 打开收集到的栅格图像,如“南宁至崇左城际铁路线路图”

提示:在百度上,搜索对应的线路,并优选选择“特大尺寸”、或“大尺寸”的照片,因为这样导入地图后线路走向会更清晰,更好描图。

提示:打开图片后,会显示如下的对话框:【1】选Display直接打开图片,【2】选Register会直接弹出栅格化图片选项框。这里选【2】图像校准。

步骤二 选择“Register”后,弹出“栅格化图片”的“图像配置”对话框,进行三点定位,编辑控制点。

提示:

(1)怎样编辑控制点:分别设定三点“Map X/Y”Pt1、Pt2、Pt3,对应设置X、Y坐标。Pt 1通过Add来增加控制点,三点定位,校正这张图。

(2)X/Y坐标从哪里来?对着Pt 1在栅格图像中的位置,在GoogleEarth找对应的经度、纬度坐标,录入Map X/Y的位置。

提示:三点定位,校准配置图像后,图片即可在地图上呈现了,这时,点击图片上的每个落点,你就可以发现,它上面有了经纬度信息了。

步骤三 对着图层上的栅格图像进行描图,类似在GoogleEarth描图一样

提示:可以沿着线路绘制粗略走向,再导出到GoogleEarth进行修正和校验。

视频课程:使用GoogleEarth轻松进阶通信设计

步骤四 导出粗略线路走向图,再在GoogleEarth上进行校正

导出方法:(这里不再赘述,见以下图文)

【1】很实用!轻松实现TAB和KML图层转换(TAB–>KML)

【2】轻松将Google图层转换为Mapinfo图层!(KML–>TAB)

步骤五 经过Mapinfo与GoogleEarth反复倒腾,即可输出相关规划图层了

如下图所示,最终输出,输出在建高铁的规划图层了。在此基础上你就可以轻松进行网络规划和布点了。

是不是感觉这一波操作,轻松如意!学到了吧!

想系统学习文章中的视频和操作,扫下面的这匹“码”订阅《使用GoogleEarth做通信设计》课程吧!

Mapinfo SQL查询方法和功能函数的使用

这是一套系统的Mapinfo软件使用教程, 课程发布于“微通信课堂” ,主要讲解Mapinfo在通信网络规划中的应用和综合解决方案。

本节主要讲解SQL查询方法和功能函数的应用。SQL查询工具是一个多用途查询工具,在网络规划使用相当频繁,比如将落在相关图层中的点查询出来、将包含在地图中的栅格图层查询出来等等。

1、操作符Operator的使用

操作符主要实现查询对象及其函数的控制,比如查询满足*.Obj为”XX条件”的数据,即可使用操作符“=”等等。

常用的操作符号包括等于“=”、不等于“<>”、包含“Contains”、包含于“Within”、类似“Like”、与或非“And/Or/Not”等操作符,其他的可在使用时参考下表即可。

操作符Operator功能描述
=等于,赋值
<>不等于
>大于
<小于
>=大于等于
<=小于等于
+
*
/
^
0
And与,并且
Or或,选其一
Not非,取反
Like类似,模糊匹配
Contains包含
Contains Entire完全包含
Within包含于,落入
Entirely Within完全包含于,完全落入
Intersects相交

2、聚合表达式Aggregate的使用

聚合表达式主要表达式和功能描述如下:

聚合表达式Aggregate功能描述
Average计算组中所有记录的平均值。
Count统计组中的记录数。
Minimum查找组中所有记录的最小值。
Maximum查找组中所有记录的最大值。
Sum计算组中所有记录的值之和。
Weighted Average计算组中所有记录的权重平均值。

3、函数Funtions的使用

在通信网络规划中,涉及的函数主要为地理函数,包括查询对象的面积、中心经纬度、对象长度、周长、距离以及设置数据格式等等。

分类函数Funtions功能描述
地理函数*Area返回对象的面积。注意:文字、点、线没有面积。
地理函数*CentroidX1.返回对象质心的X坐标,即地球地图的经度值。
2.质心通常是对象最小边界矩形(MBR)的中心。
地理函数*CentroidY1.返回对象的y质心,这是地球地图的纬度值。
2.如果坐标是纬度和经度,则该值以十进制度数表示。如果表的坐标不是纬度和经度,则该值以指定的任何单位表示。
地理函数*Distance返回两个位置之间的距离。
地理函数*ObjectLen返回对象的长度。
地理函数*Perimeter返回对象的周长。
字符函数*FormatNumber$返回表示格式化数字的字符串。示例:Format$( 12345.678, “$,#.##”) 返回 “$12,345.68”. 
地理函数CartesianArea笛卡尔坐标系统对象的面积。
地理函数CartesianDistance笛卡尔坐标系统两个位置间的距离。
地理函数CartesianObjectLen笛卡尔坐标系统对象的长度。
地理函数CartesianPerimeter笛卡尔坐标系统对象的周长。
地理函数SphericalArea地球表面对象的面积。
地理函数SphericalDistance地球表面两个位置间的距离。
地理函数SphericalObjectLen地球表面对象的长度。
地理函数SphericalPerimeter地球表面对象的周长。
地理函数PointToMGRS$指向军事网格参考系统。
地理函数PointToUSNG$指向美国国家空间寻址网格。
日期函数CurDate返回当前日期。
日期函数Day返回对应月的日期,即1-31编号,为整数。
日期函数Month返回月份,即1-12编号,为整数。
日期函数Weekday返回星期几,即1-7编号,其中1表示星期日。
日期函数Year返回年份,比如2020,格式为整数。
日期函数CurDateTime返回当前日期时间。
日期函数CurTime返回当前时间。
日期函数FormatDate$返回日期格式的数据。
日期函数FormatTime$返回时间格式的数据。
日期函数GetDate返回当前的时间和日期。
日期函数GetTime返回当前的系统时间。
日期函数Hour返回回时间值的小时数,即1-24编号,为整数。
日期函数MakeDateTime返回合并了 date 和 time 的 datetime。
日期函数Minute返回时间值中的分钟, 即0-59编号,为整数。
日期函数Second返回时间值中的秒数, 即0-59编号,为整数。
字符函数Chr$返回与字符代码相对应的字符(例如Chr$(65)返回字符串“a”)。
字符函数DeformatNumber$反转FormatNumber$函数的效果,返回不包含数千个分隔符的字符串。
字符函数Format$返回指定格式的数据。
字符函数InStr( num , str1 , str2 ) 从字符位置num开始搜索字符串str1,并查找字符串str2的匹配项。返回找到str2的位置,如果未找到则返回零。若要在开始时开始搜索,请使用数值1。
字符函数LCase$返回字符串的小写版本。
字符函数Left$返回字符串的第一个字符。
字符函数Len返回字符串中的字符数。
字符函数LTrim$修剪字符串开头的任何空格并返回结果。
字符函数Mid$获取并返回字符串中间的字符。
字符函数Proper$返回大小写正确的字符串(每个单词的首字母大写)。
字符函数Right$返回字符串的最后个字符。
字符函数Rtrim$修剪字符串结尾的任何空格并返回结果。
字符函数Str$返回表达式的字符串近似值。
字符函数UCase$返回字符串的大写(全部大写)版本。
字符函数Val返回字符串的数值;例如,Val(“18”)返回数字18。
数学函数Abs返回数值表达式的绝对值。
数学函数Cos返回数字的余弦值。
数学函数Int返回一个小数的整数。
数学函数Maximum返回两个数字中较大的一个。
数学函数Minimum返回两个数字中较小的一个。
数学函数Round返回一个数字,四舍五入。
数学函数Sin返回数字的正弦值。

4、Mapinfo函数的典型应用

在Mapinfo函数使用中,主要抓住点、线、面对象的选取,对象关系(如包含、包含于、与或非等)查询、对象属性查询(如经纬度、面积、长度、周长等)就可以轻松进行SQL查询操作了。

函数用途 语法 备注
图层中选点Str$(obj)=”point”;Str(String)表示字符串;
point表示点;
图层中选线Str$(obj)=”line”(选直线);
ObjectLen(obj, “m”)>0;
ObjectLen(obj, “m”) = 5
line表示直线;
ObjectLen(Object Length)表示对象长度;
m表示长度单位;
图层中选面Str$(obj)=”Region”;
Area(obj, “sq m”)>0;
Area(obj, “sq m”) = 5
Region表示面(区域);
Area表示面及区域;
图层中选文本Str$(obj)= “text”;Text表示文本;
模糊查询Name like “%输入要查询的关键字%”;
Name like “-输入要查询的关键字%”;
Instr(1,字段名,”输入要查询的关键字”);
Name为名称;
like表示象等;
Instr(Instring)表示在字符串中;
包含A.Obj Contains B.Obj;Contains表示包含;
包含于A.Obj Within B.Obj;Within表示包含于;
非对象Not objNot表示不是,非;
多个条件都符合条件A And 条件B(如Name like “%广场” and class = 2 )And表示与、和;
多个条件符合一个就被选出条件A Or 条件B(如Name like “%广场” Or class = 2 )Or表示或者;
查询某一字段属性长度Len(字段名)>字段属性长度;(如Len(Name) > 7)Len(Length)表示长度;
查询某一字段属性的单个字符Len(字段名)>字段属性长度;(如Len(Name) = 1)Len(Length)表示长度;
求和Sum(Area(Obj, “sq km”))所有面积的和;
Sum(ObjectLen(Obj, “km”))所有长度的和;
Sum表示和;
面中有点、线
(线中有面、点
或点中有线、面)
选择列:Obj,Name,从表:居民地;

5、课程海报

【课程名称】图说:轻量化网络规划工具Mapinfo

【课程简介】重剑无锋,用专业工具做专业的事。这是一套教你高效学习Mapinfo、操作Mapinfo以及实践Mapinfo的视频课程。

【课程特点】课程分为50节,分为学习方法、模块Mapinfo、实践Mapinfo、复盘Mapinfo及通信工具集,你可根据需求挑点学习。

【课程定价】39.99元,优惠期29.99元(12.23-1.22),领券立省5元。

【订阅课程】

1、你可通过使用微信扫码或识别下方二维码,订阅课程。

2、可直接文章底部“阅读原文”,即可打开课程链接直接订阅。

使用奥维地图快速制作道路KML图层的方法

获取数据的方法多种多样,这里介绍使用奥维互动地图浏览器获取线图层的方法,最终导出KML Google图层。

在网络规划中,你肯定会遇到需要获取各种线图层(如高速公路图层)进行站点规划等操作。获取数据的方法多种多样,比如使用现有的图层数据格式转换,或者手绘线图层,这里介绍使用奥维互动地图浏览器获取线图层的方法,最终导出KML Google图层。

01 问题提出

之前,我在获取高速公路线图层时,往往是设置参考点,然后逐段手绘的方式,这种方法适用在道路在建状态的线图层获取。那么道路开通后,如果没有现有Mapinfo TAB格式图层或Google KML格式图层等现成数据,怎么解决呢?

我之前手绘用的是这种方法,如图:

图1 使用手绘法获取KML图层的方法

不妨,使用奥维互动地图浏览器,使用导航方式,获取一波道路图层(这是老张最近分享给我的方法^_^)。

很高效,我琢磨了半天,决定分享出来,哈哈。

02 解决方法

这种方法适用在已开通高速上,使用导航方式形成航迹,并导出为可在GoogleEarth中呈现的KML格式。

步骤一:创建用于保存航迹的文件夹,如“南宁绕城高速公路”

在奥维互动地图浏览器中的侧边栏上,找到“收藏夹”,右键“添加>>文件夹>>南宁绕城高速公路”。用于保存导航起、终点及相关航迹图层。

图2 创建用于保存航迹的文件夹

步骤二:添加导航起、终点的标签,并设置存放文件夹。

主要思路为:设置导航点,逐段导航,保存导航航迹到收藏夹,复核导航轨迹后,将相关的图层导出为KML格式。具体操作步骤如下图所示:

图3 添加导航起、终点的标签

步骤三:设置导航参数,搜索路线,形成航迹数据。

主要思路:选择“驾车”导航模式,设置导航起、终点,搜索路线,形成航迹后,保存至收藏夹中。具体操作步骤如下图所示:

图4 设置导航参数,形成航迹数据

步骤四:设置导航路线及样式,保存航迹数据。

设置导航路线名称、存放文件夹、线条样式等数据,并保存全部航迹。

图5 设置导航路线及样式

步骤五:选择导出对象,导出航迹数据为KML格式文件。

在收藏夹对应文件夹下,右键>>导出。选择导出对象,设置导出格式(如KML Google地标),导出相关数据。

图6 导出航迹数据为KML格式文件

当然,获得Google Earth的KML格式文件后,你也可以使用相关插件,将其转换为比如Mapinfo可读取和处理的TAB格式文件,并进行网络规划相关操作。最终形成效果如下图所示:

图7 最终形成效果对比

在Mapinfo中轻松呈现两个站点的站距!

使用Mapinfo软件的Distance Calculator工具可以直观呈现两点或多点之间的距离,轻松选出站距过近的站点。

工欲善其事,必先利其器。

Distance Calculator工具—这个小工具,可以轻松直观地呈现两个站点之间的站距。

01 问题提出

在站点评审时,客户经常会关注两个站点之间的站距,我们经常会使用标尺工具来拉出两点之间的距离。

或者,我们使用Excel宏工具,算好两点之间的站距。

有没有更方便直观的方法呢?

使用Mapinfo软件的Distance Calculator工具可以直观呈现两点或多点之间的距离,轻松选出站距过进的站点。

要的就是这种效果……

02 解决方法

你可以观看视频,学习工具操作。

步骤一:加载Distance Calculator工具

这是Mapinfo软件自动的一款小工具,你可以按以下步骤来加载。

1、在〔Tools(工具)〕菜单栏下,点击〔Tool Manager(工具管理)…〕,在弹出的对话框中,找到“Distance Calculator工具”,勾选该工具,加载之。

2、做完上述步骤后,你可以在〔Tools(工具)〕菜单栏下找到“Distance Calculator工具”,运行即可。

3、当然,运行该工具进行站距计算的前提是,你的站点须在Mapinfo做成点图层的形式(这里略去创建点的步骤)。

步骤二:运行Distance Calculator工具

1、选择需要计算站距的源数据表和目标数据表(同一个图层的话,就算一样的数据就行了);

2、选择源数据表和目标数据表的标识列,

3、勾选“寻找最近的站点”以及比对站点的数量(比如3个);

4、点击运算,计算出站距数据,并将其保存起来。

5、打开运算保存后的图层,就可以发现两点之间增加了连线了。

步骤三:最终输出效果

至此,你可以轻松看出邻近3个站点之间的距离,从而判断站点分布是否合理。