postgis安装_从零开始,构建电子地图网站:0_2_数据处理postgis

软件安装完,开始数据处理。

从China Historical GIS下载一份数据。

一、数据下载

数据来源:

China Historical GIS:

https://sites.fas.harvard.edu/~chgis/data/chgis/v6/

先下载一份时间序列数据:

Download CHGIS V6 TIME SERIES Data

https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/Q9VOF5

V6 Time Series Prefecture Points

https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/WW1PD6

V6 Time Series Prefecture Polygons

https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/I0Q7SM

二、数据查看

这份数据是shp格式的。打开QGIS看一眼数据。

QGIS教程参看:https://blog.csdn.net/u014397092/article/details/89403468

因为只是看一眼,所以XYZ Tiles加载一下OpenStreetMap就可以了。

把下载好的数据v6_time_cnty_pts_utf_wgs84.shp加载进去,utf是编码格式,wgs84是坐标系。

v6_time_cnty_pts_gbk_wgs84.shp和v6_time_cnty_pts_utf_wgs84.shp内容一样,就是编码不一样。

Layers——Open Attribute Table,打开属性表,查看一下,如果是乱码,可能编码不兼容,换utf的shp或gbk的shp。

下图是点。

1c2f446b2a01b4c96b685f60cf79d252.png

把其他数据都加载进来,保持坐标系与编码统一。

其中:

v6_time_cnty_pts_gbk_wgs84.shp

历史行政区划点,到县一级。

v6_time_pref_pts_gbk_wgs84.shp

历史行政区划点,到州一级。

v6_time_pref_pgn_gbk_wgs84.shp

历史政区面。

9884795edd8481b2d877f44a315e6148.png

三、数据入库

1.初始化数据库

先下载安装navicat用来连接pg库。

安装教程参见:https://blog.csdn.net/tqs314/article/details/80760401

Navicat连接pg库参见:https://jingyan.baidu.com/article/642c9d34ea3ada644a46f7ad.html

因为我之前装postgresql和postGIS的时候,忘了端口号,也忘了初始化数据库,所以……

没关系,卸载,重新安装一下就好了。

如果数据库初始化失败,打开cmd。

Cd 到安装目录下,C:PostgreSQL10bin。

initdb -D 数据库保存路径。

安装postGIS的时候,确保路径是在postgresql下:C:PostgreSQL10。

Win10安装postgresql和postgis的时候,确保安装路径下没有空格,既没有这样的program files。

2.空间扩展

用navicat打开数据库postgres,就是初始化的数据库。

新建查询,执行CREATE EXTENSION postgis,为数据库添加空间扩展。

会发现数据库中多了一个表spatial_ref_sys。

3.用PostGIS工具上传shp

用PostGIS Shapefile Import/Export Manager工具上传shp。

我们把utf8编码格式、wgs84坐标系的文件上传数据库,因为数据库一般都是utf-8编码的。

v6_time_cnty_pts_utf_wgs84.shp

v6_time_pref_pts_utf_wgs84.shp

v6_time_pref_pgn_utf_wgs84.shp

首先打开PostGIS Shapefile Import/Export Manager,点击View connection details,打开PostGIS connection,输入账号密码,连接数据库。

d7ff06f3557465e3f212c07a731ab8a2.png

Import——Add File,选择3个shp文件,然后点击Import。数据就导入pg库了。

26f8ab86ea727d63eb628877fe0b2392.png

就此,数据入库就结束了。

4.用QGIS看pg库中的数据

可以用QGIS连接一下数据库,看看效果。

先给QGIS加一个地图瓦片。

Browser——XYZ Tiles——右键——New Connection,打开 XYZ Connection。

把瓦片url粘贴进去。

http://webrd01.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scale=1&style=8

1c235716c73419f08b1525fe63879b68.png

QGIS连接postgresql。

打开Data Source Manger,选择Vector,选择Database,下拉选择PostgreSQL,选择new,输入Connection Information,输入User name和Password,勾选store,Test Connection,显示连接成功,ok,ok,add。

