美文网首页开源开源GIS+空间数据应用Cesium
shp与PostGIS在项目应用中比较

shp与PostGIS在项目应用中比较

作者: 遥想公瑾当年 | 来源:发表于2016-09-26 11:15 被阅读843次

    一 属性查询

    笔者使用一模一样的osm数据,数据量8.7万个点,该数据有一个name列存储点的名称,本次实验,笔者使用 name='练塘镇'作为查询条件,
    查询语句如下:

    http://localhost:8090/geoserver/wfs?service=WFS&version=1.0.0&request=GetFeature&typename=cite:places1&srsname=EPSG:4326
    &outputFormat=application/json&cql_filter=name='练塘镇'
    

    查询结果如下:

    1.1 shp格式查询效率

    1.png

    1.2 PostGIS不建立索引查询效率

    2.png

    1.3 PostGIS建立索引查询效率

    3.png

    结论:属性查询这方面,以本例说明,Postgresql的表查询不建立索引比shp格式的数据存储快125倍,建立索引快338倍。

    二 空间查询

    用一个多边形与点图层做叠加分析,查询多边形范围内的点,查询语句如下:

    http://localhost:8090/geoserver/wfs?service=WFS&version=1.0.0&request=GetFeature&typename=cite:places&srsname=epsg:4326
    &outputFormat=application/json&cql_filter=Intersects(geom,POLYGON((115 29,115 30,116 30,116 29,115 29)))
    

    2.1 shp空间查询

    4.png

    2.2 PostGIS空间查询

    5.png

    结论:空间查询方面差别不是特别明显,初次查询pg的比shp快8倍,以后查询差不多,但pg仍然比shp快。个人猜测,esri针对shp格式的图形查询进行了优化。

    三 多表关联

    在数据库中存储的话,多表之间可以建立join关系,建立视图,建立存储过程等等,可以在不同业务之间的多表与图形join得到专题报表。
    shp除了用后台获取数据,自行拼装以外,不能多个shp产生join这种操作。
    实际项目业务表很多,一般和图形表关联使用,shp不能胜任这个任务。

    结论:项目开发,shp只定位是数据中介,起到临时存储的作用,实际应用时,应导入空间数据库中。

    相关文章

      网友评论

        本文标题:shp与PostGIS在项目应用中比较

        本文链接:https://www.haomeiwen.com/subject/ljqqyttx.html