空间数据可视化
POSTG IS+GEODJANGO +OPENLAYERS
2011/7/14
shisong.zhu@gmail.com
目录
地理信息系统的主要任务
地理信息系统基础知识
安装和注册GEODJANGO
创建GEODJANGO模型
导入空间数据
GEODJANGO空间查询
展示地图数据
集成OPENLAYERS
回顾与展望
地理信息系统的主要任务
GIS:地理信息系统
• 用于将空间属性(WHERE)加入对事物的表述之中
• 运用工业标准术语和机制,分享关于地表位置的信息
• 通常在解答如下问题
• 该选区有多少共和党人?
• 正在飞越的是哪座城市?
• 圣约翰岛的平均数值?
• 如何重划学区才不会使得该学校过于拥挤?
• X到Y之间的最短路径?
• 我的iPhone在哪里?
空间数据可视化
地理信息系统基础知识
什么是GIS
地理信息系统(GIS)用于采集、存储、表达和分析地理空间数据,
以及相关的属性数据
• 地理空间特指具有基准坐标系的地球表面
• GIS工具通过查询(通常基于数据库)来分析空间信息,编辑
数据、地图,表达或存储上述操作结果
多数GIS数据包含两个部分数据
• 空间数据:说明某类几何体的位置或空间分布
• 空间数据可通过两种方式表达
• 栅格格式:空间上每个点位均有赋值,采用矩阵方式存储
• 矢量格式:存储为点的集合
• 属性数据:说明空间数据的属性信息
矢量格式
PostGIS和GeoDjango均是面向矢量格式的
区别于栅格格式是由像素组成的,矢量格式的基础是线段、弧段
• 线段、弧段由起讫点组成,起讫点之间的点称作为节点
• 存储了节点位置以及拓扑信息
物体由边界定义,而折线由一系列弧段组成
矢量格式下的地理空间数据通过坐标点的集合进行存储,其基础为:
• 点:物体的零维抽象表达,由一个坐标点组成
• 线:地理事物在形状过细情况下的一维表达
• 面:通常是区域的表达,由线组成了边界,此外常通过边界内
部的一个点来识别一个面
空间参照系
空间参照系包含了投影和大地基准面
• 最先定义了一个椭球体
• 在此基础上定义了大地基准面
• 最后定义了投影及地理坐标
投影关联有地理坐标系
• EPSG预定义了一组空间坐标系,以ID区分
• PostGIS使用SRID表达空间参照
因此无论何时讨论地理空间数据,均包含
• 椭球体
• 大地基准面
• 投影
关于POSTGIS
PostGIS是面向关系数据库PostgreSQL的扩展模块
PostGIS是对PostgreSQL的空间数据格式、操作和功能的扩展
• 快速而简易定位物体相对位置的索引策略
• 一系列投影转换功能,包含不同投影下数据的关联功能
• 基于现有物体互操作下的新物体创建(合并、扩张)
类似PostGIS的工具包括
• ESRI空间数据引擎(SDE)
• Oracle Spatial
• MySQL Spatial
PostGIS拥有众多拥趸
• 美国海军、陆军,NASA,NOAA等
通过PgRouting可进行路径分析