postgresql 和postgis区别是什么?

postgresql 和postgis区别是什么?,第1张

了存储、查询和修改空间关系的能力。本文中 ‘PostgreSQL’ 指代基本的关系数据库功能,而 ‘PostGIS’ 指代扩展的空间 *** 作特性。

客户端-服务器构架

PostgreSQL 同众多数据库产品一样,采用客户端-服务器构架。客户端向服务器发出请求并得到响应。这种机制同浏览器从网络服务器获取网页类似。在 PostgreSQL 中,请求以 SQL 语言发出,而响应多为从数据库提取的表单。

客户端与服务器可以部署在同一台设备上,即 PostgreSQL 可以在单一的计算机上使用。借由系统内部的 ‘loopback’ 通信机制,数据库系统可以进行私密通讯。除非专门配置,外界是不能访问这些信息的。

本位介绍三种客户端:命令行, Quantum GIS , pgAdmin 图形化数据库客户端。

创造具有空间信息处理能力的数据库

命令行客户端在终端模拟器(Terminal Emulator)中运行。在 Applications 菜单的 Accessories 中打开一个终端模拟器,将显示一个 Unix 风格的命令行界面。输入:

psql -V

回车确认,将显示 PostgreSQL 版本号。

一个 PostgreSQL 服务器中,可以将不同的任务组织到不同的数据库。每个数据库独立运作,拥有专门的表单、显示、用户等。访问 PostgreSQL 数据库时将指定一个数据库。

服务器上数据库列表通过以下命令查询:

psql -l

输出将罗列 Live 上配置的几个数据库。这里演示新建一个。

PostgreSQL 使用 createdb 工具创建数据库。这里建立的数据库应带有 PostGIS 的扩展功能,因此需要指定相应的模板。这里将新建数据库称为 demo 。命令为:

createdb-Ttemplate_postgisdemo

现在执行 psql-l 应当可以看到 demo 数据库。

也可以使用 SQL 语言创建 PostGIS 数据库。首先使用 dropdb 命令删除之前创建的数据库,然后使用 psql 命令开启 SQL 命令解析器:

dropdbdemopsql-dpostgres

这样就连接到了一个通用的系统数据库 postgres 。输入 SQL 命令建立新数据库:

postgres=# CREATE DATABASE demo TEMPLATE=template_postgis

现在可以转换连接到新建的数据库。若重新连接时可以使用 psql-ddemo 命令。但在 psql 系统内部也可以使用以下命令:

postgres=# \c demo

一个信息页面将显示当前已连接 demo 数据库。输入 \dt 列出当前数据库内的表单,输出如下:

demo=# \dtListofrelationsSchema|Name|Type|Owner--------+------------------+-------+-------public|geometry_columns|table|userpublic|spatial_ref_sys|table|user(2rows)

这两个表格是 PostGIS 默认的。其中 spatial_ref_sys 存储着合法的空间坐标系统。利用 SQL 查询查看:

demo=# SELECT srid,auth_name,proj4text FROM spatial_ref_sys LIMIT 10srid|auth_name|proj4text------+-----------+--------------------------------------3819|EPSG|+proj=longlat+ellps=bessel+towgs...3821|EPSG|+proj=longlat+ellps=aust_SA+no_d...3824|EPSG|+proj=longlat+ellps=GRS80+towgs8...3889|EPSG|+proj=longlat+ellps=GRS80+towgs8...3906|EPSG|+proj=longlat+ellps=bessel+no_de...4001|EPSG|+proj=longlat+ellps=airy+no_defs...4002|EPSG|+proj=longlat+a=6377340.189+b=63...4003|EPSG|+proj=longlat+ellps=aust_SA+no_d...4004|EPSG|+proj=longlat+ellps=bessel+no_de...4005|EPSG|+proj=longlat+a=6377492.018+b=63...(10rows)

以上显示确认了该数据库已经建立空间 *** 作功能。数据库中的 geometry_columns 用于记录那些表格是有空间信息的。

手工建立空间数据表格

空间数据库已经建立,现在可以建立具有空间信息的表格。

首先建立一个常规的表格存储有关城市(cities)的信息。这个表格有两栏,一个是 ID 编号,一个是城市名:

demo=# CREATE TABLE cities ( id int4, name varchar(50) )

