美文网首页Geomatics(GIS,GPS,RS,Surveying)GISpostgis
PostGIS使用1:腾讯云PostGIS安装(结尾福利)

PostGIS使用1:腾讯云PostGIS安装(结尾福利)

作者: 泡面龙 | 来源:发表于2018-05-09 20:02 被阅读407次

    1.腾讯云申请postgresql

    版本号选PostgreSQL 9.5.4
    需要初始化实例
    如果是外网访问记得开放外网域名
    想自己在机器上通过源码安装的可以参考下云栖社区的这篇文章: https://yq.aliyun.com/articles/15011?spm=5176.11065265.1996646101.searchclickresult.680a3159rxVWXC

    2.数据库客户端推荐

    navcat for postgresql
    http://www.navicat.com.cn/download/navicat-for-postgresql
    可以在库上点右键选择进入命令行界面

    3.进来后随便找个库先检查下版本:

    SELECT version();
    

    结果应该是:

                          version
    ----------------------------------------------------------------------------------------------------------
    PostgreSQL 9.5.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-16), 64-bit
    (1 row)
    

    4.想知道是否安装了postgis可以这样

    尝试获取postgis版本:

    SELECT PostGIS_Full_Version();
    

    如果没安装postgis,PostGIS_Full_Version这个函数就执行不了

    5.看看哪些postgis插件可以安装

    SELECT name, default_version,installed_version FROM pg_available_extensions WHERE name LIKE 'postgis%';
    

    结果应该是:

    name                   | default_version | installed_version
    -----------------------+-----------------+-------------------
    postgis                | 2.3.0           | 
    postgis_tiger_geocoder | 2.3.0           | 
    postgis_topology       | 2.3.0           |
    (3 rows)
    

    6.安装postgis

    安装postgis:

    CREATE EXTENSION postgis;
    

    安装postgis_topology,支持拓扑运算功能:

    CREATE EXTENSION postgis_topology;
    

    安装postgis_tiger_geocoder,支持地理编码功能(可选)

    CREATE EXTENSION postgis_tiger_geocoder;
    

    7.验证一下

    再次运行:

    select PostGIS_Full_Version();
    

    结果会是:

                postgis_full_version
    --------------------------------------------------------------------------------------------------------------------------------------------------------------
    POSTGIS="2.3.0 r15146" GEOS="3.5.0-CAPI-1.9.0 r4084" PROJ="Rel. 4.6.1, 21 August 2008" GDAL="GDAL 2.1.1, released 2016/07/07" LIBXML="2.9.4" TOPOLOGY RASTER
    (1 row)
    

    成功安装的话可以看到POSTGIS的版本和他依赖的几个重要类库的版本:GEOS、PROJ、GDAL

    8.(福利!)顺便普及一下这三个常用库

    GIS同学一般都比较熟悉,咱们常用的老三样

    1)GEOS:GEOS,经典的空间函数库,C++写的,提供了各种拓扑运算的核心功能。 http://trac.osgeo.org/geos

    包括了常用的
    拓扑关系判断:相等(Equals)、脱节(Disjoint)、相交(Intersects)、接触(Touches)、交叉(Crosses)、内含(Within)、包含(Contains)、重叠(Overlaps)等

    拓扑操作:联合(Union)、距离计算(Distance)、交叉分析(Intersection)、 差异(Difference)、对等差分 (SymDifference)、凸包分析(Convex Hull)、缓冲区分析(Buffer)、最小外接矩形(Envelope)、抽稀( Simplify)等

    JAVA有个跟它功能一样的库,叫 JTS http://live.osgeo.org/en/overview/jts_overview.html

    2)PROJ:Proj.4,经典的空间坐标转换库,用于各种地理坐标(也叫大地坐标)和投影坐标转换. https://proj4.org/

    内置了超多坐标系( EPSG的+ESRI的),支持不同坐标系坐标随意转换,十分好用

    也有一个java版的,叫Proj4J(读起来拗口哈) https://trac.osgeo.org/proj4j/

    3)GDAL: GDAL,经典的空间数据格式转换库,用于各种不同格式空间数据的转换。http://www.gdal.org/

    GDAL还有个也是比较有名的兄弟:OGR,功能跟GDAL类似,但主要针对矢量数据用的。http://gdal.org/1.11/ogr/

    PostIGIS利用了上面三个库结合postgresql优秀的空间索引(GiST等)再加自己的优化封装,来帮助人们解决各种各种空间运算的问题哈

    最后推荐一位PG大牛的博客,圈内人称德哥,多年PG经验,里面有很多最佳实践,github上搜索digoal即可

    相关文章

      网友评论

        本文标题:PostGIS使用1:腾讯云PostGIS安装(结尾福利)

        本文链接:https://www.haomeiwen.com/subject/dtborftx.html