PostGIS与SQL Server的GIS数据


15

因此,我最近刚开始在一家新公司工作,有很多ArcGIS用户,他们似乎非常热衷于继续使用PostGIS实例向我们的客户提供一些数据。虽然我对此没有疑问,但我们拥有95%的SQL Server和5%的Oracle商店。我们当前的内部GIS在SQL Server上运行,我还没有收到任何投诉。

我知道SQL Server截至2012年已经改善了很多空间/几何功能,但是PostGIS中是否有任何杀手级功能值得引入新平台?我已经尝试进行研究,但是找不到真正深入的东西,或者那不是完全偏见。

我想为他们提供最好的工具来完成他们的工作,但同时也必须权衡一个事实,即我将从一开始就学习Postgres / GIS,这本身就是一个完整的过程。


1
如果要使用ArcGIS For Server从其中向客户端提供数据,那么唯一的考虑就是性能。尽管它确实具有更大范围的空间功能,但我认为这不是杀手级功能,也不是ArcGIS可能不需要的功能。不幸的是,我没有性能基准。
MickyT 2014年

您所知道的使用古老的口头禅当然适用于此。在着手进行更改之前,切换到其他平台似乎总是一个好主意。没多久,当您进入6个月后就意识到您才刚刚开始获得必要的知识。听说过机会成本吗?
Max Vernon 2014年

2
没有使用ARC产品的经验,但是仅在谈论数据库时。PostGIS是比MSSQL Server更成熟的空间数据库实现方式,更多示例,更多免费内容。如果您需要在db中进行空间相关的操作,则PostGIS具有更多选项。PostGIS是免费的,MS SQL不是免费的,空间数据库似乎有比预期增长的趋势。因此,许可等问题令人头疼。当然,如果管理员更习惯于Windows环境,Linux + PostGIS会有其自身的问题。
simplexio 2014年

Answers:


21

我曾经使用过Postgres和SQL Server。我发现Postgres在GIS功能方面很出色。并且,尽管我将在下面简要介绍我的发现,但我建议这样做:给自己一个简短而合理的时间段,以自己的目标为目标,对您所知道的不熟悉的解决方案进行审查。例如,可能需要2周的时间来安装和学习当前正在使用的某些特定功能。如果您发现在这段时间内卡住或缺少功能,那么您就知道这不适合您。这是一项对研究的投资,可以扩大您的视野并帮助您意识到您可能已经错过了以前从未意识到的东西,或者只是确认您当前的路线是正确的。

就数据库而言,我发现Postgres的学习曲线更短,更浅。该文档太不可思议了。SQL Server确实有很多文档,但是我发现很难阅读,而且没有足够的示例和教程。

PostGIS vs SQL Server Spatial在文档方面与上述类似,但是PostGIS在功能上击败了SQL Server Spatial。例如,Google Maps和较低级别的Bing Maps最近向其Maps API添加了完整的geoJSON支持。好的,PostGIS可以使用ST_AsGeoJSON()从数据库查询中轻松直接返回geoJSON结果。然后,可以将此geoJSON结果直接传递给可以理解geoJSON的任何对象。SQL Server要求您使用其他库和处理程序,或使用ogr2​​ogr。另外,与SQL Server大约70-100相比,PostGIS具有300多种功能可用于数据进出数据库。


一旦需要多边形,请使用PostGIS-您将省去很多麻烦。如果仅需要点,则也许使用SQL Server就足够了,但是您也可以只使用两个小数列(如果需要进行距离计算,则不建议使用2列-使用GeoPoint)。如果您使用EntityFramwork / LINQ2SQL / AverageCrappyORM,则不建议使用GeoPoint。
困惑

0

在我看来,哪个数据库更好不是您这里的主要关注点,而是您有两个相互矛盾的考虑因素,即业务知识与客户需求。最终,这将是业务决策,而不是技术决策。

就像Max在评论中指出的那样,显然存在机会成本。没有办法解决。如果您要走Postgres路线,请考虑以良好的咨询协议,经验丰富的dba或二者兼有的形式获得一些帮助。

如果您的用户想要PostGIS,那可能是一个净赢。切换后,您将出售多少服务?在机会成本方面值得吗?这些并不是基于哪个数据库在您眼中或在技术规范方面更好的决定,而是基于学习曲线和市场营销的决定。


对选择的见解非常深刻-感谢克里斯。
LowlyDBA 2014年

这里主要关注哪个数据库更好。SQL Server无法处理该大小的数据(planet.osm)。此外,如果您要做的不只是学术研究(向量图块,geojson等),它还会错过许多您实际上需要的功能。另外,它无法处理从赤道一侧到另一侧(愚蠢)的多边形,如果您需要巴西,赤道,哥伦比亚,DRC,加蓬,肯尼亚,索马里,马来西亚,印度尼西亚,新加坡,巴布亚或印度洋,太平洋和大西洋等。此外,错误,如果多边形有错误的方向-而不是自动转换...
困惑
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.