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

postgis中沿点路径长度的求法

曾嘉言
2023-03-14

我有一个postgis数据库(postgres 8.4.11,postgis 1.5.2),其中包含gps观测,我想计算一些旅行距离。

一小时后,我使用从gpspoint p1、gpspoint p2选择observedid、ST_distance(p1.shape_utm、p2.shape_utm)计算从一个点到另一个点的行驶距离,其中p2.datetime=p1.datetime间隔“1小时”

(当然还有一点,但这是其中的距离部分)我将其定义为一个视图,这样我就可以很容易地从运动视图中选择*,其中observedid=42

问题1:是否可以创建视图,以便我也可以定义时间间隔?

例如选择*表单movement_view其中观察=42和间隔='15分钟'?

问题2:SQL /postgis是否可以计算一段时间内的总旅行距离?我有一个gpspoint每5秒,并想计算旅行距离例如1小时后,每个gps点。我可以使用上面相同的方法计算每个点的行进距离,然后我可以使用和()函数,但是怎么做呢?

表定义:id整数,
gpsstatus字符(2),
无时区的日期时间戳,
lat数字(9,6),
lon数字(9,6),
alt数字(9,4),
时间整数,
数据文件id整数,
形状几何体,
速度双精度,
距离双精度,
形状几何体,
lokalitet字符(128),
柯维整数

id:主键有日期时间索引、lokalitet索引、Cowid索引、gps状态索引、形状索引和shape_utm索引。

共有1个答案

李建中
2023-03-14

问题一:

CREATE VIEW movement_view AS
SELECT observedid, ST_Distance(p1.shape_utm,p2.shape_utm) as distance, p1.datetime as datetime1, p2.datetime as datetime2
FROM gpspoint p1, gpspoint p2;

SELECT * from movement_view where observedid = 42 and datetime2 = datetime1 + interval '15 minutes'

问题二:

从你的点创建一条线,并计算长度:

SELECT hours,  st_Length(ST_MakeLine(t.shape_utm)) as distance FROM
    (SELECT date_trunc('hour', datetime::timestamp) as hours, shape_utm FROM gpspoint order by datetime) as t
GROUP by hours
 类似资料:
  • 问题内容: 我的数据库中存储了一个地理位置字段,其中包含一个线串路径。 我想沿着该线串移动一个点米,然后返回目的地。 例如,我希望终点从线头开始沿线串500米。 这是一个例子-什么是?或者,还有另一种方法吗? 问题答案: 这有点棘手,但是肯定是可能的。 让我们开始计算从一个点到另一个点的方位。给定起点,方位角和距离,以下函数将返回目标点: 我了解您需要一个以线串作为输入,而不仅仅是起点和终点的函数

  • 我想在HTML5画布/或SVG上执行以下操作: 有一个背景路径,将光标移过去并绘制(填充)背景路径 用户完成绘图后有回调函数 我的问题是,我不知道如何检查抽屉线是否遵循路径。 有人能给我解释一下如何做到这一点,或者给我一些建议吗? http://jsbin.com/reguyuxawo/edit?html,js,控制台,输出

  • 给定一个X值(或百分比),我需要沿着二次Bezier曲线找到一点的Y坐标 该曲线是在android中使用以下内容绘制的折线图的一部分:

  • 我想知道使用xpath是否可以实现以下目标 鉴于: 要求: 我想使用单个xpath表达式查找select元素,如下所示,bcs ID是动态的,并且在属性“for”中始终可用。 //label[text()=“Select Country”]/@for//*[@id=@for] 我们是否可以在xpath中传递属性值(此处为标签的属性),沿着路径进一步查找元素。 请不要建议使用兄弟姐妹、子级、id或s

  • 问题内容: 在Windows下运行的Python中编程时出现问题。我需要使用长度超过256个或whatsathelimit字符的文件路径。现在,我已经基本阅读了两种解决方案: 使用kernel32.dll中的GetShortPathName并以这种方式访问​​文件。 很好,但是我不能使用它,因为我需要以某种方式使用路径 其中short_path是一个非常短的路径(类似),而长路径则出现在目录本身中

  • 我正在解决这样一个问题:给定一个平行六面体的列表,找出可以相互存储的最多的平行六面体。 我的方法是用邻接表表示图,进行拓扑排序,然后对拓扑数组中的每个节点“去松弛”边,得到最长的路径。 下面是代码,但我认为这与问题无关。 最后,我有最长路径的长度和所述路径结束的节点,但如何有效地重新创建路径? 如果平行六面体A包含平行六面面B,平行六面体B包含平行六面体C,这意味着平行六面形A也包含平行六六面体框