在之前我也写过一篇使用PostGIS进行数据处理的文章:用线裁剪面之-PostGIS版本。PostGIS本身是个空间数据库,其本身包含很多的函数。
但地理数据处理,是一个广阔的世界,除此之外,亦有很多优秀的软件可供我们使用,或者你可以写些代码来进行数据的处理与分析,今天主要介绍空间数据库——PostGIS。 ?...PostGIS可以做什么 可能有很多人(包括我)都会觉得,数据库嘛,不就是存数据的嘛,怎么还跟数据处理扯上关系了?...直到有一天,单位的小哥哥看我处理数据,我们在交流中我发现,原来PostGIS有这么多的函数,有这么多的功能,竟然这么强大。...从空间分析运算,到属性处理,PostGIS都有相关的函数,并且在数据库中的这些运算,非常的高效。...这么说吧,如果要更新某个表的某个字段(我觉得表越大,在数据库进行计算的优势越明显),分别用ArcMap与pg来做,可能用ArcMap软件打开属性表的时间,PostGIS都已经算完了,没办法,就是这么高效
确认安装版本可以用在postgreSQL的shell里查询: myths=# select * from pg_available_extensions where name like 'postgis...| 2.2.1 | | PostGIS SFCGAL functions postgis | 2.2.1...postgis_topology | 2.2.1 | | PostGIS topology spatial types and functions...很明显可以看见版本和说明。...PostGIS 2.0 Manual PostGIS 在 O2O应用中的优势
PostGIS特性 1、PostGIS支持所有的空间数据类型,这些类型包括:点(POINT)、线(LINESTRING)、多边形(POLYGON)、多点 (MULTIPOINT)、多线(MULTILINESTRING...PostGIS支持所有的对象表达方法,比如WKT和WKB。 2、PostGIS支持所有的数据存取和构造方法,如GeomFromText()、AsBinary(),以及GeometryN()等。...3、PostGIS提供简单的空间分析函数(如Area和Length)同时也提供其他一些具有复杂分析功能的函数,比如Distance。...4、PostGIS提供了对于元数据的支持,如GEOMETRY_COLUMNS和SPATIAL_REF_SYS,同时,PostGIS也提供了相应的支持函数,如AddGeometryColumn和DropGeometryColumn...6、PostGIS提供了空间操作符(如Union和Difference)用于空间数据操作。 比如,Union操作符融合多边形之间的边界。
GitHub postgis/postgis PostGreSQL(三)PostGIS PostGreSQL(四)PostGIS-空间数据存储 PostGreSQL(五)PostGIS-常用函数...PostGreSQL(六)PostGIS-空间连接和空间索引 PostGreSQL(七)PostGIS-几何图形创建函数 PostGreSQL(八)PostGIS-图形有效性和简单性 PostGreSQL...(九)PostGIS-几何图形的相等 PostGreSQL(十)PostGIS-最近领域搜索 PostGreSQL(十一)PostGIS-其他函数 一、PostGIS介绍 PostGIS是一个空间数据库...PostGIS安装不仅依赖于PostgreSQL,还依赖于很多插件: GEOS几何对象库 GDAL栅格功能 LibXML2 LIBJSON PostGIS的特点如下: PostGIS支持所有的空间数据类型...PostGIS支持所有的对象表达方法,比如WKT和WKB。 PostGIS支持所有的数据存取和构造方法,如GeomFromText()、AsBinary(),以及GeometryN()等。
说明 在安装完Postgresql以后,打postgis扩展时,报错 ERROR: could not load library "/usr/pgsql-12/lib/rtpostgis.so": /...12,小版本号会随官方更新;遇到问题的是12.5 postgis2.5 推测原因 装机无数,postgis版本不变,而postgresql小版本会更新,所以推测是postgresql12.5版本引起的...即可 ** postgresql里用openssl来进行通讯加密 ** 我从openssl入手,发现有该文件 find / -name libcrypto.so.10 查看openssl版本...ln -s /usr/lib64/libcrypto.so.1.0.2k /usr/lib64/libcrypto.so.10 回到第8步验证,如果链接正确到1.0.2,再回到postgresql打postgis...扩展即可 后话 虽然问题解决了,但这第一次遇到,没法确定是否是postgresql12.5版本造成的,留待后续装机时继续验证。
通过函数st_isempty(geom)可以判断geometry是否为空,返回是布尔型的true或者false,具体使用如下:
为postgresql安装postgis扩展模块: 1、安装postgis 2、在指定数据库下执行下面语句 CREATE EXTENSION postgis 3、验证:执行下面语句不报错即可 SELECT
放弃不难,但坚持很酷~ PostgreSQL版本:9.6.12 PostGIS版本:2.4.6 一、概述 1.1 PostgreSQL概述 PostgreSQL是一个功能强大的对象关系型数据库管理系统(...PostGIS安装不仅依赖于PostgreSQL,还依赖于很多插件: GEOS几何对象库 GDAL栅格功能 LibXML2 LIBJSON PostGIS的特点如下: PostGIS支持所有的空间数据类型...PostgreSQL与PostGIS版本的依赖关系可点击:http://trac.osgeo.org/postgis/wiki/UsersWikiPostgreSQLPostGIS 三、基本使用 3.1...3.2.1 在testdb数据库下安装PostGIS扩展 安装PostGIS扩展: CREATE EXTENSION postgis; 验证PostGIS扩展是否安装成功: SELECT postgis_full_version...四、总结 本文首先说明了PostgreSQL与PostGIS的基本概念,又罗列了两者的yum安装教程及版本兼容关系,最后讲解了一下PostgreSQL的简单使用及PostGIS的空间查询的简单示例。
概述: 在进行地理信息系统开发的过程中,常用的空间数据库有esri的sde,postgres的postgis以及mySQL的mysql gis等等,在本文,给大家介绍的是有关postgis的一些常用函数的意思以及使用...说明: 本文中所使用postgres的版本为9.4.0,你可从我的百度网盘获取相关的安装包,安装包地址如下: postgres:http://pan.baidu.com/s/1o69WORK
|导言:PostGIS是业界功能最全面,能力最强大的空间地理数据库引擎。现实业务开发中,经常会遇到有附近的某某的需求,如何快速实现呢,PostGIS+PostgreSQL可以帮到你。...本文就讲解如何通过PostGIS实现附近的对象这个功能,实际很简单就一条SQL可以搞定。...首先,我们准备一个PostgreSQL数据库实例,并且此数据库实例需要支持PostGIS插件,版本不挑剔,此为基本能力。...第一步:创建插件,登录到数据库实例中,在业务database执行如下命令: \c test CREATE EXTENSION postgis; CREATE EXTENSION postgis_topology
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扩展。
对于上一篇PostGIS批量导入栅格数据中导入的气温数据,如何查询指定范围的气温呢? 比如,给定了经纬度范围,如何取出给定月份的数据?...existing database conn = psycopg2.connect('host=localhost port=5432 user=postgres password=post1231 dbname=postgis_in_action
如果我们有一批以文件存储的影像数据如何利用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...existing database conn = psycopg2.connect('host=localhost port=5432 user=postgres password=password dbname=postgis_in_action
上一篇博文PostGIS导入导出ESRI Shapefile数据介绍了如何导入空间矢量数据到PostgreSQL中,紧接上一篇,本文将介绍如何使用PostGIS导入导出空间栅格数据。...PostGIS提供了raster2pgsql工具用于栅格数据的导入(可以使用man raster2pgsql命令查看帮助文档)。...注意:PostGIS的默认导出GDAL支持的格式数据是关闭的,启用的话需要修改PostgreSQL的配置文件。修改的方法比较多,而且不同的PostgreSQL版本的支持情况不一样。...: http://postgis.net/docs/postgis_gdal_enabled_drivers.html http://postgis.net/docs/manual-2.2/postgis_enable_outdb_rasters.html...ST_AsTIFF函数参见:http://postgis.net/docs/RT_ST_AsTIFF.html。
图1 2 geopandas与PostGIS进行交互 为了能在geopandas中与postgresql和PostGIS建立连接,请确保以下3个库已经安装: pip install sqlalchemy...2.1 利用geopandas向PostGIS写入数据 为方便演示,这里我们以简化版的重庆市区县矢量面数据为例,首先我们导入所需的geopandas(注意geopandas版本必须大于等于0.8.0)与...使用到的API为to_postgis(),其主要参数如下: ❝「name」:字符型,用于指定推送到PostGIS后的表名称 「con」:sqlalchemy.engine.Engine对象,用于建立与数据库的连接...读取数据 从PostGIS中读取数据要用到另一个API,对应geopandas的read_postgis(),其主要参数如下: ❝「sql」:字符型,对应从空间数据库中提取数据的SQL语句 「con」:...」:字符型或列表,用于指定将哪些列作为索引 「parse_dates」:列表,用于预解析时间类型数据 ❞ 接着我们从PostGIS中读取刚才写入的表: 图10 简简单单,我们就实现了与PostGIS的交互
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 # 验证空间数据库版本
以前在处理gis数据的时候,都是直接导入本地shp素材、本地geojson素材,本地topojson素材,自从接触postgis数据之后,深感使用规范的存储系统来统一管理gis数据的好处,特别是数据量大了之后...,优势便更加明显,你可以选择将很多需要做空间计算的步骤转移到Postgis数据库内进行计算,要知道Postgis提供的空间计算能力与R和Python这种应用导向的工具相比,优势要大得多。...流逝 0.02 0.00 0.01 是不是看完这个性能大比拼之后大吃一惊,为sf包的超强IO能力所折服,sf包是一个非常强大的包,实现了基于simple features的所有特性,如果你了解一点儿Postgis...的话,你会发现作者把大部分空间运算的函数名称设计的和Postgis中的函数一模一样,这就意味着你无论是只了解过sf包函数,或者只了解过Postgis函数,都可以低成本的迁移到两一个平台,因为同名函数往往功能一致
之前看geotrellis源码看到有关geotrellis.slick的相关部分,仅大概浏览了一番,知道是用于读取PostGIS数据库的,未做深入研究,又恰巧前几日有老外在gitter上问了如何读取PostGIS...JDBC方式我是亲自测试过的,在geotrellis使用(十一)实现空间数据库栅格化以及根据属性字段进行赋值一文中,我详细讲述了如何从PostGIS中读取空间数据并进行栅格化操作;然而我也有极度强迫症,...2.3 创建数据库表与实体类映射 首先要在PostGIS中创建一个数据库(此处假设为test),此数据库要选择空间模板以使该数据库支持空间操作。...在创建映射之前,需要先创建一个类使得程序能够正确识别此类映射并加入相应PostGIS扩展。...执行上面的函数会打印出如下信息: List(select ST_AsEWKT("geom") from "cities") 表明geotrellis.slick确实将asEWKT操作转换为PostGIS
领取专属 10元无门槛券
手把手带您无忧上云