现在添加一个空间栏用于存储城市的位置。习惯上这个栏目叫做 the_geom 。它记录了数据为什么类型(点、线、面)、有几维(这里是二维)以及空间坐标系统。此处使用 EPSG:4326 坐标系统:

demo=# SELECT AddGeometryColumn ('cities', 'the_geom', 4326, 'POINT', 2)

完成后,查询 cities 表单应当显示这个新栏目。同时页面将显示当前表达没有记录(0 rows)。

demo=# SELECT * from citiesid|name|the_geom----+------+----------(0rows)

为添加记录,需要使用 SQL 命令。对于空间栏,使用 PostGIS 的 ST_GeomFromText 可以将文本转化为坐标与参考系号的记录:

demo=# INSERT INTO cities (id, the_geom, name) VALUES (1,ST_GeomFromText('POINT(-0.1257 51.508)',4326),'London, England')demo=# INSERT INTO cities (id, the_geom, name) VALUES (2,ST_GeomFromText('POINT(-81.233 42.983)',4326),'London, Ontario')demo=# INSERT INTO cities (id, the_geom, name) VALUES (3,ST_GeomFromText('POINT(27.91162491 -33.01529)',4326),'East London,SA')

当然,这样的输入方式难以 *** 作。其它方式可以更快的输入数据。就目前来说,表格内已经有了一些城市数据,可以先进行查询等 *** 作。

简单查询

标准的 SQL *** 作都可以用于 PostGIS 表单:

demo=# SELECT * FROM citiesid|name|the_geom----+-----------------+----------------------------------------------------1|London,England|0101000020E6100000BBB88D06F016C0BF1B2FDD2406C149402|London,Ontario|0101000020E6100000F4FDD478E94E54C0E7FBA9F1D27D45403|EastLondon,SA|0101000020E610000040AB064060E93B4059FAD005F58140C0(3rows)

这里的坐标是无法阅读的 16 进制格式。要以 WKT 文本显示,使用 ST_AsText(the_geom) 或 ST_AsEwkt(the_geom) 函数。也可以使用 ST_X(the_geom) 和 ST_Y(the_geom) 显示一个维度的坐标:

demo=# SELECT id, ST_AsText(the_geom), ST_AsEwkt(the_geom), ST_X(the_geom), ST_Y(the_geom) FROM citiesid|st_astext|st_asewkt|st_x|st_y----+------------------------------+----------------------------------------+-------------+-----------1|POINT(-0.125751.508)|SRID=4326POINT(-0.125751.508)|-0.1257|51.5082|POINT(-81.23342.983)|SRID=4326POINT(-81.23342.983)|-81.233|42.9833|POINT(27.91162491-33.01529)|SRID=4326POINT(27.91162491-33.01529)|27.91162491|-33.01529(3rows)

空间查询:

PostGIS 为 PostgreSQL 扩展了许多空间 *** 作功能。以上已经涉及了转换空间坐标格式的 ST_GeomFromText 。多数空间 *** 作以 ST(spatial type)开头,在 PostGIS 文档相应章节有罗列。这里回答一个具体的问题:以米为单位并假设地球是完美椭球,上面三个城市相互的距离是多少?

demo=# SELECT p1.name,p2.name,ST_Distance_Sphere(p1.the_geom,p2.the_geom) FROM cities AS p1, cities AS p2 WHERE p1.id >p2.idname|name|st_distance_sphere-----------------+-----------------+--------------------London,Ontario|London,England|5875766.85191657EastLondon,SA|London,England|9789646.96784908EastLondon,SA|London,Ontario|13892160.9525778(3rows)

输出显示了距离数据。注意 ‘WHERE’ 部分防止了输出城市到自身的距离(0)或者两个城市不同排列的距离数据(London, England 到 London, Ontario 和 London, Ontario 到 London, England 的距离是一样的)。尝试取消 ‘WHERE’ 并查看结果。

这里采取不同的椭球参数(椭球体名、半主轴长、扁率)计算:

demo=# SELECT p1.name,p2.name,ST_Distance_Spheroid(p1.the_geom,p2.the_geom,'SPHEROID["GRS_1980",6378137,298.257222]')FROMcitiesASp1,citiesASp2WHEREp1.id>p2.idname|name|st_distance_spheroid-----------------+-----------------+----------------------London,Ontario|London,England|5892413.63776489EastLondon,SA|London,England|9756842.65711931EastLondon,SA|London,Ontario|13884149.4140698(3rows)

