在各种库和应用程序的支持下,PostGIS提供了许多用于加载数据的选项。

本节将重点介绍使用PostGIS shapefile加载工具加载shapefile的基础知识。

一、PostGIS shapefile工具

1.1、首先,返回到选项板,并单击PostGIS部分中的PostGIS shapefile工具,PostGIS shapefile工具将启动。

1.2、填写PostGIS连接部分的连接详细信息,然后单击“ok”按钮。程序将测试连接并在日志窗口中报告。

如果安装时使用默认的信息,就如下所示:

1.3、接下来,打开“Add File”按钮并导航到数据目录文件(数据下载地址):\postgis-workshop-2018\data。选择nyc-census_block.shp文件。

1.4、将文件的的SRID(空间参考信息)值更改为26918。请注意,架构、表名和列名已经根据shapefile文件里的信息填充,但是你可以有选择地更改它们(不要这样做!在教程后面部分,还有一些步骤需要默认的名称)。

1.5、保持配置部分的详细信息如下

1.6、单击"Options"按钮查看加载选项。加载程序将使用快速“COPY(复制)"模式,并在加载数据后默认创建空间索引

1.7、最后,单击"Import"按钮并观察导入过程。这可能需要几分钟的时间来加载,但这是教程数据中最大的一个文件。

1.8、重复数据目录中其余shapefile文件的导入。通过在按"Import"按钮之前添加多个文件,可以在一次导入中加载多个文件:

1.9、加载所有文件后,单击pgAdmin中的"Refresh"按钮更新树状视图。应该可以看到6个表显示在树结构:数据库>nyc>架构>public>数据表里。

二、什么是shapefile?

你可能会问自己 —— "shapefile是什么?"。

一个"shapefile"通常指带有.shp、.shx、.dbf和其他扩展名且前缀名称一致的文件集合。

例如上面的nyc_census_blocks由以下几个文件组成:

一个shapfile必需有的文件:

  • .shp    ——    存储地理要素的几何信息
  • .shx    ——    存储要素几何图形的索引信息
  • .dbf    ——    存储地理要素的属性信息(非几何信息)

可选文件包括:

  • .prj    ——    存储空间参考信息,即地理坐标系统信息和投影坐标系统信息。使用well-known文本格式进行描述。

PostGIS shapefile工具将shapefile数据从二进制转换为一系列的SQL命令,然后在数据库中运行以加载数据,从而使shapefile数据在PostGIS中可用

三、什么是SRID 26918?

大多数导入过程都是不言自明的,但即使是经验丰富的GIS专业人员也可能被SRID难倒。

“SRID"表示“Spatial Reference IDentifier(空间参考标识符)"。它定义了我们数据的地理坐标系统投影的所有参数。

SRID很方便,因为它将有关地图投影的所有信息(可能非常复杂)打包(更具体的说应该是映射)到一个数字中。

你可以在以下链接中查找我们在上面使用的投影的定义:

  • http://spatialreference.org/ref/epsg/26918/

或直接在PostGIS内部使用对spatial_ref_sys表的查询:

SELECT srtext FROM spatial_ref_sys WHERE srid = 26918;

注意:PostGIS的spatial_ref_sys表是一个OGC标准表,用于定义数据库已知的所有空间参考系统。PostGIS附带的数据列出了3000多个已知的空间参考系统以及在它们之间进行转换/重新投影所需的详细信息。

在以上两种查看方式里,你都会看到26918对应的空间参考系统的文本表示(为了便于观看,此处格式化得很整齐):

