a90120411 最近的时间轴更新
a90120411

a90120411

V2EX 第 238624 号会员,加入于 2017-07-04 14:12:10 +08:00
今日活跃度排名 8724
根据 a90120411 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
a90120411 最近回复了
11 天前
回复了 Mark24 创建的主题 分享发现 看到网友对 OKR 的概括,会意的笑了
@Mark24 坦白的说,这有点理想化了。
19 天前
回复了 Yuan2One 创建的主题 北京 北京补牙有啥医院推荐吗,可以走医保吗
海德堡联合口腔,我在潘家园的医院做过,不过最近好像改名字了,你自己查一下吧。
好文章!
@liuguangxuan 客气啦,谈不上指点。只是略知一二,互相交流学习。
@liuguangxuan 我没太理解需求二麻烦的原因是什么?
内置函数中应该不会提供这种函数,违反设计原则(单一职责)。
但 PostgreSQL 支持用户自定义函数 FUNCTION 。
@liuguangxuan
```
select ST_Difference( t.gj, ST_PolygonFromText('POLYGON((0 0, 2 0, 2 2, 0 2, 0 0))', 4326)) from test1 t;
```
我理解你这条 SQL 的意思是遍历了 test1 表中所有的线和多边形进行差集计算。
按照官方文档中对 geometry ST_Difference(geometry geomA, geometry geomB, float8 gridSize = -1)
函数的说明: http://postgis.net/docs/manual-3.2/ST_Difference.html

用 A 与 B 进行差集计算,返回一个几何图形,它表示几何图形 A 与几何图形 B 不相交的部分。
等效于 A - ST_Intersection(A,B)。如果 A 完全包含在 B 中,则返回适当类型的空原子几何。

这是输入顺序很重要的唯一叠加功能。ST_Difference(A, B) 总是返回 A 的一部分。
This is the only overlay function where input order matters. ST_Difference(A, B) always returns a portion of A.

综上所述,你计算得到的结果是正常的。右侧的直线与多边形没有交集,总是返回 A 的一部分。
根据 A - ST_Intersection(A,B) = A 。

根据你以往所述的内容,我对需求的理解是:

1 、飞机的 GPS 点转换为飞机轨迹(线);
2 、在地图上进行范围查询;

实现步骤:

1 、ST_Intersects 从轨迹线中查询出与传入的范围(多边形)相交的线数据集;
2 、将步骤 1 查询出的线数据与范围几何求交集。

因此我没有理解你最上面那个 SQL 的意义。

此外我已经很多年都不做 Gis 了,手头也没有相关环境,只能是帮你查查官方文档,根据自己的理解提供一些建议,不一定正确,仅供参考。
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3974 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms · UTC 05:41 · PVG 13:41 · LAX 22:41 · JFK 01:41
Developed with CodeLauncher
♥ Do have faith in what you're doing.