在做GIS数据处理的时候,经常会遇到原始数据是 text、csv、Excel 等格式的数据。要使用数据前提是要先转换数据。

  这里是介绍用 QGIS 导入数据。打开导入方式如下(根据自己的文本类型选择不同的“文件格式”):

一、点数据

  点数据的导入比较简单。QGIS 也单独对点有导入方式。有对应的 X、Y 字段的选择即可,如果有 Z、M 字段的也可以选择相应字段。

二、WKT 方式导入

  WKT(Well-l=known text)是一种文本标记语音,用于表示矢量几何对象、空间参照系统以及空间参照系统之间的转换。它的二进制表示方式,叫做 WKB(Well-known binary),WKB  更胜于在传输和在数据库中存储相应的信息。该格式是由 OGC(开发地理空间联盟)制定。

  WKT 这个方式适用各种矢量数据结构,前提是要符合 WKT 的格式要求。首先我们先了解下 WKT 一些基本的矢量几何图形的定义:

// 点
POINT(6 10) // 线
LINESTRING(3 4,10 50,20 25) // 面
POLYGON((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2)) // 多点
MULTIPOINT(3.5 5.6, 4.8 10.5) // 多线段
MULTILINESTRING((3 4,10 50,20 25),(-5 -8,-10 -8,-15 -4)) // 多面
MULTIPOLYGON(((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2)),((6 3,9 2,9 4,6 3))) // 几何集合
GEOMETRYCOLLECTION(POINT(4 6),LINESTRING(4 6,7 10)) // 带 Z、M 的点
POINT ZM (1 1 5 60) // 带 M 的点
POINT M (1 1 80)

  这就基本可以满足我们的需求,如果你已有的文本格式是没有任何格式规范的,可以处理成 WKT 的格式。

  下面是我在 Excel 中处理成 WKT 格式的操作(给出线段起始点,拼接成 WKT格式),Excel 拼接的写法,可自行百度:

  处理完成后,就可以在 QGIS 里面使用 WKT 方式导入线、面等其他几何数据结构:

三、设置、转换图层坐标系

  这里再介绍下在 QGIS 里面转换坐标系的方式。以 Tiff 格式为例,从 WGS84 转为 CGCS2000(因为这个相差不大,可以互转,其他转换主要是投影),菜单栏“栅格”——“投影”——“变形(重投影)”,。

  点击后跳出“变形(重投影)”界面,这里可以选择“输入图层”、“源CRS”、“目标CRS”(Tiff 转换还有一些其他参数,自行选择)。选择 CRS 框右侧的图标弹出坐标系选择器界面。

  坐标系比较多,我们可以输入坐标系名称、EPSG 等进行过滤,快速找到需要的坐标系,如下图就是通过 4326 和 China Geodetic Coordinate System 2000 搜索的结果:

     

