《梅白帆:PostGIS关于批量空间数据处理的经验-企业GIS专场(31页).pdf》由会员分享,可在线阅读,更多相关《梅白帆:PostGIS关于批量空间数据处理的经验-企业GIS专场(31页).pdf(31页珍藏版)》请在三个皮匠报告上搜索。
1、PostGISPostGIS关于批量空间数据关于批量空间数据处理的经验处理的经验梅白帆free_江苏电力信息 GIS专家题纲题纲 1 矢量数据常规处理方案存在的问题 2 PostGIS常用数据处理功能简介 3 PostGIS数据处理常见问题 4 总结矢量数据批处理常见流程矢量数据批处理常见流程csvshp输入数据pynodejava逻辑工具shpgeotoolsgdal依赖库输出数据ArcMapQGIS可视化GIS Server1 依赖环境多2 开发任务重3 处理效率低4 成果管理乱5 shp副作用xlsx常见问题Shp vs postgis 查询语法对比查询语法对比Sql多简单,为啥要写代码
2、?PostGIS的统计分析语法的统计分析语法 按名称分类统计我国各个省(面状图形)包含的城市数量:按名称分类统计缓冲区范围内受影响面状图形的面积:Shp vs postgis 查询对比查询对比数据规模:191560 属性查询:name=练塘镇 空间查询:c:118.6,32.4,r:0.05缓冲shp137213121435postgis6825.524.7postgis btree0.7320.4220.466第一次第二次第三次0500100015002000属性查询结果返回耗时(单位ms)shppostgispostgis btreeshp150314561474postgis224199
3、197postgis gist10.90.8第一次第二次第三次0500100015002000空间查询结果返回耗时(单位ms)shppostgispostgis gistPostGIS常用功能简介常用功能简介shp2pgsqlpgsql2shpSHP GUI图形构造解析元数据读写图形编辑图形处理空间关系空间索引ImportExportcsvcopyexcelFile_fdw选用选用PostGIS的理由?的理由?Sql语法,入门及其简单。代码少则bug少,出成果快。查询性能优异。功能强大可媲美的esri的gp服务。依托PostgreSQL社区的各种好的产品,适应各种应用场景,如分布式,时序数据库
4、等大规模数据处理领域。PostGIS数据处理中常见问题数据处理中常见问题 为什么我的查询语句慢到崩溃?1 SQL不走空间索引 2 空间索引效率低 图形处理方案没有好的思路空间关系简介空间关系简介ST_ContainsST_Within包含/被包含ST_Intersects相交ST_Disjoint相离ST_Covers覆盖ST_Overlaps压盖ST_Crosses穿越ST_Touches相连Rtree索引简介索引简介问题一问题一 SQL不走空间索引不走空间索引问题:如何查询当前”我的位置(118.1249,32.0987)”附近一公里内的所有poi?1.1 Where后后geom字段使用表
5、达式函数字段使用表达式函数 查询示例语句1:Explain select a.*from poi a where ST_Intersects(ST_Buffer(a.geom,0.01),ST_SetSrid(ST_MakePoint(118.3749,32.0987),4326);Parallel Seq Scan on poi a Filter:st_intersects(st_buffer(geom,0.01),pt)Explain select a.*from poi a where ST_Intersects(a.geom,st_buffer(ST_SetSrid(ST_MakePo
6、int(118.3749,32.0987),4326),0.01);Index Scan using poi_geom_idx on poi a(actual time=0.065.0.104 rows=5 loops=1)1.1 Where后后geom字段使用表达式函数字段使用表达式函数 查询示例语句2:总结:where后对geom使用表达式会导致索引失效。select a.*from poi a where ST_Distance(a.geom,ST_SetSrid(ST_MakePoint(118.3749,32.0987),4326)0.01;Parallel Seq Scan on