当前位置: 首页 > 知识库问答 >
问题:

利用postgis计算旅行距离

柯凯旋
2023-03-14

我正在尝试写我的第一次postgis查询

我的桌子如下所示

time (with time time zone), track_id, geography(geography(Point, 4326))
CREATE TABLE data (
    time        TIMESTAMPTZ         NOT NULL,
    track_id    VARCHAR NOT NULL
    geography geography(point,4326) 
);
"2017-04-05 09:10:12-04";"1";"0101000020E6100000689B768C864A5540E00CA3C5BE953940"
"2017-04-06 15:23:10-04";"1";"0101000020E6100000358584DED14B55408F49905BDD953940"
"2017-05-12 05:30:03-04";"1";"0101000020E610000008420D3A7C50554060BE068E15903940"
"2017-05-20 01:19:24-04";"1";"0101000020E61000001D5C959F2F805540EEDBFFB6DDC23940"
"2017-05-20 01:17:52-04";"1";"0101000020E6100000E3F50599897F55406523C621D1C03940"

这是一辆id为1的车辆的gps数据。我需要计算车辆行驶的总距离,比方说2017-05-20年,以米为单位。可以有其他具有不同ID的视图。

参考(如)。https://gis.stackexchange.com/Questions/268776/Finding-Total-Distance of-Path-Along-Post-PointGIS,但这是几何学而不是地理学

共有1个答案

施靖
2023-03-14

您可以使用st_makeline聚合点然后st_lengte,这可以使用地理参数来获得距离

SELECT trak_id, ST_Length(ST_MakeLine("geography"::geometry)::geography) as d
FROM data 
GROUP by track_id --optionally group by date for example
 类似资料:
  • 我需要计算汽车行驶的距离!不是距离,不是距离到否。如果我们通过谷歌提供的API计算,距离可以完全不同。谷歌可以提供从一个点到另一个点的1公里距离,但汽车可以按照骑手想要的方式行驶800米。使用加速计没有帮助。它适用于步行,但绝不适用于更快的速度。 我尝试过使用Google的位置API:距离到或距离之间根本不是一个选项。它可以给出与IN REAL截然不同的结果。在真实的汽车中,可以通过非常短的地方并

  • 我目前正在开发一个专注于健身的应用程序。我的基本想法是允许人们跟踪他们的速度、距离和时间。到目前为止,我已经通过使用位置管理器getSpeed()设法获得了速度。我想知道如何获得旅行的距离?我寻找了一些示例,但对我来说有点困惑,因为我刚刚开始使用android。我将感谢任何帮助或建议,谢谢

  • 问题内容: 我在用 python 2.7.12 Django 1.10.6 PostgreSQL 9.5.6 postGIS 2.2.2 第一个问题 我需要使用GeoDjango计算两点之间的距离。当我检查了 文档它说, GeoQuerySet.distance() 已被弃用,而使用 距离() 从 django.contrib.gis.db.models.functions 。 以下代码可以正常工

  • 我正在Xamarin中实现一个android应用程序。Android平台,该应用程序用于跟踪他旅行的距离和路线。通过使用低版本和高版本的android OS的后台定位服务和前台定位服务。 当用户关闭应用程序时,我的前台服务停止,无法跟踪距离和路线,我在更高版本的Android设备(8.0操作系统版本以上)中面临这个问题。它给了我只有起点和终点的距离与Arial路线。 请给我任何其他方法来解决我的问

  • 问题内容: 如何在Swift中使用CoreLocation计算行进的总距离 到目前为止,我还无法找到有关如何在iOS 8的Swift中执行此操作的任何资源。 自开始跟踪位置以来,您将如何计算移动的总距离? 根据到目前为止的读物,我需要保存一个点的位置,然后计算当前点与最后一个点之间的距离,然后将该距离添加到totalDistance变量中 Objective-C对我来说是非常陌生的,所以我还无法计

  • 我正在制作一个方法,该方法应该计算一定时期内某个金额的利率(这些值已经在参数中定义)。这是我到目前为止拥有的代码: 我正在制作嵌套的for循环,正如您在那里看到的那样,那里缺少代码。这里我遇到了一些麻烦。第一个for循环贯穿年份,另一个应该计算总量。为了清楚变量“int年份”中定义的年份,假设它是7,那么程序应该计算每年数量的增长,因此: 主要方法如下所示: 我很感激我能得到的任何帮助!