PostGIS教程一:PostGIS介绍
作者&投稿:德冉 (若有异议请与网页底部的电邮联系)
空间数据库革命:从平面文件到中心化管理
空间数据库,如PostGIS、Oracle Spatial和SQL Server 2008+,是现代GIS的核心,它们将空间对象如点、线、面的数据类型与强大的SQL查询能力相结合。数据类型扩展了传统数据库,引入形状数据和边界框,为复杂几何对象提供了高效处理的手段。空间索引,如PostGIS的R-tree,优化了对多边形等对象的查询,提供近似而非精确结果,以简化计算。
PostGIS:PostgreSQL的地理之心
PostGIS是PostgreSQL的扩展,它将开源数据库的可靠性和SQL标准支持提升到了全新的高度,为GIS对象提供强大的支持。作为PostgreSQL的插件,PostGIS继承了PostgreSQL的“企业级”特性,其选择性优于MySQL,主要得益于其更好的可扩展性和清晰的代码结构。
标准化SQL:从文件到数据库的飞跃
过去,Shapefile等文件格式曾是GIS数据的主流,但它们的局限性在于依赖特定应用程序和缺乏灵活性。通过数据库,如PostGIS,我们实现了对随机数据的抽象访问和并发管理,避免了数据与应用的紧密耦合,数据库系统如PostGIS提供了更优的空间分析解决方案。
PostGIS的发展历程与应用案例
自PostGIS 0.1版开始,它逐步进化,与GEOS合作解决了元数据表示问题,从0.8版的SFSQL支持到1.0版的轻量化数据表示。法国国家地理研究所(IGN)、房地产代理RedFin和GlobeXplorer等机构都选择了PostGIS,以提升存储效率、性能和数据管理的可靠性。
广泛应用与集成生态
PostGIS广泛应用于各种场景,无论是开源还是闭源软件,从服务器端到桌面端,如地图服务、地理信息系统和数据分析工具,都得益于PostGIS的标准化SQL访问和对大型数据集的强大支持。这使得PostGIS成为众多第三方程序的首选,包括但不限于QGIS、MapServer和CartoDB等。
17个开源GIS软件,看你用过几个?
MapServer是一套基于胖服务器端\/瘦客户端模式的实时地图发布系统,客户端发送数据请求时,服务器端实时地处理空间数据,并将生成的数据发送给客户端MapServer时核心部分是C语言编写的地图操作模块,它的许多功能都依赖一些开源或免费的库。MapServer遵循OGC系列规范,可以集成PostGIS和开源数据库PostgreSQL,并对地理空间数括...
求助,ARCGIS中区自相交如何解决?
在ArcGIS 中无论是拓扑、shapefile文件、还是个人地理数据库都是设置有容差的,小于这个容差的自相交,都是无法检测到的. 解决方案 查阅了很多资料,最终整理了如下的解决方案. 1.使用PostGIS...手机搜狐网 Arcgis进阶:分析工具(相交)_搜狗指南 1\/7 1、今天我们要学习的是分析工具中...A...
杨中彼赛: 1创建postgis数据库 \c demo ; -- 切换到目标数据库 create extension postgis ; -- 启用postgis(包括raster),pg版本10.1
颍州区13783172249: postgis怎么建立空间数据库 - ?
杨中彼赛: 1.基本命令介绍 创建空间数据库,并且连接到数据库最少需要了解一下几个命令 C:\>psql --help (其实这个命令才是最常用,懒得记那么多命令行,这个命令一敲就出来了,--help参数最重要) C:\>psql -U [用户名] -d [数据库名] (以连接到指定...
颍州区13783172249: 怎样在GreenPlum中编译使用PostGIS - ?
杨中彼赛: 1 将gis 的共享文件放入gp服务器.2 关联相关的文件及插件.3 在gp数据库配置中打开gis调试选项.4在客户端调试gis.
颍州区13783172249: postgis数据库怎么添加字段 - ?
杨中彼赛: 说起数据库,大家耳熟能详的商业数据库产品当推Oracle、微软的SqlServer和IBM的 DB2等,而开源数据库中则有两大产品MySQL和PostgreSQL.PostgreSQL 是一种对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大、 特性最...
颍州区13783172249: 如何获取postgis中的reaster - ?
杨中彼赛: PostGIS对几何信息的检查 PostGIS可以检查几何信息的正确性,这主要是通过IsValid函数实现的.以下语句分辨检查了2个几何对象的正确性,显然,(0, 0)点和(1,1)点可以构成一条线,但是(0, 0)点和(0, 0)点则不能构成,这个语句执...
颍州区13783172249: 在linux下安装好postgresql9.2之后怎么安装postgis插件.我使用yum install postgis2 - 92后提示说 - ?
杨中彼赛: 在安装postgis前必须先安装想对应的依赖包,才能安装postgis,依赖包:,先解压在用yum源安装,之后再安装postgis!!我这儿把依赖包下载好了,“依赖包”先在windonws系统下解压,解压出来的再把里面的依赖包复制到linux环境下解压,切记!!(因为我上传只能打包上传),求分!
颍州区13783172249: 如何初始化postgresql,创建用户gisuser,数据库gis,激活postgis - ?
杨中彼赛: postgres=# create user gisuser password '123456'; CREATE ROLE postgres=# create tablespace tbs_geo owner gisuser location '/tbs_postgisdb'; CREATE TABLESPACE postgres=# create database postgisdb owner=gisuser tablespace=tbs_...
颍州区13783172249: postgresql 中,geometry类型字段怎样插入操作 - ?
杨中彼赛: 您好,很高兴为您解答.首先,修改geometry_columns表中对应字段的SRID为新的坐标系ID; 其次,修改beijing_highway表的定义,将enforce_dims_the_geom的定义的(st_srid(the_geom) = (-1))删除(注:此处the_geom是空间字段);然后...
颍州区13783172249: PostGIS如何转换Geosever?
杨中彼赛: PostGIS是空间数据库,Geoserver是可作为GIS服务器,两者不是一个性质的东西.PostGIS可以作为Geoserver服务的数据来源,即Geoserver可以连接PostGIS,并将PostGIS存储的数据发布为服务.两者之间不存在转换的问题.将PostGIS数据发布为Geoserver服务流程比较简单,Geoserver里面有专门针对PostGIS数据源的选项,网上资料一大把,搜一下即可.希望对你有用.
颍州区13783172249: PostGis 如何判断两个多边形是否有重叠的区域 - ?
杨中彼赛: 直接用 Calendar 类去比较,是最全的. java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); java.util.Date date1 = df.format("2013-01-01 01:01:01"); java.util.Date date2 = df.format