8422680bbd410c7f1bca0226d6b6d02d.png

8412cf1580ea436b628592ff5b5f97dc.png

看效果还可以。

5.用sql查看数据

Navicat打开一个表,看geom列,都是这样的内容:0101000000A265DD3F16C55B4088963C9E96814340,geometry对象是geohash编码的。

写个sql看看:SELECT st_astext(geom) FROM v6_time_cnty_pts_utf_wgs84 LIMIT 1

至少知道坐标了:POINT(111.079483 39.012409)

其他表再看看。

SELECT st_astext(geom) FROM v6_time_pref_pgn_utf_wgs84 LIMIT 1

MULTIPOLYGON(((113.549411712145 36.7545434898289,113.543285553768 36.7521524539279,113.560044728209 36.7134634435762,113.55651873219 36.7287158304727,113.552914744172 36.7456842597138,113.549411712145 36.7545434898289)))

SELECT st_astext(geom) FROM v6_time_pref_pts_utf_wgs84 LIMIT 1

POINT(111.076347 39.017826)

用postgis就能把数据都导入postgresql里面,也不用写程序了。

但这样就无处显示我会写python了。

接下来看看,怎么用python写个脚本导入数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/370317.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sar图像去噪matlab,一种基于总曲率的SAR图像变分去噪方法与流程

本发明属于数字图像处理技术领域,具体涉及一种基于总曲率的SAR图像变分去噪方法。背景技术::相干斑噪声是合成孔径雷达(Synthetic Aperture Radar,简称SAR)图像的重要特征,严重影响SAR图像的可解译性。相干斑噪声通常作…

课时2.浏览器和服务器(了解)

1.什么是浏览器? 浏览器就是由安装在我们电脑上的一款软件,QQ,百度影音等一样,都是安装在电脑上的一款软件 那这些软件之间由什么区别呢? 它们的区别就是它们的功能不太一样,QQ是用来聊天的,…

python 定义变量_用python解决动态的定义变量名(并给其赋值方法:大数据处理)...

前言:今天为大家带来的内容是:用python解决动态的定义变量名(并给其赋值方法:大数据处理)具有很好的参考价值,希望对大家有所帮助。喜欢本文内容的记得点赞转发收藏不迷路哦!!!最近消费kafka数据…

课时39.细线表格(理解)

请你设计出以下图片里的这个样式的表格 步骤: 我先来制作一个两行两列的表格 2.将table里的cellspacing设置成0 外边距是不见了,但是和我们想要完成的图片有一定的差距,我们发现这样做出来的图片好像是两条线合并到了一起一样,实…

matlab拼碎纸片过程,碎纸片拼接复原模型

1. 引言破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。企事业、机关、院校和军队基于保密的需要,使用碎纸机对重要文件,单据以及材料进行销毁。一些重要的文件随着时间流逝,残破不全,因此&…

VC++编译MPIR 2.7.0

目录 第1章编译 2 1.1 简介 2 1.2 下载 3 1.3 解决方案 4 1.4 创建项目 5 1.5 复制文件树 6 1.6 不使用预编译头文件 8 1.7 包含目录 9 1.8 定义宏 10 1.9 编译前事件 11 1.10 修改 obj 的位置 13 1.11 编译yasm 14 1.12 编译汇编代码 …

导弹拦截

链接 分析:经典DP题,最长不下降子序列的变种,同时需要记录路径,用pre[]数组记录当前结点的前一个结点的方法很妙 1 #include "iostream"2 #include "cstdio"3 #include "cstring"4 #include "…

Spring中的@Cacheable开销