制图

以 PostGIS 数据制图需要相应的客户端支持。包括 Quantum GIS、gvSIG、uDig 在内的多种客户端均可以。以下使用 Quantum GIS:

从 Desktop GIS 菜单启动 Quantum GIS 并在其 layer 菜单选择 AddPostGISlayers 。连接到 Natural Earth PostGIS 数据库的参数在 Connections 下拉菜单中有。这里可以定义和储存其它的配置。点击 Edit 可以查看具体参数。点击 Connect 连接:

系统将显示所有空间信息表供选择:

选择 lakes 湖泊表单并点击底部的 Add 添加。顶部的 Load 可以载入新的数据库连接配置。数据将被导入:

界面上显示出湖泊的分布。QGIS 并不理解湖泊一词的含义,也许不会自动使用蓝色。请查看其手册了解如何设置。这里缩放到加拿大一处著名的湖泊群。

自动创建空间数据表单

OSGeo Live 的多数桌面 GIS 系统都可以将 shp 等文件导入数据库。这里依然使用 QGIS 演示。

QGIS 中导入 shp 可以使用 PostGIS Manager 插件。在 Plugins 菜单选择 FetchPlugins 导入最新的官方插件列表(需要网络连接)。找到 PostGISManager 点击 Installplugin 安装。

完成后,在 Plugin 菜单点击 PostGIS Manager 启动。也可以点击工具栏上大象与地球的图标。

该插件将连接 Natural Earth 数据库。若提示输入密码,留空即可。在开启的界面中,选择表单可以显示相应的信息。预览(Preview)选项卡可以显示地图预览。这里选择了 populated places 图层并缩放到一个小岛:

接下来使用 PostGIS Manager 将 shp 导入数据库。这里使用 R 统计扩展包含的 North Carolina sudden infant death syndrome (SIDS) 数据:

在 Data 菜单选择 Loaddatafromshapefile 选项。点击 ... 选中 R maptools 中的 sids.shp 。

这是从别人空间贴的嘿嘿~~~希望能有所帮助哟O(∩_∩)O~

