[英]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.