PostgreSQL 是世界上技术最先进的开源数据库,其前身是1977年一个源于Berkeley名为Ingres的非关系型数据库,其项目领导人为Michael Stonebraker教授。1982年该教授商业化了Ingres;1985年,Michael Stonebraker教授回到Berkeley,开始对新的数据库设计进行研究,并于次年在美国防务高级研究项目局(DARPA)、陆军研究办公室 (ARO)、国家科学基金(NSF)以及ESL, Inc等机构的赞助下启动了Postgres(Post-Ingres)项目。 【PostGIS教程】深入解析PostgreSQL与PostGIS的关系及几何类型 PostgreSQL是一个高度发达的开源数据库系统,其历史可以追溯到1977年的Berkeley的Ingres项目。由Michael Stonebraker教授领导,Ingres最初是非关系型数据库。在1982年,Ingres被商业化,而教授在1985年回到Berkeley,启动了Postgres项目,旨在改进数据库设计。Postgres在1987年展示了首个演示,1989年发布了第一个版本。随着时间推移,由于外部用户增加导致支持和维护工作量过大,Berkeley在1993年停止了项目。然而,Postgres并没有消失,两个Berkeley的研究生在1994年将SQL语言解释器加入到Postgres中,将其改名为Postgre95并公开发布。1996年,Postgre95进一步更名为PostgreSQL,并以BSD许可证发布了首个开源版本,自此成为了一个功能强大且技术先进的开源数据库。 PostGIS是PostgreSQL的一个关键扩展,它使PostgreSQL具备了处理空间数据的能力。PostGIS遵循OGC(开放地理空间联盟)的《Simple Features Specification for SQL》规范,并在2006年获得了OGC认证。它不仅支持规范中定义的所有几何类型,还增加了对3DZ、3DM、4D坐标的处理能力,扩展了空间数据的表示范围。 在PostGIS中,有几种用于描述几何对象的格式: 1. **OGC的WKB(Well-Known Binary)和WKT(Well-Known Text)**: - WKB是一种二进制格式,更紧凑但不便于人类阅读。 - WKT是一种文本格式,易于理解和操作。例如,`POINT(0 0)`表示一个点,`LINESTRING(0 0,1 1,1 2)`表示一条线,`POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1,2 1,2 2,1 2,1 1))`表示一个多边形。 2. **扩展的WKT(EWKT)和WKB(EWKB)**: - EWKT和EWKB增加了对3DZ、3DM、4D坐标的表示,并且支持内嵌空间参考。例如,`SRID=4326;POINT(0 0)`表示具有空间参考ID4326的点。 在PostGIS中插入几何对象通常涉及使用函数,如`GeomFromText`,如示例所示: ```sql INSERT INTO table (SHAPE, NAME) VALUES (GeomFromText('POINT(116.39 39.9)', 4326), '北京'); ``` 这个SQL语句将在表中插入一个名为“北京”的点,其坐标为(116.39, 39.9),并指定了空间参考ID4326。 PostGIS的几何类型包括点、线、面、多点、多线、多面以及几何集合,支持丰富的空间操作和分析,使其在地理信息系统(GIS)领域中成为强大的工具。通过结合PostgreSQL的稳定性和PostGIS的空间能力,开发者可以构建复杂的地理信息系统,用于存储、查询和分析地理数据。无论是城市规划、环境监测还是灾害响应,PostGIS都是管理和操作空间数据的强大解决方案。
- 粉丝: 0
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助