postgis,推断一条线

标签 postgis

我正在尝试从线段推断以找到线上的一个点,但“返回”的第三个点,即尝试找到点,给定点A B 下面:

enter image description here

给定一条线,我可以对其进行插值以获得沿其任意特定百分比的位置:

=# select st_line_interpolate_point(
   st_makeline('0101000020E6100000300DC347C49418C03EE8D9ACFAA44A40', 
               '0101000020E6100000FB743C66A03218C0CDCCCCCCCC7C4A40'), 
   0.333);
0101000020E6100000ED45B41D537718C069C6A2E9EC984A40

我尝试输入负数来沿相反方向查找直线上的点,但失败了,因为插值参数必须在 [0, 1] 范围内

我考虑过首先缩放线条,但这并不使用线条的中心作为原点,因此对我的目的来说毫无用处。

最佳答案

已经解决了:

F = 1.3333
st_affine(A, F, 0, 
             0, F, 
            (F-1)*-st_x(st_line_interpolate_point(st_makeline(A, B), 0.5)), 
            (F-1)*-st_y(st_line_interpolate_point(st_makeline(A, B), 0.5))
          )

说明:

(2-d) 将起点缩放1.3333倍,以线段中点为缩放原点。

拿出方格纸!

http://en.wikipedia.org/wiki/Affine_transformation

关于postgis,推断一条线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12323355/

相关文章:

sql - 为 PostGIS 编写原始 SQL

c# - 以表格格式返回多个 PostgreSQL 值

django - 如何使用 View 从 PostGIS 中提取几何图形,然后使用 Django 将其添加到模板中的传单 map

sql - 按值(不是列)分组后从组中选择一个随机条目?

drupal - Drupal 可以与 PostGIS 一起使用以进行空间查询吗?

sql - POSTGRESQL,无子查询 : subquery in FROM must have an alias

sql - hstore 标签上的 PostGis 搜索查询

ruby-on-rails - 无法使用 activerecord-postgis-adapter 添加 st_point 列

django - 保存 geodjango PointField 时出错

postgresql - ST_Distance返回值的单位