我正在开发一个酒店应用程序(使用ruby on rails),我试图计算酒店和大海之间的距离。
我已经在geojson文件中收集了海岸线点的几何形状,现在我正在尝试使用rgeo
gem计算距离。
我的调查结果如下:
当使用simple_mercator_factory
时,我得到了一个错误的值,当使用spherical_factory
时,两个点之间的距离是正确的,但是我计算点和线之间的距离产生了错误。
如何计算这个距离?
我正在开发一个酒店应用程序(使用ruby on rails),我试图计算酒店和大海之间的距离。
我已经在geojson文件中收集了海岸线点的几何形状,现在我正在尝试使用rgeo
gem计算距离。
我的调查结果如下:
当使用simple_mercator_factory
时,我得到了一个错误的值,当使用spherical_factory
时,两个点之间的距离是正确的,但是我计算点和线之间的距离产生了错误。
如何计算这个距离?
1条答案
按热度按时间kpbpu0081#
尝试使用
geographic_factory
,它使用球面计算,可以处理点到点和点到线的距离计算。解析GeoJSON文件中的海岸线点,并使用geographic_factory将其转换为RGeo对象:
使用geographic_factory为酒店位置创建RGeo点:
计算酒店位置和海岸线点之间的最小距离:
现在,min_distance将保存酒店与海岸线之间的最短距离(以米为单位)。
编辑:你需要添加
rgeo-geojson