【本文正在参与炫“库”行动-人大金仓有奖征文】
活动链接:https://marketing.csdn.net/p/98bd30353e7cb998b6070a89e8b91edb
《十八届三中全会关于全面深化改革若干重大问题的决定》提出,要改进社会治理方式,创新社会治理体制,以网格化管理、社会化服务为方向,健全基层综合服务管理平台。
报告中所说的网格化管理是一种行政管理改革,依托统一的城市管理以及数字化的平台,将城市管理辖区按照一定的标准划分成为单元网格。通过加强对单元网格的部件和事件巡查,建立一种监督和处置互相分离的形式。
上面的政策主要是话题的一个引子,国家重大决策中实行网格化管理,同样在GIS行业中也可以用到网格化管理或统计分析的应用。
哪些应用用到了网格化或者说哪里可以用到网格化,下面举个简单的例子:
在优步打车中使用网格化将事件信息存储到六边形区域,即车辆的轨迹数据点信息存储到六边形。例如,将服务区域的每个城市划分为六边形,用来测量计算激增及轨迹定价计算。这些六边形网格分析是优步分析市场的基础。
图一优步分析
除了优步打车系统采用网格化分析外,像主流的GIS厂商也有类似网格化处理的工具。如ArcGIS的Fishnet工具,计算每个网格中的不同土地利用类型的像元数量(或者是计算某种土地利用类型在网格中所占的比例)等。
Kingbase ES GIS网格分析工具
Kingbase ES GIS插件同样具有对GIS数据的网格化生成及统计分析能力。如ST_SquareGrid()(正方形网格)与ST_HexagonGrid()(蜂窝网格)等格网统计分析工具。相比使用自然地理边界与行政管理边界而言,使用网格化分析是将数据从“空间”计算领域转换到“非空间”领域。
1)网格化工具的特点:
生成网格的原点是固定的,原点是根据实际数据确定的,生成网格一般要指定地理范围,在该范围内生成所定义的网格,如果输入的地理范围是坐标系:4326坐标系(wgs84),则指向经纬度(0, 0),如果输入是epsg:3857(Web Mercator),则指向墨卡托的(0 ,0)。
指定网格单元大小,即可固定该网格的地理坐标,只使用编号而不需要使用真实地理边界。
2)相关函数介绍:
自然风景区统计分析
下图为全国自然风景区的分布图,常规的方法就是将自然风景区的点数据与全图的面数据叠加,或者使用符号来展示。
图二全国自然风景区
下面介绍使用Kingbase ES GIS如何处理上述数据分布统计:
生成格网一般用于进行统计分析后汇总可视化展示,在使用Kingbase ES GIS统计分析时,实际不需要生成网格,动态创建网格与其空间数据做叠加统计分析。本次为了更直观的展示,将分步讲解制作过程。
第一步:生成网格。
Select (ST_HexagonGrid(1, ST_Transform(a. smgeometry, 4326))).*
FROM bou1_4p a
WHERE bou1_4m_id = '3339'
运行结果如下:
图三全国区域网格
注:其中bou1_4p为图层名,3339未指定网格化的面。
第二步:根据六边形蜂窝网格统计汇总每个格网的自然风景区的数量。
create table HexagonGrid as SELECT sum(count) as count, hexes.geom
FROM
(Select (ST_HexagonGrid(1, ST_Transform(a. smgeometry, 4326))).*
FROM bou1_4p a
WHERE bou1_4m_id = '3339') AS hexes
INNER JOIN
"natural" AS p
ON ST_Intersects(p.smgeometry, hexes.geom)
GROUP BY hexes.geom;
图四自然风景区统计表
第三步:使用可视化展示窗口,将网格分析数据展示。如下图:
图五风景区分级展示
图六风景区统计数据展示
上图对比本节开始的全国自然风景区的展示更加直观,同时也对区域的风景区数量进行统计,根据上述数据,后续也可以进行其他分析操作。
Kingbase ES GIS网格分析其他应用
Kingbase ES GIS网格分析除了上述应用,还可以应用到更多行业,利用ST_HexagonGrid等函数,将繁琐的空间计算,简化为格网计算,减少计算复杂性,如计算全国部分区域的地类图斑统计,查询范围广,计算数据量大,利用网格分析性能提升10倍以上。
将网格技术应用到WEB端的动态展示中,利用Kingbase ES GIS网格能力动态生成网格, 动态获取tile瓦片,以获得非常动态的用户体验。
【本文正在参与炫“库”行动-人大金仓有奖征文】
活动链接:https://marketing.csdn.net/p/98bd30353e7cb998b6070a89e8b91edb