QGIS 导入文本数据(WKT)的更多相关文章

  1. 使用sqlloader向oracle导入文本数据

    文本文件如下,注意文件名必须有后缀,文本行首也需要|分隔符:[oracle@ycr test]$ more person.txt|aaa|123|m|aaa|123|m|aaa|123|m|aaa|1 ...

  2. Bulk Insert:将文本数据(csv和txt)导入到数据库中

    将文本数据导入到数据库中的方法有很多,将文本格式(csv和txt)导入到SQL Server中,bulk insert是最简单的实现方法 1,bulk insert命令,经过简化如下 BULK INS ...

  3. 用C#实现的两个试验编程(txt文本数据的导入,和数据导出为TXT)

    1. 文件的存取 数据文件1.txt为学生成绩统计表,要对它做一个统计工作.文件中若一个人有多个成绩,则取他们的最好成绩来统计,然后计算全班平均成绩:统计0-69.70-79.80-89.90-100 ...

  4. MapReduce将HDFS文本数据导入HBase中

    HBase本身提供了很多种数据导入的方式,通常有两种常用方式: 使用HBase提供的TableOutputFormat,原理是通过一个Mapreduce作业将数据导入HBase 另一种方式就是使用HB ...

  5. shell编程系列24--shell操作数据库实战之利用shell脚本将文本数据导入到mysql中

    shell编程系列24--shell操作数据库实战之利用shell脚本将文本数据导入到mysql中 利用shell脚本将文本数据导入到mysql中 需求1:处理文本中的数据,将文本中的数据插入到mys ...

  6. 文本数据增量导入到mysql

    实现思路:       实现Java读取TXT文件中的内容并存到内存,将内存中的数据和mysql 数据库里面某张表数据的字段做一个比较,如果比较内存中的数据在mysql 里存在则不做处理,如果不存在则 ...

  7. MySQL 快速导入大量数据 资料收集

    一.LOAD DATA INFILE http://dev.mysql.com/doc/refman/5.5/en/load-data.html 二. 当数据量较大时,如上百万甚至上千万记录时,向My ...

  8. Oracle通过sqlplus spool导入导出数据

    第一部分(实例,主要分两步),第二部分(参数小总结),第三部分(完全参数总结) 第一部分 第一步 :这是我的导出数据的脚本call.sqlconn scott/tigerset echo offset ...

  9. Oracle导入excel数据方法汇总[转]

    摘要:在程序编制过程和数据汇总交换过程中,经常会碰到需要将其他人员在office办公环境下编制的文件数据内容导入oracle中的情况.目前程序开发者经常使用的方法有如下几种:1,使用oracle提供的 ...

  10. mysql导出csv/excel文件的几种方法,mysql的load导入csv数据

    方法一 php教程用mysql的命令和shell select * into outfile './bestlovesky.xls' from bestlovesky where 1 order by ...

随机推荐

  1. Linux文本文件及处理工具

    Linux中的文本信息 文本文件 C语言,Java语言等编程文件的源程序语言 文本格式的数据文件 文本格式的文字信息 在Linux下一切皆文件 everything is file,包括目录也是文件的 ...

  2. 安卓蓝牙协议栈中的RFCOMM状态机分析

    1.1 数据结构 1.1.1  tRFC_MCB tRFC_MCB(type of rfcomm multiplexor control block的简写)代表了一个多路复用器.代表了RFCOMM规范 ...

  3. 使用@Param注解时注意org.springframework.data.repository.query.Param与org.apache.ibatis.annotations.Param的区别

    注解@Param有以下两种: 1.Spring org.springframework.data.repository.query.Param 2.mybatis org.apache.ibatis. ...

  4. SQL教程

    SQL教程 SQL简介 SQL (Structured Query Language:结构化查询语言) 是用于管理关系数据库管理系统(RDBMS). SQL 的范围包括数据插入.查询.更新和删除,数据 ...

  5. Treewidget节点的增加

    父节点的创建 // 隐藏QTreewidget标题头 ui->treeWidget->header()->hide(); // 实现Treewidget父节点的挂载 // 创建存放Q ...

  6. 如何卸载cdr x8?怎么把cdr x8彻底卸载删除干净重新安装的方法【转载】

    标题:如何卸载cdr x8?怎么把cdr x8彻底卸载删除干净重新安装的方法.cdr x8显示已安装或者报错出现提示安装未完成某些产品无法安装的问题,怎么完全彻底删除清理干净cdr x8各种残留注册表 ...

  7. C#MSDN简体中文 最后一版本 2007年的

    我在学习C# 需要 先看 MSDN文档,英文看的很吃力,就找了好久 MSDN简体中文版本的: 因为微软已经关闭网站(MSDN中文的链接),我找到的就是  磁力链接的: 我分享出来 ,有需要的 自行下载 ...

  8. 纯css实现卡券式半圆及阴影(整理)

    <!-- html部分 --> <div class="a"> <!-- a这个大卡片里边分上下两个卡片,对应上边灰色和下边白色部分 --> & ...

  9. idea 改变片段内相同变量的快捷键

    在 win系统中 shift+F6 在 ios系统中Fn+shift+F6

  10. C/C++ 数据结构优先级队列的实现(使用二级指针)

    #include <iostream> #include <Windows.h> #include <iomanip> //优先级队列的实现 using names ...