DISTAL应用数据库设计、数据下载与导入指南
1. 数据库设计与构建
1.1 数据需求分析
在设计DISTAL应用时,需要考虑以下几类数据:
- 每个国家的列表,每个国家需包含可展示给用户的简单边界地图。
- 全球详细的海岸线和湖泊边界。
- 全球所有主要城镇的列表,每个城镇需包含名称和代表其位置的点。
幸运的是,这些数据都很容易获取:
- 国家列表和轮廓包含在世界边界数据集(World Borders Dataset)中。
- 海岸线和湖泊边界(以及其他水陆边界,如湖泊中的岛屿)可通过GSHHS海岸线数据库获取。
- 城镇数据可从两个地方找到:地理名称数据库(Geonames Database)提供美国的官方地名数据,而GEOnet名称服务器(GEOnet Names Server)提供世界其他地区的类似数据。
1.2 数据库架构设计
根据这些数据源,我们可以开始设计DISTAL系统的数据库架构。海岸线表(shorelines)中的 level
字段对应GSHHS数据库中的级别值:1 = 海岸线,2 = 湖泊,3 = 湖中岛屿,4 = 湖中岛屿上的池塘。所有这些特征,包括湖泊和海岸线轮廓,将存储在一个名为 shorelines
的数据库表中。
1.3 创建数据库
1.3.1 MySQL
import MySQLdb
connection = MySQLdb.connect(user=