在做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. java中的数组遍历(简便小方法)

    int[] a = {1,2,3,4}; for(int k:a){ System.out.println(k); //注意冒号后面直接写数组名即可. //注意,k的值就是数组a中某一项的值,即语句& ...

  2. 31 ModelForm常用功能--扩充

    ModelForm自定义字段的显示效果 class ChargeModelForm(BootStrapModelForm, forms.ModelForm): # 静态变量 # charge_type ...

  3. vue父子件,子件页面table数据列按条件显示不同的内容

    需求:在父件中点击按钮.子件弹框中,table列根据条件显示不同的数据 实现思路:点击按钮,执行不同的方法,方法中参数值不同,从而展示不同的columns. 父件按钮如下图: 父件中导入子件需要注意的 ...

  4. oracle表中增加字段sql

    declare v_Count1 int := 0; v_Count2 int := 0;begin select count(1) into v_Count1 from user_all_table ...

  5. html 手机端适配不同手机高度 ,把内容居中显示

    手机端适配不同手机高度 ,把内容居中显示,可以将div.img.section.span.p等等元素,设置 top:50%; margin-top:xxvw; 这样可以保证主题内容居中显示.

  6. php success error 封装跳转

    /** * Warning提示信息 * @param string $type 提示类型 默认支持success, error, info * @param string $msg 提示信息 * @p ...

  7. vite+vue3批量导入静态资源图片;动态绑定大量图片

    vite版本:vite3:vue版本:vue3 打包上线后发现,动态绑定的图片皆失效. 单图可用 import 导入解决,但是若有大量图片,一一导入则耗时耗力. vue2+webpack 可用 req ...

  8. HTML悬浮div

    需求,html底部为地图,上层是各个div HTML<body> //地图 <div id='map' id="demo1"></div> &l ...

  9. mysql索引的面试常问问题

  10. 怎样修改linux内核

    1.先查看linux内核 uname -a 2.打开内核配置文件 sudo vi /etc/default/grub 3.跟新grub文件 sudo update-grub 4.最后重启电脑 sudo ...