优质广告供应商

广告是为了更好地支持作者创作

shp与PostGIS在项目应用中比较

一 属性查询

笔者使用一模一样的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只定位是数据中介,起到临时存储的作用,实际应用时,应导入空间数据库中。

优质广告供应商

广告是为了更好地支持作者创作

推荐阅读更多精彩内容

  • //我所经历的大数据平台发展史(三):互联网时代 • 上篇http://www.infoq.com/cn/arti...
    葡萄喃喃呓语阅读 50,110评论 4 201
  • 《高性能MySQL》&《MySQL技术内幕 InnoDB存储引擎》笔记 第一章 MySQL架构与历史 MySQL的...
    xiaogmail阅读 11,808评论 0 40
  • 优质广告供应商

    广告是为了更好地支持作者创作

  • MySQL数据库对象与应用 2.1-MySQL数据类型 库建立好之后基本不动,和我们接触最频繁的是表. 建表就是声...
    极客圈阅读 1,835评论 0 8
  • 之前的文章一直在规避索引的建立去优化数据库,不是不想讲,而是这个太重要,必须抽出来讲。今天我们就来研究下数据库索引...
    JackFrost_fuzhu阅读 4,437评论 0 70
  • 作者:豪尔赫·路易斯·博尔赫斯 日落总是令人不安 无论它是绚丽抑或是贫乏, 但尚且更令人不安的 是最后那绝望的闪耀...
    德尔苏乌扎拉阅读 254评论 0 0
  • 总想着要写些什么,却总是感觉无从下笔。我一直以为是自己太笨了,脑子不好使,不灵光。看着圈里的大神们每天的更新和进步...
    黄土原阅读 264评论 8 5
  • 优质广告供应商

    广告是为了更好地支持作者创作

  • 第一天上班,晚餐吃了四个包子,四个包子加一起还没我脸大,让我感到了森森的恶意,因为中午吃的芥末拌面,这个恶意再次加...
    猫睿阅读 131评论 0 0
  • 我不知道该做些什么,想去旅游,没钱;想创业,没想法;想体验刻骨铭心的爱情,连个男朋友也没有。有人说,没钱,赚啊,在...
    张若听阅读 122评论 0 0