首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算两个GeoJSON要素之间的距离

计算两个GeoJSON要素之间的距离
EN

Stack Overflow用户
提问于 2020-11-10 22:37:39
回答 1查看 237关注 0票数 0

我正在使用GeoJSON.Net库(https://github.com/GeoJSON-Net/GeoJSON.Net)在我的代码中创建一些GeoJSON特性。点,多线等。所有这些都工作得很好,直到我需要计算一些特征之间的距离。这个库没有任何能力做到这一点。

我尝试过使用GeoJSON.Net.Contrib.MsSqlSpatial (https://www.nuget.org/packages/GeoJSON.Net.Contrib.MsSqlSpatial)将要素转换为SqlGeographies,然后对该类型使用该方法来计算距离。这是完美的工作,但有一个警告:它是仅限.NET框架的。该库不可用于.NET核心。

请注意,我需要一个计算两个任意特征之间的距离的能力-点,多线,多边形,而不仅仅是两个点之间的距离。必须对SRID4326 (WGS84)执行此操作。

有什么想法吗?

致以最好的问候,迪米特罗。

EN

回答 1

Stack Overflow用户

发布于 2020-11-16 01:19:04

根据RFC7946,GeoJSON.Net只是一个反序列化GeoJSON的库。

要计算距离,您可以编写自己的实现,也可以使用现有的库之一,如Geolocation

为了方便起见,您可以编写一些扩展方法。

代码语言:javascript
复制
public static class PositionExtension
{
    public static double GetDistanceTo(this Position origin, Position destination,
        DistanceUnit unit = DistanceUnit.Kilometers)
    {
        return GeoCalculator.GetDistance(
            origin.Latitude, origin.Longitude,
            destination.Latitude, destination.Longitude, distanceUnit: unit);
    }
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64771014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档