Spring 3.1引入了很棒的缓存抽象层 。 最后,我们可以放弃所有本地化的方面,装饰器和污染我们与缓存相关的业务逻辑的代码。 从那时起,我们可以简单地注释重量级方法,并让Spring和AOP机械完成工作: Cacheable("bo…

电工接线模拟仿真软件_VERICUT数控加工仿真软件,最强的数控加工模拟软件,你知道么?...

VERICUT数控加工仿真软件,最强的数控加工模拟软件VERICUT软件及功能简介1、VERICUT软件简介VERICUT是美国CGTech公司开发一款专业的数控加工仿真软件,是当前全球数控加工程序验证、机床模拟、工艺程序优化软件领域的领导者。该软件自1988年开始推向市场以来&#xf…

php数据库创建文件失败怎么回事,安装zblogPHP提示“创建c_option.php失败”解决方法...

有zblog用户反应在安装zblog的最后一步时提示“创建c_option.php失败”,如下图:本文来说明下这个问题的原因和解决办法。问题产生的原因:c_option.php是zblog的数据库配置文件,当安装完成的时候程序会自动创建这个文件。如果你的主…

CSS Variables

CSS原生变量(CSS自定义属性) 示例地址:https://github.com/ccyinghua/Css-Variables 一、css原生变量的基础用法 变量声明使用两根连词线"--"表示变量,"$color"是属于Sass的语法,"color"是属于Less的语法&a…

【基础中的基础】引用类型和值类型,以及引用传递和值传递

一直在博客园怼人,非常惭愧。所以郑重决定: 好好写一篇干货,然后再接着怼人。 这是一起帮上陈百万同学的求助,讲了一会之后,我觉得很有些普世价值,干脆就发到园子来。面向小白,高手轻拍。 我们从…

Java 7:使用NIO.2进行文件过滤–第3部分

大家好。 这是使用NIO.2系列进行文件过滤的第3部分。 对于那些尚未阅读第1 部分或第2部分的人 ,这里有个回顾。 NIO.2是自Java 7起JDK中包含的用于I / O操作的新API。使用此新API,您可以执行与java.io相同的操作,以及许多出色的功能&#xf…

Hadoop Serialization -- hadoop序列化具体解释 (2)【Text,BytesWritable,NullWritable】

回想:回想序列化,事实上原书的结构非常清晰,我截图给出书中的章节结构:序列化最基本的,最底层的是实现writable接口,wiritable规定读和写的游戏规则 (void write(DataOutput out) throws IOExce…

我需要多少个线程?

这取决于您的应用程序。 但是对于那些希望对如何从生产站点购买的所有昂贵内核中挤出更多资金的人来说,请多多包涵,我将阐明围绕多线程 Java应用程序的奥秘。 内容针对最典型的Java EE应用程序进行了“优化”,该应用程序具有Web前端&#xff…

H5网页适配 iPhoneX,就是这么简单

iPhoneX 取消了物理按键,改成底部小黑条,这一改动导致网页出现了比较尴尬的屏幕适配问题。对于网页而言,顶部(刘海部位)的适配问题浏览器已经做了处理,所以我们只需要关注底部与小黑条的适配问题即可&#…

数字校园-云资源平台 2014.10.26-人人通共享空间

近期,教育部在统计学校信息化建设情况,当中一项重要内容,作为三通两平台的一个环节,就是学校开通人人通空间的情况,网上普及了一下知识,不就是十多年前就玩的学校博客的变种吗,网上有一些产品,也是没有热闹起来,为要求而要求的多,既然要求,就来一个吧,花了几天时间,也做了一个.…

Lucene –快速添加索引和搜索功能

什么是Lucene? Apache LuceneTM是完全用Java编写的高性能,功能齐全的文本搜索引擎库。 它是一项适用于几乎所有需要全文搜索的应用程序的技术,尤其是跨平台的应用程序。 Lucene可以纯文本,整数,索引PDF,Of…

《深入理解Java虚拟机》读书笔记3--垃圾回收算法

转载:http://blog.csdn.net/tjiyu/article/details/53983064 下面先来了解Java虚拟机垃圾回收的几种常见算法:标记-清除算法、复制算法、标记-整理算法、分代收集算法、火车算法,介绍它们的算法思路,有什么优点和缺点,…

Flex布局(一)flex-direction

采用Flex布局的元素,被称为Flex容器(flex container),简称"容器"。其所有子元素自动成为容器成员,成为Flex项目(Flex item),简称"项目" Flex-direction调整主轴方向(默认为水平方向)包…