PostGIS学习笔记(1)

发布于 2022-10-16  624 次阅读


PostGIS官方教程汇总目录_不睡觉的怪叔叔的博客-CSDN博客

安装PostgreSql

第一次安装最新版本(15.0)直接报错,摸不着头脑

Download PostgreSQL (enterprisedb.com)

网上说要用Geek卸载以防删不干净

Geek Uninstaller - Download

原来是Locate没选C,大意了

安装PostGIS

选择空间数据库扩展

然后程序无响应了。。。还是手动安装吧(后来发现要挂梯子并且等个十几秒就正常了)

Index of /postgis/windows/ (osgeo.org)

Postgis 图文安装详细教程 - 爱码网 (likecs.com)

选择PostgreSql对应版本
安装时初始化一个空间数据库
安装路径保持一致

安装QGIS

Welcome to the QGIS project!

QGIS安装没啥说的,一路确定到底

装的全是最新版,稳定性是什么?莽就完事了

新建PostGIS数据库

新建测试数据库

激活PostGIS空间扩展

检查激活是否成功

PostGIS shapefile工具

打开PostGIS Bundle打开时报错缺少libssl-3-x64.dll以及libcrypto-3-x64.dll,找到安装目录检查dll存放位置,将缺少的dll移动至postgisgui文件夹中

成功打开,连接创建的数据库

选择add一个shp文件,现在有个问题就是这个SRID是什么

原教程贴心的博主给了解答,阿里嘎多

PostGIS教程四:加载空间数据_不睡觉的怪叔叔的博客-CSDN博客

可惜查询网站已经打不开了,挂梯子也不行,但还可以通过sql语句直接在postGIS里查

比如我这个shp的prj文件长这样,也就是CGCS2000地理坐标系,高斯克吕格投影,18带

PROJCS["CGCS2000_GK_Zone_18",GEOGCS["GCS_China_Geodetic_Coordinate_System_2000",DATUM["D_China_2000",SPHEROID["CGCS2000",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Gauss_Kruger"],PARAMETER["False_Easting",18500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",105.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]

SQL查询

select srid, srtext, proj4text from spatial_ref_sys where srtext ILIKE '%CGCS2000%'
PROJCS["CGCS2000 / Gauss-Kruger zone 18",GEOGCS["China Geodetic Coordinate System 2000",DATUM["China_2000",SPHEROID["CGCS2000",6378137,298.257222101,AUTHORITY["EPSG","1024"]],AUTHORITY["EPSG","1043"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4490"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",105],PARAMETER["scale_factor",1],PARAMETER["false_easting",18500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","4496"]]

那么这个投影对应的SRID应该就是4496

检查options,import导入,出错,应该是目录带中文的原因,换成英文目录,成功导入

刷新数据库,ok

使用QGIS查看

打开QGIS,新建空白项目,选择PostgreSql,新建连接

输入数据库名,输入用户名和密码,成功连接

局部查看时刷新速度相比于arcgis直接读取shapefile确实快了相当多

届ける言葉を今は育ててる
最后更新于 2023-03-26