课程介绍地理空间数据库的空间数据类型、空间分析操作和空间索引,帮助学生理解OGC的简单要素访问规范、空间数据库的基本概念和基本设计方法,通过几何对象模型和空间网络模型在PostgreSQL/PostGIS/pgRouting上的应用实践,掌握地理信息数据建库、空间关联分析、最短路径查询、空间事件触发器等地理信息应用开发的基本技术,同时熟悉基于位置服务应用的数据库设计流程,掌握地理信息开发的技术和方法。课程将紧跟地理空间数据应用的最新发展趋势,通过引入基于位置服务等应用,例如打车出行服务、地铁换乘服务、路径导航服务等,让学生在实践中体验地理信息科学在日常生活中的基本应用,理解并关注地理信息技术对社会、经济、安全等诸多方面的影响。
主讲教师:
陶煜波
计算机学院CAD&CG国家重点实验室
对课程内容和作业有任何建议,欢迎邮件联系(taoyubo[at]cad.zju.edu.cn)
上课时间与地点:
东2-414
周二上午 9:50-12:15
课程考核方式:
作业(6个)占最终考评的40%
测试(6个,学在浙大上完成,每个测试有两次答题机会,自动评分,取最高分)占最终考评的10%
期末闭卷考试,可带一张A4纸,占最终考评的50%
平时成绩 = Min((作业成绩 + 测试成绩 + 附加题成绩) / 4,100)
最终成绩 = (平时成绩 + 期末成绩) / 2
周次 | 日期 | 课堂内容 (部分课件内容来自于网上课程) | 阅读材料 | 课后作业与测试 |
---|---|---|---|---|
秋学期第1周 | 9.14 |
地理空间数据库概论 PDF 关系模型与关系代数 PDF Jupyter Notebook安装说明 Word PostgreSQL安装说明 Word 课堂练习1 Python |
数据库系统概念 1.1-1.14,2.1-2.7,6.1 空间数据库管理系统概论 1.1-1.6 大数据的存储渊源 PDF 大数据含义解释:一、 二、 三、 四 空间计算 PDF The Era of Big Spatial Data PDF 地理学碰上“大数据”:热反应与冷思考 Web GIS:揭开你神秘的面纱 Web 2021年中国数据库行业研究报告 Web |
|
秋学期第2周 | 9.21 | 中秋节放假 | ||
秋学期第3周 | 9.28 |
关系数据库标准语言SQL PDF 课堂练习2 SQL |
数据库系统概念 3.1-3.10,4.1,4.4 W3C School Web 可汗学院 SQL课程 Web 看漫画学SQL Web |
作业1 下载 测试1 关系数据库 |
秋学期第4周 | 10.9 |
几何对象模型与查询 PDF 课堂练习3 PostGIS |
空间数据库管理系统概论 3.1,3.2 Simple Feature Access Specification Common Architecture SQL option Chapter 3 Spatial Query Languages PDF MOOC Module 2 Spatial Query Languages Video |
|
秋学期第5周 | 10.12 |
几何对象模型与查询 PDF 课堂练习4 QGIS和OpenStreetMap |
空间数据库管理系统概论 4.1-4.3 ArcGIS SQL空间函数 PostGIS 空间函数 Cheatsheet PostGIS教程 教程 Openstreetmap Case Study Video |
作业2 下载 测试2 几何对象模型与查询 |
秋学期第6周 | 10.19 |
数据库设计与空间扩展E/R图 PDF 课堂练习5 空间数据库设计 |
数据库系统概念 7.1-7.10 空间数据库管理系统概论 5.1-5.4 Simple Feature Access Specification SQL option |
|
秋学期第7周 | 10.26 |
关系数据库设计理论 PDF |
数据库系统概念 8.1-8.9 |
作业3 下载 测试3 空间数据库设计 |
秋学期第8周 | 11.2 |
空间存储与索引 PDF 课堂练习6 Index |
数据库系统概念 10.1-10.6,11.1-11.10 Spatial Databases: A Tour Chapter 4 MySQL索引背后的数据结构及算法原理 Web 内存数据库中的索引技术 Web |
|
冬学期第1周 | 11.9 | 空间存储与索引 PDF |
Spatial Databases: A Tour Chapter 4 空间数据库管理系统概论 6.1-6.6 PostGIS中GiST-based R-Tree spatial indexes Web 超酷算法:用四叉树和希尔伯特曲线做空间索引 Web 基于Solr的空间搜索 Web |
作业6 下载 |
冬学期第2周 | 11.16 |
查询处理与优化 PDF (自学) 空间查询处理与优化 PDF 课堂练习7 Optimization |
数据库系统概念 12.1-12.7,13.1-13.4 空间数据库管理系统概论 7.1-7.5 Merge Join vs. Hash Join vs. Nested Loop比较分析验证 Web An Experimental Analysis of Iterated Spatial Joins in Main Memory PDF Spatial Joins in Main Memory: Implementation Matters! PDF 数据库SQL优化 Web SQL查询语句优化 Web SQL查询优化经历 Web 大数据量惯用优化方法 Web |
作业4 下载 测试4 空间索引与查询处理 |
冬学期第3周 | 11.23 |
空间网络模型与查询 PDF 课堂练习8 With Recursive 课堂练习9 pgRouting |
Spatial Databases: A Tour Chapter 6 空间数据库管理系统概论 3.3-3.6 MOOC Module 3 Spatial Networks Video WITH Queries in PostgreSQL Navigation Systems: A Spatial Database Perspective PDF pgRouting Manuals Web 对地观测大数据处理、挑战与思考 Web |
|
冬学期第4周 | 11.30 |
数据库安全与触发器 PDF 课堂练习10 数据库安全 |
数据库系统概念 4.2,4.4,4.6,5.3,13.5 数据库10大常见安全问题 Web SQL Server 致程序员:容易忽略的错误 Web 实例讲解SQL注入攻击 Web Database Security Activities Web |
作业5 下载 测试5 空间网络模型 |
冬学期第5周 | 12.7 |
postgreSQL服务器编程 PDF 课堂练习11 PL/pgSQL |
数据库系统概念 27.3 PL/pgSQL in PostgreSQL Web Trigger in PostgreSQL Web Trigger in SQL Server Web |
|
冬学期第6周 | 12.14 |
事务处理 PDF 课堂练习12 Transaction 课堂练习13 SQL编程 |
数据库系统概念 4.3,14.1-14.8,16.1-16.4 Concurrency Control in PostgreSQL Web Backup / Restore in PostgreSQL Web Backup / Restore in SQL Server Web CartoDB Map Design Courses Video |
|
冬学期第7周 | 12.21 |
作业6 课堂报告 测试6 课堂综合测试 |
||
冬学期第8周 | 12.28 |
期末复习 PDF 作业6 课堂报告 |
地理时空数据可视化 PDF 大数据时代的地理信息科学与科研能力培养 Web |
地理空间数据库作业是基于PostgreSQL对象关系数据库,以及空间扩展PostGIS和pgRouting。空间数据展示使用QGIS和Leaflet。作业1-5是基于Jupyter Notebook,需要了解基本的Python语法。软件安装说明PostgreSQL和Python。作业题目可以相互讨论思路,但答案抄袭或雷同要扣分。请在截止日期前将完成的作业提交到学在浙大系统中,作业可重复提交,只批改最后一次提交的作业。作业按完成情况打分,系统中可查看作业成绩和评语。在截止日期后,作业分数按每天10%递减,直到第十天减完为止,例如在截止日期后第3天交,批改成绩为45分,则该作业最终成绩为45×0.7=31.5分。
作业 | 内容 | 下载 | 发布时间 | 截止时间 |
---|---|---|---|---|
作业1 | 关系数据库创建和查询 | HW1 | 2021/9/22 | 2021/10/17 |
作业2 | 空间数据库创建和查询 | HW2 | 2021/10/9 | 2021/10/31 |
作业3 | 空间数据库设计 | HW3 | 2021/10/26 | 2021/11/14 |
作业4 | 空间查询处理和优化 | HW4 | 2021/11/9 | 2021/11/29 |
作业5 | 空间网络构建和查询 | HW5 | 2021/11/23 | 2021/12/14 |
作业6 | 空间数据应用 | HW6 | 2021/11/9 | 2021/12/28 |
本学期不提供课堂报告奖励,学长的课堂报告PPT供学习。
1. Oracle Spatial的基本几何和网络模型及空间索引,与PostGIS的差异 (陈奕君 PPT)
2. SQL Server Spatial的基本几何模型及空间索引,与PostGIS的差异 (王泺棋 PDF)
3. MySQL Spatial的基本几何类型及空间索引,与PostGIS的差异 (李岸洲 PDF)
4. SQLite Spatialite的基本几何类型及空间索引,与PostGIS的差异 (胡林舒 PDF)
5. 空间数据库在桌面GIS中的应用,如ArcGIS和Quantum GIS (张国良 PPT)
6. 空间数据库在Web GIS中的应用,如OpenLayers和Geomajas (陆晔 PPT)
7. 基于With Recursive的图算法和基于Hibernate与PostGIS在线空间数据库 (潘文韬 PPT)
8. 空间数据挖掘,从Location Predication, Outlier Detection, Co-location Mining中选择一个问题介绍
9. [空间关联] Spatial Joins in Main Memory: Implementation Matters!, PVLDB 2014
10. [时空主题分析] TopicOnTiles: Tile-Based Spatio-Temporal Event Analytics via Exclusive Topic Modeling on Social Media, CHI 2018
11. [时空数据查询] Nanocubes for Real-Time Exploration of Spatiotemporal Datasets, TVCG 2013
1. BCNF decomposition,使用C/C++编程实现关系的自动规范化 测试
2. eBay数据库设计与实现 数据
3. 基于车辆轨迹数据的证据收集 数据
4. 基于移动轨迹数据的群体发现 数据
5. ChinaVis 2019 数据可视分析 挑战赛,涉及时空数据分析、可视化、应用开发等内容
6. IEEE VIS VAST Challenge 2019 挑战赛,涉及时空数据分析、可视化、应用开发等内容
7. ACM SIGSPATIAL GISCUP 2019 挑战赛,涉及空间网络、路径规划、时空数据挖掘等内容
参考教材:
Database System Concepts(数据库系统概念,第六版),Abraham Silberschatz,Henry F.Korth,and S.Sudarshan
空间数据库管理系统概论,程昌秀 编著
Spatial Databases: A Tour,Shashi Shekhar and Sanjay Chawla
PostGIS in Action (2nd edition),Regina O. Obe and Leo Hsu
MOOC在线课程:
Stanford: Introduction to Databases
Udacity: Intro to Relational Databases
MongoDB: MongoDB Online Courses
Minnesota: From GPS and Google Maps to Spatial Computing, Readings and Resources
UCDAVIS: Geographic Information Systems (GIS) Specialization
Pennsylvania State: GeoSpatial Revolution Episode, Maps and the Geospatial Revolution
Esri: Go Places with Spatial Analysis, The Location Advantage, Do-It-Yourself Geo App
W3C School:
数据库学术会议:
SIGMOD, VLDB, ICDE, SIGSPATIAL
关系代数解析器:
RA: A Relational Algebra Interpreter实现了关系代数表达式的解析,并转换为SQL语句,通过JDBC可在SQLite,PostgrsSQL,MySQL,和IBM DB2数据库执行生成的SQL语句,查看关系代数执行后的结果。
XML解析器:
TimyXML 2: 基于DOM的C++ XML解析类库。
Java DOM Interface: org.w3c.dom类库接口。
Shapefile C Library:
shapelib: shapefile文件读取C语言类库。
Python及相关类库:
Python: Python语言,网络数据抓取和网站构建。
Jyputer Notebook: Python交互可编程界面。
Markdown官方文档: IPython Notebook标记语言。
Geocoding: 地址与GPS位置相互转换类库。
web.py: 基于Python的Web应用框架。
Jinjia2: 模板引擎,用于生成文本格式的文件(HTML, XML, CSV等)。
GeoDjango: 基于Python的地理Web应用框架。
数据库系统:
SQLite, MySQL, PostgreSQL, MS SQL Server 2022
数据库空间扩展:
PostgreSQL PostGIS, PostgreSQL Rasdaman, PostgreSQL pgRouting, SQLite SpatiaLite, MySQL Spatial, Oracle Spatial and Graph, SQL Server Spatial
NoSQL:
开源GIS工具(空间数据桌面展示):
QGIS, QGIS Tutorials and Tips, OpenJump
地图渲染和设计(空间数据网络在线展示):
GIS技术论坛:
Esri Blog:
BostonGIS:
BostonGIS: A testbed for GIS and Web Mapping solutions utilizing open source, freely available and/or open GIS technologies.
OSGeo-Live:
OSGeo-Live: 提供一系列预先配置的应用程序,并包含了许多地理空间信息的使用案例,涵盖了数据的存储、显示、发布、分析和管理等各个方面,包括桌面GIS,网页GIS,网络服务,数据库,地图与导航,空间分析工具,专门用途GIS系统,数据,地理空间操作函数库等等。
3snews:
3snews: 关于地理信息跨界创新资讯。
企业数据库架构实践:
滴滴LBS系统架构实践, 58速运-百万单量用车O2O架构实践, 数据库架构在美团点评的演变实践, 基于Hadoop的地理空间分析, 路径导航算法优化, 基于Redis的排行榜, 空天数据库引擎Ganos