本节重点:数据库中利用SQL语句对职住数据进行分组汇总,shapefile文件导入数据库的两种方法,并在数据库中进行点层与面层的空间连接,然后基于行政区汇总数据
一、基于基站汇总
打开Navigat,连接数据库xian,找到之前导入的原始职住数据如下图
我们需要得到每个基站的居住和就业数据
在“查询”界面中执行以下语句,即可创建新表hsum,利用group by,将xian_homework2基于home字段分组汇总,其中SUM表示结果是同类数值的相加总和。同理,再次基于work汇总,得到表wsum。
CREATE TABLE jizhan_h AS
SELECT home, SUM(sum) AS hsum
FROM xian_homework2
GROUP BY home
CREATE TABLE jizhan_w AS
SELECT work, SUM(sum) AS hsum
FROM xian_homework2
GROUP BY work
成功后得到两个新表如下图
二、shapefile导入数据库
方法一:PostGis
1、扩展template_postgis模版
template_postgis模版是创建空间数据库的必要手段,没有这个模版没办法导入shp文件,对于每个数据库执行一次即可
在Navicat的查询面板中执行以下代码(官网可找到这几条扩展语句)
-- Enable PostGIS (includes raster)
CREATE EXTENSION postgis;
-- Enable Topology
CREATE EXTENSION postgis_topology;
-- fuzzy matching needed for Tiger
CREATE EXTENSION fuzzystrmatch;