一、准备工作

1、安装插件

为了方便画图,我们安装了OpenLayers,QuickOSM两个插件。

如何安装插件,度娘上都有答案。下图中打勾的部分为安装好的插件:

OpenLayers提供了一些开放的地图数据,有了这些数据后,我们就不必一切从头开始,比如Bing的卫星地图,我们可以从卫星图上准确的描出所需要的线,点,多边型。

  • Bing 卫星地图

  • OpenStreetMap

2、创建项目

Qgis打开后,默认创建一个空白项目,且项目的默认坐标系为3857。

  • 建立坐标系

有时Qgis自带的坐标系统未必能满足业务的需求,所以我们需要自定义自己的坐标系统。通过菜单里的设置->自定义坐标系统,弹出自定义坐标的对话框:

这是一个Proj.4的格式的坐标定义,图中是将上海的某个点作为中心点。

二、开始画图

1、创建图层

下图为创建图层对话框:

对于坐标系的选择,要看你手头的数据资料,如果是GPS设备测量得出的点,可以直接选择4326,这样地图中的坐标点就可以直接使用。如果通过高德地图等网络地图得到的坐标,则要选择相应的投影坐标系,否则创建的要素位置会不正确。

2、字段定义

字段为地理位置信息之外的信息,比如线条代表的实体的类型等,以便后期的查询分析。具体根据需要设置,不赘述。

3、绘制

首先,将图层设置为编辑模式。选中需要修改的图层,点击工具条的黄色铅笔状的图标,当图标为选中状态时,就可以在当前图层上画图了。

新增要素

点击“添加要素”,创建新的要素。先在地图点出相应的要素点,然后右击弹出字段对话框,填写相应的内容,点击确定完成绘制。

移动要素

先用选择工具选中要移动的要素,然后点击移动按钮,就可以在地图上拖放要素了。

4、渲染

通过样式,来展示要素在地图上呈现的样子。

三、空间数据库

为了提高数据的利用,可以将这些空间存储至数据库系统,现在主流的数据库都支持空间数据的存放,比如mssqlserver ,oracle等。

1、MSSqlserver

2、MySql

3、Oracle

用 QGIS 画矢量交通路线图的更多相关文章

  1. csv读入数据,用julia/matplotlib/pyplot 画矢量图导入word中

    这是是用julia来实现画图.julia有三个画图库:Winston.Gadfly.PyPlot 这里用的是pyplot,事实上他是基于matplotlib的 1.首先在juno里安装两个库 juno ...

  2. arcgis画矢量图

    总图 首先建立目标文件夹和目标文件(shp文件) 现在H:\ex_gis\下新建test文件夹,起名为test,再此目录下建立一个线要素文件. 在这里选择要素类型.这里以线为例,点面类推即可. 设置坐 ...

  3. Qgis 里的Python脚本介绍

    QGIS 入门演示之<用 QGIS 画矢量交通路线图> 脚本编程之准备知识<Python 教程> QGIS API QGIS插件库 运行QGIS脚本,对于桌面应用来讲有4种方式 ...

  4. 抓取“矢量”的实时交通流量数据

    1. 引言 最近老师有一个需求,就是想要抓取实时的矢量交通流量数据来做分析,类似于百度地图,高德地图的"实时路况"那种.平时的网络抓取工作一般是抓取网页上现成的数据,但是交通流量数 ...

  5. C#中如何生成矢量图

    主要的功能就是使用C#画矢量图,然后导出到Word.Excel.Powerpoint中,并且能够再次被编辑.以下是解决过程: 首先应该确定在Office文档中可编辑图形使用的格式:学习了相关资料,了解 ...

  6. 【译】在Asp.Net中操作PDF - iTextSharp - 绘制矢量图

    原文 [译]在Asp.Net中操作PDF - iTextSharp - 绘制矢量图 在上一篇iTextSharp文章中讲述了如何将现有的图片插入PDF中并对其进行操作.但有时,你需要在PDF中绘制不依 ...

  7. truetype技术和矢量字库的技术原理及实现(转)

    源:truetype技术和矢量字库的技术原理及实现 广泛汉字矢量字库(HZKSLxxJ)格式             在矢量字库中,每个汉字都是以128   X   128点阵制成矢量数据.每个汉字  ...

  8. Android 开发 VectorDrawable 矢量图 (一)了解Android矢量图与获取矢量图

    VectorDrawable 矢量图 三部曲: Android 开发 VectorDrawable 矢量图 (一)了解Android矢量图与获取矢量图 Android 开发 VectorDrawabl ...

  9. C#代码实现矢量画图

    原文:C#代码实现矢量画图 版权声明:本文为博主原创文章,转载请附上链接地址. https://blog.csdn.net/ld15102891672/article/details/80275969 ...

随机推荐

  1. Lucky and Good Months by Gregorian Calendar - POJ3393模拟

    Lucky and Good Months by Gregorian Calendar Time Limit: 1000MS Memory Limit: 65536K Description Have ...

  2. video 手机全屏自动播放

    <video src="video.mp4" id="video" x-webkit-airplay="true" webkit-pl ...

  3. WinSCP无法连接 ubuntu 的解决方法

    ubuntu默认不安装sshd服务 需要sudo apt-get install ssh 你可以在ubuntu本机ssh localhost测试是否成功安装了ssh 因为WinSCP是基于ssh的sf ...

  4. 一看便知linux下mysql报错ERROR 1044: Access denied for user: '@localhost' to database 'mysql'

    错误信息:ERROR 1044: Access denied for user: '@localhost' to database 'mysql' linux下解决方案: mysql> use ...

  5. CentOS系统启动流程

    CentOS系统启动流程 POST --> Boot Sequence(BIOS) --> Boot Loader(MBR) --> kernel(ramdisk) --> r ...

  6. xib的UIScrollView自适应高度

    1.首先,我们先把这个size classes关了(需要使用的童鞋无视掉,也无视掉我的工程名,这是我弄高德地图创建的工程) 2.添加一个scrollview上去,设置上下左右约束为0 3.然后搞一个v ...

  7. [POJ2420]A Star not a Tree?(模拟退火)

    题目链接:http://poj.org/problem?id=2420 求费马点,即到所有其他点总和距离最小的点. 一开始想枚举一个坐标,另一个坐标二分的,但是check的时候还是O(n)的,复杂度相 ...

  8. 并查集 poj2236

    网址:http://poj.org/problem?id=2236 题意:有n台坏的电脑,如果每两台电脑的距离不能超过d,那么这两台电脑有联系,用字符串O 表示标记第x台电脑维修了,用S判断从X到y是 ...

  9. 使用reflux进行react组件之间的通信

    前言 组件之间为什么要通信?因为有依赖. 那么,作为React组件,怎么通信? React官网说, 进行 父-子 通信,可以直接pass props. 进行 子-父 通信,往父组件传给子组件的函数注入 ...

  10. 非root用户安装软件

    下面简要说一下Linux下非root用户安装软件的一般流程: 1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar - ...