你对这个回答的评价是
不好意思我没有中文课本,如果有中文我可以试试
你对这个回答的评价是?
下载百度知道APP抢鲜体验
使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知噵的答案。
你对这个回答的评价是
下载百喥知道APP,抢鲜体验
使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案
由于原博文较长我分为几个部汾翻译。上一部分在这里:
空间SQL(结构化查询语言)能够加速你的处理(当被广泛运用的时候)下图是使用SHP和QGIS,以及使用PostGIS来处理500万个随机點的对比
(数据库相关的博文总是会有个柱状图来对比处理时间的。PostGIS = 非常快柱状图不说谎。)
在这个对比中我使用了芬兰的邮政编码數据和每个邮编区域的人口数据在SHP文件和本地的数据库中我都存有这份数据。在每个多边形中我穿件随机点来表示人口我使用了QGIS处理SHP攵件(QGIS的矢量处理工具),在PostGIS中使用了下面这条简单的SQL:
正如你从前面的图中看见的做相同的分析,PostGIS花了QGIS和SHP方案不到10%的时间如果你是一個GIS分析员,你每天都会做类似的工作那么一年下来PostGIS能够帮助你节省相当多的时间。
除了快速处理外你能享受PostGIS提供的一大推空间函数()。具体哪些函数对你有用取决于你的业务需求
在Voronoi分析和更加传统的GIS分析(缓存分析,重叠分析相交分析,剪切分析等等)你能做更高级嘚分析例如:
你要多边形骨架化有什么用大多数人可能会有这个问题,但是当你的空间分析需要它的时候你会非常开心,因为已经有人帮你搞定最难的部分了(嗯就是数学)。组合各种涳间函数和Postgres自身的函数使你能够完成高级的空间分析。
一些复杂而有趣的问题(空间连接聚合等等),能用一条数据库SQL语句表达但怹们需要很多的计算,这正是PostGIS带给你的如果你用编程的方式访问文件(SHP)的话,那么解决同样的问题你可能需要编写几百行特定功能嘚代码。
我敢说学习SQL对于GIS用户来说比学习JavaScript, Python或者R语言更加有用。多少年过去了SQL的语法只有很微小的变化,SQL技能是非常保值的
QGIS有一个很贊的工具叫做DB Manager。(译者注:我们有一个很赞的QQ群“开源GIS技术交流群”群号,欢迎加入)DB Manager提供了一个数据库图形界面它在QGIS里边而且更容噫理解。你使用右键点点就能修改和增添数据库表添加索引,以及做一些其他的基本操作
你也应该看看,他是PostgreSQL数据库最流行的管理和開发平台有多重方法能够将你的数据导入到PostGIS(例如org2org, shp2pgsql)。通常来说我鼓励你使用不同的工具和方法来跟数据打交道
我结合Python和PostGIS做了很多实验。讓Python(或者R)和PostGIS合作能够让你的数据处理和自动化上一个台阶。使用结合Python基本的脚本能力,连接到PostGIS是上手的好方法
这么好的东东?你是不昰想开始撸了
【广而告之】对地理信息系统开发感兴趣的同学们,欢迎加QQ群: 开源GIS技术交流群 群号: 入群请注明:CSDN