繁体   English   中英

在IBM Bluemix中使用空间数据

[英]Using spatial data in IBM bluemix

我在包含纬度和经度的表中有一组数据。 我需要查询半径在5公里以内的纬度,经度的这些数据。

我尝试将IBM bluemix与BigSQL和DashDB结合使用。 请建议一个可能的解决方案。

注意:我不能使用任何RDBMS数据库,例如MySQL / PostGre。 限制使用BigData。

您应该使用Cloudant DBaaS服务。 它建立在CouchDB之上,特别擅长处理地理空间数据。 请访问以下网站以获取更多信息: https : //cloudant.com/product/cloudant-features/geospatial/

dashDB是Bluemix中用于分析空间数据的最佳解决方案。 它也具有预定义的空间功能。

您说您已经尝试过dashDB。 你有什么问题吗? 请让我知道,我可以为您提供帮助。

谢谢,

您确实可以为此使用dashDB。

它提供了所有符合OGC标准的SQL扩展。 对于您的情况,您可以使用ST_Buffer函数在给定点周围定义圆几何(使用ST_GeomFromText从给定的经度和纬度构造几何点)。 然后,您将使用ST_Within查找圆(在此情况下,我认为您现在只有点)的所有行。

类似于以下谓词的内容应该对您有用:

WHERE DB2GSE.ST_WITHIN( your_points_column, DB2GSE.ST_Buffer( 
    DB2GSE.ST_GeomFromText( 'POINT (<long float value>, <lat float value>)', 1005), 
    5000, 'METRE') = 1

这是一个应立即使用dashDB示例数据的示例:

with target as (select db2gse.st_buffer(db2gse.st_geomfromtext('POINT
    (-80.6233232399 40.0725289742)',1005),10000,'METRE') as buffer
from SYSIBM.SYSDUMMY1) SELECT count(*) FROM SAMPLES.GEO_CUSTOMER C,
    TARGET T WHERE DB2GSE.ST_WITHIN(C.SHAPE,T.BUFFER) = 1

相关文档链接:

为了回应以上有关Cloudant的评论,这里还有一个好处:您可以在Cloudant.com门户中非常轻松地为任何给定的Cloudant数据库设置dashDB仓库。 将自动发现该架构,并且还自动完成初始加载以及正在进行的ETL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM