• postgis经常使用函数介绍(一)


    概述:

    在进行地理信息系统开发的过程中,经常使用的空间数据库有esri的sde,postgres的postgis以及mySQL的mysql gis等等,在本文。给大家介绍的是有关postgis的一些经常使用函数的意思以及使用。


    说明:

    本文中所使用postgres的版本号为9.4.0。你可从我的百度网盘获取相关的安装包,安装包地址例如以下:

        postgres:http://pan.baidu.com/s/1o69WORK

        postgres空间扩展:http://pan.baidu.com/s/1c0fPfpe

    先安装postgres。在安装postgres的空间扩展,软件安装好之后就開始了解下postgres的经常使用函数吧。


    wkt简单介绍:

    WKT(Well-known text)是一种文本标记语言。用于表示矢量几何对象、空间參照系统及空间參照系统之间的转换。WKT能够表示的几何对象包含:点,线,多边形,TIN(不规则三角网)及多面体。能够通过几何集合的方式来表示不同维度的几何对象。
    几何物体的坐标能够是2D(x,y),3D(x,y,z),4D(x,y,z,m),加上一个属于线性參照系统的m值。


    下面为几何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))
    POINT ZM (1 1 5 60)
    POINT M (1 1 80)
    POINT EMPTY
    MULTIPOLYGON EMPTY


    函数介绍:

    1、怎样找到postgres的函数

    安装完毕之后,打开pgAdmin,打开之后。打击点开例如以下图:


    注意:

    图中数据库lzugis是一个空间数据库,找到框架->public,展开public之后例如以下图:


    看到了吧,我们所要找的函数就在这个下面,此外。经常使用的还有数据表,触发器函数等,函数展开之后截图例如以下:


    图中,下面划线开头的表示系统函数,在寻常应用中是使用不到的,不下面划线开头是咱们有可能用到的函数。所以。在使用的过程中可要细致看看了。


    2、经常使用函数

    wkt和geometry的互换

    postgres中,能够通过函数st_astext(geom)实现geometry到wkt的转换,通过st_geomfromtext(wkt。wkid)实现wkt到geometry的转换,详细使用例如以下:

    st_astext(geom)


    通常,我们通过此函数将数据库中的对象取出来用曾经台的展示。

    st_geomfromtext(wkt。wkid)


    通常。我们通过此函数将前台操作完的数据提交到后台,进行入库或者别的空间相关的操作。比方缓冲区分析,距离计算等。


    获取点的x和y坐标值,获取线/面的xmin,ymin,xmax。ymax

    能够通过函数st_x(geom)和st_y(geom)函数获取点对象的x和y坐标值。


    能够通过st_xmin(geom)。st_ymin(geom),st_xmax(geom),st_ymax(geom)函数获取线/面对象的四至。



    距离,长度和面积计算

    能够通过函数st_distance(geom,geom)或者st_distance(wkt,wkt)函数计算两点的距离


    能够通过st_length(geom)或者st_length(wkt)计算线的长度。


    能够通过函数st_area(geom)或者st_area(wkt)计算面积。



    缓冲区计算

    能够通过函数st_buffer(geom,distance)或者st_buffer(wkt,distance)实现缓冲区的计算




  • 相关阅读:
    【Java每日一题】20170111
    【Java每日一题】20170110
    【Java每日一题】20170109
    【Java每日一题】20170106
    【Java每日一题】20170105
    【Java每日一题】20170104
    【Java每日一题】20170103
    【Java每日一题】20161230
    【Java每日一题】20161229
    【Java每日一题】20161228
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/6858393.html
Copyright © 2020-2023  润新知