PROJCS["NAD83 / UTM zone 18N",GEOGCS["NAD83",DATUM["North_American_Datum_1983",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],AUTHORITY["EPSG","6269"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4269"]],UNIT["metre",1,AUTHORITY["EPSG","9001"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-75],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],AUTHORITY["EPSG","26918"],AXIS["Easting",EAST],AXIS["Northing",NORTH]
]

如果从data目录打开nyc_neighborhoods.prj文件,将看到相同的投影信息。

人们开始使用PostGIS的一个常见问题是弄清楚要使用哪个SRID号来使用他们的数据。他们只有一个.prj文件,但是应该如何将.prj文件转换成正确的SRID号呢?

最简单的答案就是使用电脑。将.prj文件的内容插入http://prj2epsg.org。这将为我们提供与投影定义最匹配的SRID编号(或编号列表)。

世界上并不是每个地图投影都有对应的SRID编号,但大多数常见的投影都有对应的且保存在prj2epsg数据库中的SRID编号。

你从当地机构收到的数据 —— 如纽约市 —— 通常是基于"洲际飞机“或"UTM"标出的地方投影。

四、使用QGIS查看数据

QGIS,是一个桌面端GIS查看器/编辑器,用于快速查看数据。

QGIS可以查看许多数据格式,包括shapefile和PostGIS数据库。

它的图形界面允许我们轻松探索我们的数据,以及快速的样式设置。

尝试使用QGIS连接PostGIS数据库,该应用程序可从http://qgis.org下载。

PostGIS教程四:加载空间数据相关推荐

  1. vue3.x +Cesium Cesium 如何加载空间数据,如何管理空间数据,加载实体,entities添加几何体,管理集合体等(四)

    cesium 通过 viewer.entities.add() 添加空间数据(实体)到地图上 point:点的添加 // 点var position = new Cesium.Cartesian3.f ...

  2. Java实现动态加载页面_[Java教程]动态加载页面数据的小工具 javascript + jQuery (持续更新)...

    [Java教程]动态加载页面数据的小工具 javascript + jQuery (持续更新) 0 2014-05-07 18:00:06 使用该控件,可以根据url,参数,加载html记录模板(包含 ...

  3. python数据加载常规教程_Python加载数据的5种不同方式(收藏)

    数据是数据科学家的基础,因此了解许多加载数据进行分析的方法至关重要.在这里,我们将介绍五种Python数据输入技术,并提供代码示例供您参考. 作为初学者,您可能只知道一种使用p andas.read_ ...

  4. pytorch入门强化教程——数据加载和处理

    PyTorch提供了许多工具来简化和希望数据加载,使代码更具可读性. 1.下载安装包 scikit-image:用于图像的IO和变换 pandas:用于更容易地进行csv解析 2.下载数据集 从此处下 ...

  5. MC基础教程#2 加载器、模组、光影、材质包、数据包下载及安装(国际Java版)

    MC基础教程系列第二期出了 和上一期隔了两年- 加载器 下载 Forge 老牌加载器,新版本( 1.13+ )不太好用 官网: https://files.minecraftforge.net/net ...

  6. 【初级】TensorFlow教程之加载和预处理数据|学习总结

    学习记录 一 图像 ① 使用多线程并行化读取数据 AUTOTUNE = tf.data.experimental.AUTOTUNE表示tf.data模块运行时,框架会根据可用的CPU自动设置最大的可用 ...

  7. WordPress 插件开发教程:插件加载顺序、创建插件、add_action与do_action

    一.插件加载顺序 1.index.php 2.wp-blog-header.php 3.wp-load.php 4.wp-config.php 5.wp-settings.php 二.创建插件 1.插 ...

  8. 3dsmax蒙皮教程,加载bip动作(菜鸟程序版)

    前面poser生成的模型,添加骨骼动画(用的是biped以及Physique),顺带加载bip动作. 参考视频下载地址: http://download.csdn.net/detail/buku201 ...

  9. Geoframe教程2——加载地震数据

    1.进入新建的工区 2.点击Load seismic 3.加载地震数据

最新文章

  1. 量子信息之父辞世,开山论文写完14年才被发表,晚年去当建筑工人
  2. svm 的提前处理
  3. scratch做简单跑酷游戏_腾讯游戏学院专家:做一个多线程游戏框架可以多简单?...
  4. 微软沈向洋自述:在实现职业目标的道路上,我得到了七个教训
  5. maven学习(一)
  6. moto txt阅读器java版,moto txt阅读器手机版下载
  7. svn is already locked
  8. android滚动视图实例,android实现自定义滚动条
  9. java 解析 svg_如何解析Java / Android中的SVG?
  10. 企业微信api发送告警信息
  11. C语言——学习笔记(全)
  12. 学习推荐《零起点Python大数据与量化交易》中文PDF+源代码
  13. 微信小程序笔记(包含node.js简介)
  14. 调整PC版百度网盘界面清晰度(其他软件也适用)
  15. AW297 赤壁之战(数据结构优化DP)
  16. [OHIF-Viewers]医疗数字阅片-医学影像-querySelector() 选择器语法-将画布(canvas)图像保存成本地图片的方法...
  17. 人都有说话的功能,中国人说汉语,美国人说英语,试用多态思想描述这一情形
  18. Git 工作流的一些经验分享
  19. vue实例中template: App,这样写是什么意思
  20. 用扫地机器人楼下吵吗_家里是复式的,用福玛特扫地机器人能扫完楼下拿到楼上接着扫吗...

热门文章

  1. deepstream运行TAO模型
  2. php获取客户端ip端口,Phpwind获取用户真实IP
  3. python之父考虑重构python解释器_Python之父考虑重构Python解释器
  4. golang 实用的 打印错误堆栈 的方法
  5. tplink怎么进去_在TP-Link工作体验如何?
  6. java.lang.IllegalArgumentException: Mapped Statements collection already contains value for ...
  7. Mac系统开发常见问题-Mac登录界面多了一个其他账户选项
  8. Hibernate(一)
  9. 互联网注定被抛弃,未来30年属于硬科技!深层逻辑是这样的
  10. 哈代:数学家一生是少年