EPSG(The European Petroleum Survey Group, http://www.epsg.org/ )维护着空间参照对象的数据集,OGC标准中空间参照系统的SRID(Spatial Reference System Identifier)与EPSG的空间参照系统ID相一致。

update090601:http://www.epsg-registry.org 和 http://spatialreference.org/ 可以由SRID查询相应 的空间参考系的参数,以及WKT、proj4等多种表达方式。当然有许多开源小工具库也支持相应的转换。

EPSG成立于1986年,并已于2005年“重组”为The OGP Surveying and Positioning Committee,维护并发布坐标参照系统的数据集参数,以及坐标转换描述。该数据集被广泛接受并使用,通过一个Web发布平台进行分发,同时提供了微软Acess数据库的存储文件,通过SQL 脚本文件,mySQL, Oracle 和PostgreSQL等数据库也可使用。详细请参考:http://www.epsg.org/Geodetic.html

由于EPSG提供的是Acess 97的数据库,LionGG用Acess 2007打开时出现了部分转换错误,只能看到部分表。但不影响理解和使用,只需要理解特定的ID代表特定的椭球体、单位、地理坐标系或投影坐标系等,然后在使用中正确的援引ID来使用相关对象。

以 PROJCS["WGS 84 / UTM zone 50N"] ( WGS1984地理坐标,统一横轴墨卡托(UTM)投影,中央经线117E的投影坐标系) 的 WKT (Well Known Text) 形式为例来解释:

PROJCS["WGS 84 / UTM zone 50N",

GEOGCS["WGS 84", DATUM["WGS_1984", SPHEROID["WGS 84", 6378137, 298.257223563, AUTHORITY["EPSG", "7030"]], AUTHORITY["EPSG", "6326"]], PRIMEM["Greenwich", 0, AUTHORITY["EPSG", "8901"]], UNIT["degree", 0.0174532925199433, AUTHORITY["EPSG", "9122"]], AUTHORITY["EPSG", "4326"]],

PROJECTION["Transverse_Mercator"],

PARAMETER["latitude_of_origin", 0],

PARAMETER["central_meridian", 117],

PARAMETER["scale_factor", 0.9996],

PARAMETER["false_easting", 500000],

PARAMETER["false_northing", 0],

UNIT["metre", 1, AUTHORITY["EPSG", "9001"]],

AUTHORITY["EPSG", "32650"]]

AUTHORITY["EPSG", "9122"]指的是EPSG数据集中UNIT为degree的ID是9122;AUTHORITY["EPSG", "4326"]指的是地理坐标系WGS 84的ID是4326;AUTHORITY["EPSG", "9001"]指的是EPSG中UNIT为meter的ID是9001;AUTHORITY["EPSG", "32650"]指的是该投影坐标系WGS 84 / UTM zone 50N的ID是32650。其他的类似,下表示意相关ID的取值范围。

在进行简单 *** 作时调用数据库可能显得麻烦,ProjNET为我们提供了一个SRID.csv文件,文件中每一行对应一个坐标系,每行又SRID和对应坐标系的WKT形式组成。因此可以很方便地通过SRID来获取地理坐标系或投影坐标系,《Loading a projection by Spatial Reference ID》提供了一个SridReader类来实现GetCSbyID返回相应坐标系的功能。SRID.csv和SRIDReader.cs在ProjNET源码和示例中可下载得到。

(1)测绘与地理信息多业务模块集成管理

EPS 2008地理信息工作站包含了基于同一平台的数据采集、内业编辑、数据监理、数据转换、自动综合与缩编、地下管线、城镇地籍、空间房产、道路断面、空间数据管理、空间数据更新维护管理等20余种软件模块,用户可根据工作需要,任意选择、组合功能模块, 实现多种业务模块集成化管理应用。

(2)多元多尺度多种类数据集成管理

不同种类、不同数学基础、不同尺度的数据通过EPS2008工作空间无缝集成。

(3)跨平台异构数据转换

采用“信息映射机制”实现对象级的自由映射,通过打散、拆分、过滤、重组、派生以及跨层转换等技术,使对象内部任何细节信息无需编程即可直接映射到目标系统,数据无缝接轨,无损转换。目前可与十余种国内外常见数据格式如ArcGIS、MapInfo、MicroStation、AutoCAD、MapGIS、SuperMap、国标VCT、等数据转换。

(4)数据监理

通过模板控制技术实现智能化检查,具备测绘数据精度检查和测绘数据信息检查两部分,通过自动或人工干预的方法可方便地定位和修改各类错误。

(6)自动缩编与综合

系统提供大量参数化计算模型,采用脚本定制技术自由控制流程,自动化程度高,生产效率高,地方化适应性高。实现了国标的多比例尺之间梯次缩编,并可动态更新数据库。

(7)坐标转换与动态投影

支持不同椭球、不同类型坐标系之间投影变换以及参数化转换,支持高斯投影换带计算,支持显示时刻不同数学基础数据叠加显示。

(8)地理信息模板定制

数据生产软件通过定制模板,封装生产作业标准,强制数据生产质量与生产标准的一致性。模板开放,用户可快速定义自己的数据标准,满足专业化、地方化需求。

(9)GIS地理信息描述与CAD图形表达一体化支持

所有地理要素全部用骨架线+属性描述方式表达,满足GIS建库与应用需求,在显示与打印环节动态符号化,满足图式规范与制图需求,一套数据既建库又出图,信息与图形完全一体化。

(10)GIS数据库更新维护

实施增量更新,通过权限管理,实现数据下载、上传、自动检测冲突,数据直接自动更新数据库、历史数据自动存储功能,实现外业、内业、入库更新一体化。 历史数据库自动维护,并可回溯任一时刻历史数据状况,现势数据与任意时刻历史数据同步浏览、对比分析等。

(11)图形打印与地图出版

支持常见打印机、绘图仪;支持分色输出地图出版格式数据(EPS);

4 EPS2008地理信息工作站产品体系

EPS2008地理信息工作站的主要专业模块软件

(1)EPSW全息测绘软件

集电子平板测图、掌上机测图、电子手簿、全站仪内存记录、动态GPS等多种测图方法及数据库管理、内业编辑、查询统计、打印出图、工程应用于一体的完全面向GIS的野外数据采集软件,软件功能细致与使用简约浑然一体,实现地理数据的信息化采集与处理,率先跨入信息化测绘新时代。

(2)EPSCE掌上GIS数据采集更新系统软件

基于POCKET PC系列掌上电脑平台的野外测图系统,集成GIS,GPS,蓝牙通讯等技术,浓缩EPSW测绘精华功能,提供灵活方便的测绘数据生产与GIS数据更新的全新野外数据采集作业模式。

(3)EPSCAN扫描矢量化软件

白纸图、薄膜图数字化的工具软件,集地图扫描矢量数据采集、编辑、属性录入和制输出为一体。其专业的图形编辑,强劲的图像处理,高效的自动跟踪等功能,使矢量化速度快、精度高,适用范围广。

(4)EPSX数据加工与转换软件

跨平台、异构、无损的矢量空间数据交换软件,提供面向不同应用的跨平台的地理数据转换与数据处理功能,目前已实现国内常见数据格式如DXF,DWG、E00,SHP,DGN,MID/MIF,VCT,COR/NOT、EXF、EXX等格式的数据双向无损转换。

(5)EPSCHK数据监理软件

集数据交换、数据质量检查、数据质量评估、错误数据修复、数据分发于一体,提供信息化、自动化的数据检查手段与错误数据的自动或半自动修复功能,实现传统方式无法实现的检查,可有效地控制空间数据的质量。

(6)EPSG地理信息数据自动综合与缩编软件

提供高效便捷的基于大比例尺数据派生中小比例尺数据的解决方案,实现自动化、信息化、工程化的数据缩编生产,对提高数据利用价值,节约GIS建设资金都具有重要意义。

(7)SunwayGIS基础地理信息系统

以数据库管理为核心,实现基础地理信息的数据采集、数据存储、数据处理、数据输出、数据利用的一体化管理。具有城市基础地理信息系统通用功能,提供简易、方便、高效的数据生产和管理方法,切实可行的数据维护和更新机制,并有严格的数据访问权限控制。因其切实可行的基础地理信息全面解决方案而成为中小城市建立易于维护、更新和实用的基础地理信息系统的有力工具。

(8)EPSCM地籍数据处理软件

集地籍调查(地籍测绘、权属调查)、数据加工处理、查询统计、成果输出为一体的地籍专业应用软件,使地籍管理变得轻松自如、成果准确可靠。

(9)EPSEM房产信息管理与信息发布软件

房产图形与属性信息完全融合在同一数据库内统一管理,对城市地形(地籍)图、丘(宗地)、楼、楼分层、分户(单元结构)图统一管理;完成房产平面、分丘、分栋分层、分层分户等数据的采集与更新,房产要素的调查与管理,满足房产管理从测绘到产权产籍、房产交易等多方面的数据需求。

(10)EPSFM林业数据调查与处理软件

包含了林业资源调查与管理工作所需的野外调查采集数据;室内专业化数据处理以及林业资源数据的信息化管理等功能,实现森林资源调查、设计、管理、利用一体化的生产作业管理模式,作业效率高,数据质量有保证,数据可直接用于建立林业地理信息系统。

(11)EPSP地下管线数据调查与处理软件

通过PDA进行外业管线图属数据调查,配合内业处理,提供高效的全野外地下管线勘探数据录入、测量定位及外业成图方法,实现各类管线平面图、断面图的生成、专业分析、统计报表,管线数据库动态更新维护等应用,实现地下管线数据采集处理与建库的内外业一体化管理。

(12)控制测量与平差系统

提供多种数学模型的平差方法,支持各等级的控制网平差以及特殊平差,不同等级的控制网混合平差等。与EPS系列软件保持了程序级的连接,真正实现了从数据采集、记簿整理、平差和成果打印的一体化。

(13)ArcSymI信息符号化插件

以插件方式与ArcGIS集成为一体,不改变ArcGIS系统任何数据结构,实现ArcGIS系统数据库的信息符号一体化。即面向信息化的自动符号化显示、符号化出图,同时满足CAD出图与GIS统计分析、数据应用需求,有效地解决了以往ArcGIS管理的数据难以更新的难题。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10031236.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存