概述: 书接上文,本文继续讲解Postgres中常用的空间函数的使用。...常用函数: 1、判断geometry是否为空 通过函数st_isempty(geom)可以判断geometry是否为空,返回是布尔型的true或者false,具体使用如下: ?...通常,st_within函数常用以where后面的条件去做查询。...通常,st_intersection函数用以两个图层的叠加分析。...5、合并geometry 通过函数st_union([geom1,geom2...])实现多个geometry的合并操作,通过函数st_union(geom,geom)可实现两个函数的合并操作,具体使用如下
概述: 在进行地理信息系统开发的过程中,常用的空间数据库有esri的sde,postgres的postgis以及mySQL的mysql gis等等,在本文,给大家介绍的是有关postgis的一些常用函数的意思以及使用...看到了吧,我们所要找的函数就在这个下面,此外,常用的还有数据表,触发器函数等,函数展开之后截图如下: ?...图中,以下划线开头的表示系统函数,在平常应用中是使用不到的,不以下划线开头是咱们有可能用到的函数,所以,在使用的过程中可要仔细看看了。...获取点的x和y坐标值,获取线/面的xmin,ymin,xmax,ymax 可以通过函数st_x(geom)和st_y(geom)函数获取点对象的x和y坐标值; ?...距离,长度和面积计算 可以通过函数st_distance(geom,geom)或者st_distance(wkt,wkt)函数计算两点的距离 ?
PostGIS特性 1、PostGIS支持所有的空间数据类型,这些类型包括:点(POINT)、线(LINESTRING)、多边形(POLYGON)、多点 (MULTIPOINT)、多线(MULTILINESTRING...3、PostGIS提供简单的空间分析函数(如Area和Length)同时也提供其他一些具有复杂分析功能的函数,比如Distance。...4、PostGIS提供了对于元数据的支持,如GEOMETRY_COLUMNS和SPATIAL_REF_SYS,同时,PostGIS也提供了相应的支持函数,如AddGeometryColumn和DropGeometryColumn...10、空间聚集函数 在数据库中,聚集函数是一个执行某一属性列所有数据操作的函数。比如Sum和Average,Sum是求某一关系属性列的数据总和,Average 则是求取某一关系属性列的数据平均值。...与此对应,空间聚集函数也是执行相同的操作,不过操作的对象是空间数据。
简要使用 用好这个扩展好像也是个挺麻烦的事的,因为这个牵涉到使用很多的函数,因此查看帮助文档就显得很必要了。 下面就以对点进行最近邻的查找为例。...插入语句: myths=# insert into testTable values(1,ST_GeomFromText('POINT(32 66)',0)); 这就用到了st_geomfromtext()函数...,这个函数把文本形式的类型转换为实际类型,并且指定srid,插入到表中。...这里表示求距离,st_astext()函数把wkb形式的数据转换成wkt的可读形式: id | st_astext --------+-------------------...PostGIS 2.0 Manual PostGIS 在 O2O应用中的优势
GitHub postgis/postgis PostGreSQL(三)PostGIS PostGreSQL(四)PostGIS-空间数据存储 PostGreSQL(五)PostGIS-常用函数...PostGreSQL(六)PostGIS-空间连接和空间索引 PostGreSQL(七)PostGIS-几何图形创建函数 PostGreSQL(八)PostGIS-图形有效性和简单性 PostGreSQL...(九)PostGIS-几何图形的相等 PostGreSQL(十)PostGIS-最近领域搜索 PostGreSQL(十一)PostGIS-其他函数 一、PostGIS介绍 PostGIS是一个空间数据库...PostGIS提供简单的空间分析函数(如Area和Length)同时也提供其他一些具有复杂分析功能的函数,比如Distance。...管理 —— 管理关于空间表和PostGIS组织的信息的函数 检索 —— 检索几何图形的属性和空间信息测量的函数 比较 —— 比较两种几何图形的空间关系的函数 生成 —— 基于其他几何图形生成新图形的函数
说明 在安装完Postgresql以后,打postgis扩展时,报错 ERROR: could not load library "/usr/pgsql-12/lib/rtpostgis.so": /...file libcrypto.so.10 with link time reference 出现问题环境 centOS7.4 postgresql版本12,小版本号会随官方更新;遇到问题的是12.5 postgis2.5...推测原因 装机无数,postgis版本不变,而postgresql小版本会更新,所以推测是postgresql12.5版本引起的 查找问题 在rtpostgis报错路径下,可以找到文件 百度大佬说和...ln -s /usr/lib64/libcrypto.so.1.0.2k /usr/lib64/libcrypto.so.10 回到第8步验证,如果链接正确到1.0.2,再回到postgresql打postgis
课程: 1、课程主题 PostGIS空间函数简介 2、课程内容 a、转换函数 wkt和geom之间的相互转化 b、空间关系判断函数 常见的空间关系(Geometry Relationships)包括...c、空间操作函数 常见的空间操作(Geometry Operations)包括:Buffer、Intersection、ConvexHull、Intersection、Union、Difference、...d、在线编辑实现 结合Geoserver和OL2与Postgis,实现图层的在线编辑。 文章内容和相关代码大家可移步百度网盘一观究竟 http://pan.baidu.com/s/1slMypPV
在之前我也写过一篇使用PostGIS进行数据处理的文章:用线裁剪面之-PostGIS版本。PostGIS本身是个空间数据库,其本身包含很多的函数。
为postgresql安装postgis扩展模块: 1、安装postgis 2、在指定数据库下执行下面语句 CREATE EXTENSION postgis 3、验证:执行下面语句不报错即可 SELECT
但地理数据处理,是一个广阔的世界,除此之外,亦有很多优秀的软件可供我们使用,或者你可以写些代码来进行数据的处理与分析,今天主要介绍空间数据库——PostGIS。 ?...PostGIS可以做什么 可能有很多人(包括我)都会觉得,数据库嘛,不就是存数据的嘛,怎么还跟数据处理扯上关系了?...直到有一天,单位的小哥哥看我处理数据,我们在交流中我发现,原来PostGIS有这么多的函数,有这么多的功能,竟然这么强大。...从空间分析运算,到属性处理,PostGIS都有相关的函数,并且在数据库中的这些运算,非常的高效。...据我了解,无论是ArcGIS还是FME都没有什么函数或转换器能直接实现线裁开面的功能。以下为测试数据: ? 我绘制了三条线与五个面,作为测试数据。
对于上一篇PostGIS批量导入栅格数据中导入的气温数据,如何查询指定范围的气温呢? 比如,给定了经纬度范围,如何取出给定月份的数据?...3.87,73.67,53.55,135.05,4326) As geom WHERE ST_Intersects(rast,geom) AND month=1; 其中, ST_MakeEnvelope函数用于构造一个矩形范围...,其参数分别是最小X值,最小Y值,最大X值,最大Y值和坐标系代码; ST_Intersects函数用于选择出与geom矩形相交的栅格Tiles; ST_Clip函数用于将选择出来的Tiles进行裁剪...,得到geom范围的数据; ST_Union函数用于聚合选择出来的数据为一个整体; 上述的SQL返回的结果是raster类型的数据,如果想要将结果导出为TIFF格式的数据,SQL代码如下: SELECT...existing database conn = psycopg2.connect('host=localhost port=5432 user=postgres password=post1231 dbname=postgis_in_action
PostGIS作为PostgreSQL数据库的空间扩展,提供了对空间数据管理的支持。...: 2.2 (安装好PostGIS,并在数据库中启用PostGIS扩展以后,可以在psql命令行中使用SELECT PostGIS_Version();或者SELECT PostGIS_Full_Version...然后,使用如下命令添加UbuntuGIS的PPA用于安装PostGIS扩展。...postgis 安装好了以后,使用sudo -u postgres psql命令可以进入psql交互环境。...\c postgis_in_action 然后在postgis_in_action数据库中启用PostGIS扩展。
搜索索引:全文搜索索引足以应对简单场景;丰富的索引类型,支持函数索引,条件索引。...支持OLAP:citus分布式插件,ANSI SQL兼容,窗口函数,CTE,CUBE等高级分析功能,任意语言写UDF。...PostGIS提供简单的空间分析函数(如Area和Length)同时也提供其他一些具有复杂分析功能的函数,比如Distance。...同时,PostGIS也提供了相应的支持函数,如AddGeometryColumn和DropGeometryColumn。...数据库坐标变换 球体长度运算 三维的几何类型 空间聚集函数 栅格数据类型 二、安装 如何安装PostgreSQL + PostGIS请参考:《如何安装PostgreSQL + PostGIS请点击》。
本文就将针对如何利用geopandas向PostGIS空间数据库写入及读取矢量数据进行介绍。...图1 2 geopandas与PostGIS进行交互 为了能在geopandas中与postgresql和PostGIS建立连接,请确保以下3个库已经安装: pip install sqlalchemy...使用到的API为to_postgis(),其主要参数如下: ❝「name」:字符型,用于指定推送到PostGIS后的表名称 「con」:sqlalchemy.engine.Engine对象,用于建立与数据库的连接...读取数据 从PostGIS中读取数据要用到另一个API,对应geopandas的read_postgis(),其主要参数如下: ❝「sql」:字符型,对应从空间数据库中提取数据的SQL语句 「con」:...」:字符型或列表,用于指定将哪些列作为索引 「parse_dates」:列表,用于预解析时间类型数据 ❞ 接着我们从PostGIS中读取刚才写入的表: 图10 简简单单,我们就实现了与PostGIS的交互
如果我们有一批以文件存储的影像数据如何利用PostGIS批量的导出到PostgreSQL数据库中进行管理呢?...(单个数据的导入参见我上篇博文:PostGIS导入导出栅格数据) 我的实验环境如下: OS: Ubuntu 16.04 LTS PostgreSQL:9.5.5 PostGIS: 2.2...-s 4326 -I -C -M ./*.tif -F -t 256x256 staging.tmean_19 | psql -h localhost -p 5432 -U postgres -d postgis_in_action...这里主要用到了两个函数ST_AsTIFF和ST_Union。...existing database conn = psycopg2.connect('host=localhost port=5432 user=postgres password=password dbname=postgis_in_action
---- 如果想要导出数据,可以使用PostGIS提供的内置函数。其中ST_AsGDALRaster 是一个通用性的函数,可以导出为GDAL支持的任意格式。...此外,还有ST_AsPNG,ST_AsJPEG和ST_AsTIFF等函数,提供了直接导出到指定格式,并且接受更少的参数。...: http://postgis.net/docs/postgis_gdal_enabled_drivers.html http://postgis.net/docs/manual-2.2/postgis_enable_outdb_rasters.html...第二个问题是:这些内置函数提供的导出结果是PostgreSQL的bytea (byte array)数据类型,我们需要自己写程序进行转换成实际的图像文件。...ST_AsTIFF函数参见:http://postgis.net/docs/RT_ST_AsTIFF.html。
PostGIS 2.1 准备源码包 准备gdal、proj、geos和postgis的源码包,postgis版本注意和postgresql保持兼容。.../source/postgis-2.2.6.tar.gz 2.2 解压编译安装gdal、proj、geos和postgis 依次解压、编译、安装以上软件包。...postgis-2.2.6 && ....# 创建相关空间数据库相关的函数,类型,操作符等 postgres $ psql -f /usr/share/pgsql/contrib/postgis-2.2/postgis.sql -d template_postgis...postgres $ psql -f /usr/share/pgsql/contrib/postgis-2.2/rtpostgis.sql -d template_postgis # 验证空间数据库版本
|导言:PostGIS是业界功能最全面,能力最强大的空间地理数据库引擎。现实业务开发中,经常会遇到有附近的某某的需求,如何快速实现呢,PostGIS+PostgreSQL可以帮到你。...本文就讲解如何通过PostGIS实现附近的对象这个功能,实际很简单就一条SQL可以搞定。...首先,我们准备一个PostgreSQL数据库实例,并且此数据库实例需要支持PostGIS插件,版本不挑剔,此为基本能力。...第一步:创建插件,登录到数据库实例中,在业务database执行如下命令: \c test CREATE EXTENSION postgis; CREATE EXTENSION postgis_topology...location geometry); CREATE INDEX t_user_location on t_user USING GIST(location); 第三步:插入测试数据: # 创建一个自动名字生成函数
以前在处理gis数据的时候,都是直接导入本地shp素材、本地geojson素材,本地topojson素材,自从接触postgis数据之后,深感使用规范的存储系统来统一管理gis数据的好处,特别是数据量大了之后...,优势便更加明显,你可以选择将很多需要做空间计算的步骤转移到Postgis数据库内进行计算,要知道Postgis提供的空间计算能力与R和Python这种应用导向的工具相比,优势要大得多。...的话,你会发现作者把大部分空间运算的函数名称设计的和Postgis中的函数一模一样,这就意味着你无论是只了解过sf包函数,或者只了解过Postgis函数,都可以低成本的迁移到两一个平台,因为同名函数往往功能一致...如果你要想将sf包导入的数据模型转换为普通的数据框模式,仅仅只需使用其提供的as(sf,’Spatial’)函数一次转化即可,当然sf有自己的ggplot2通道函数geom_sf(),这意味着你不必多此一举...,可以使用sf包、rgdal包以及RPostgreSQL包提供的写出函数。
领取专属 10元无门槛券
手把手带您无忧上云