用 QGIS 画矢量交通路线图
一、准备工作
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 画矢量交通路线图的更多相关文章
- csv读入数据,用julia/matplotlib/pyplot 画矢量图导入word中
这是是用julia来实现画图.julia有三个画图库:Winston.Gadfly.PyPlot 这里用的是pyplot,事实上他是基于matplotlib的 1.首先在juno里安装两个库 juno ...
- arcgis画矢量图
总图 首先建立目标文件夹和目标文件(shp文件) 现在H:\ex_gis\下新建test文件夹,起名为test,再此目录下建立一个线要素文件. 在这里选择要素类型.这里以线为例,点面类推即可. 设置坐 ...
- Qgis 里的Python脚本介绍
QGIS 入门演示之<用 QGIS 画矢量交通路线图> 脚本编程之准备知识<Python 教程> QGIS API QGIS插件库 运行QGIS脚本,对于桌面应用来讲有4种方式 ...
- 抓取“矢量”的实时交通流量数据
1. 引言 最近老师有一个需求,就是想要抓取实时的矢量交通流量数据来做分析,类似于百度地图,高德地图的"实时路况"那种.平时的网络抓取工作一般是抓取网页上现成的数据,但是交通流量数 ...
- C#中如何生成矢量图
主要的功能就是使用C#画矢量图,然后导出到Word.Excel.Powerpoint中,并且能够再次被编辑.以下是解决过程: 首先应该确定在Office文档中可编辑图形使用的格式:学习了相关资料,了解 ...
- 【译】在Asp.Net中操作PDF - iTextSharp - 绘制矢量图
原文 [译]在Asp.Net中操作PDF - iTextSharp - 绘制矢量图 在上一篇iTextSharp文章中讲述了如何将现有的图片插入PDF中并对其进行操作.但有时,你需要在PDF中绘制不依 ...
- truetype技术和矢量字库的技术原理及实现(转)
源:truetype技术和矢量字库的技术原理及实现 广泛汉字矢量字库(HZKSLxxJ)格式 在矢量字库中,每个汉字都是以128 X 128点阵制成矢量数据.每个汉字 ...
- Android 开发 VectorDrawable 矢量图 (一)了解Android矢量图与获取矢量图
VectorDrawable 矢量图 三部曲: Android 开发 VectorDrawable 矢量图 (一)了解Android矢量图与获取矢量图 Android 开发 VectorDrawabl ...
- C#代码实现矢量画图
原文:C#代码实现矢量画图 版权声明:本文为博主原创文章,转载请附上链接地址. https://blog.csdn.net/ld15102891672/article/details/80275969 ...
随机推荐
- JS跨域
//2011-7-25 (function(){ //闭包 function load_script(xyUrl, callback){ var head = document.getElements ...
- CSS样式表(二)
[layout] clear:该属性的值指出了不允许有浮动对象的边. 默认值:none none: 允许两边都可以有浮动对象 both: 不允许有浮动对象 left: 不允许左边有浮动对象 right ...
- JAVA窗口程序实例一
package 甲; import java.awt.Dimension; import java.text.SimpleDateFormat; import java.util.Calendar; ...
- 简述jpg。Gif。png-8.png-24的区别,分别使用场景
gif.jpg.png格式的图片在网站制作中的区别 一.Gif格式特点: 1.透明性,Gif是一种布尔透明类型,既它可以是全透明,也可以是全不透明,但是它并没有半透明(alpha透明). 2.动画,G ...
- oracle 开窗分析函数和树形结构
1.row_number() over(partition by ... order by ...)2.rank() over(partition by ... order by ...)3.dens ...
- Oracle(创建视图)
概念: 视图:所谓视图就是提取一张或者多张表的数据生成一个映射,管理视图可以同样达到操作原表的效果,方便数据的管理以及安全操作. 视图其实就是一条查询sql语句,用于显示一个或多个表或其他视图中的相关 ...
- python 最小公倍数
最小公倍数 求解两个整数(不能是负数)的最小公倍数 方法一:穷举法 def LCM(m, n): if m*n == 0: return 0 if m > n: lcm = m else: lc ...
- 微信touchmove不生效
最近在写一个微信里面滑动切换图片的功能,发现在chrome下都正常显示,可是在微信和qq浏览器里面就是不行. 经过一番排查,发现了问题: touchmove只触发了一次. 解决方案: 在touchst ...
- window.onload和window.onscroll
之前我的一个页面里写了引入了2个js,一个是包含置顶的侧面客服,一个是定位导航.2个开始都用了window.onload,发现第一个js的定位导航没有显示,被第2个js覆盖了,当我去掉第2个js的wi ...
- 使用Angularjs的ng-cloak指令避免页面乱码
在使用Anguarjs进行web开发或者进行SPA(single page application)开发时,往往会遇到下面这样的问题. 刷新页面时,页面会出现一些乱码,这里的乱码具体是指`{{expr ...