ST_MAKELINE 丢弃重复点,即使不连续

2024-01-19

考虑这个简化的例子:

SELECT ST_MAKELINE([
  ST_GEOGPOINT(5, 51),
  ST_GEOGPOINT(5, 52),
  ST_GEOGPOINT(5, 51)
])

我希望这能构建一条包含三个点的线,并在自身上加倍。相反,我得到的是:

LINESTRING(5 51, 5 52)

BigQuery 似乎正在丢弃重复的点,即使它们不连续。这搞乱了我的距离计算,其中涉及到ST_LENGTH生成的线串。

作为解决方法,我正在构造一系列线串,每个线串是两个连续点,然后将这些线串的距离相加。但它很尴尬而且冗长。

有没有办法在不删除重复点的情况下创建线串?


发生的情况是 BigQuery GIS 丢弃重复的重叠边(而不是顶点)。

例如。你可以有行字符串 A、B、C、A,如果 A、B 和 C 不在同一行上,则不会丢弃任何内容,A 在该行中出现两次。但如果两条边完全重叠 - 重叠部分将被丢弃。

另一方面,这里没有重复的顶点,但第二条边与第一条边完全重叠,因此被忽略:

SELECT ST_MAKELINE([
  ST_GEOGPOINT(5, 51),
  ST_GEOGPOINT(5, 53),
  ST_GEOGPOINT(5, 52)
])

LINESTRING(5 51, 5 52, 5 53)

目前无法避免这种行为 - BigQuery Geography 表示一个点集,并且随着集合的发展,当您合并两个相同的集合时,您只会得到该集合的一个副本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ST_MAKELINE 丢弃重复点,即使不连续 的相关文章

  • 写入 BigQuery 时处理卡住

    我正在使用云数据流将数据从 Pub Sub 消息导入到 BigQuery 表 我正在使用 DynamicDestinations 因为这些消息可以放入不同的表中 我最近注意到该进程开始消耗所有资源 并且消息表明该进程被卡住开始显示 Proc
  • SVG中的地理识别位置(GeoLocation/GeoTag)

    我想知道如何对 SVG 地图进行地理标记 我的搜索结果 地理标签以元数据格式提供 例如Exif http www awaresystems be imaging tiff tifftags privateifd gps html XMP h
  • 使用 Airflow BigqueryOperator 向 BigQuery 表添加标签

    我必须向 bigquery 表添加标签 我知道可以通过 BigQuery UI 来完成此操作 但如何通过气流运算符来完成此操作 Use case 用于计费和搜索目的 由于多个团队在同一项目和数据集下工作 我们需要将各个团队创建的所有表组合在
  • bigquery url 解码

    有没有一种简单的方法可以在 BigQuery 查询语言中进行网址解码 我正在使用一个表 该表有一列包含某些值中的 URL 编码字符串 例如 http xyz com example php url http 3A 2F 2Fwww exam
  • 如何在 BigQuery 中取消透视?

    不确定要调用什么函数 但转置是我能想到的最接近的函数 I have a table in BigQuery that is configured like this 但我想查询一个配置如下的表 创建此表的 SQL 代码是什么样的 Thank
  • 通过非 sf 列内连接两个 sf 对象

    我尝试使用内连接或左连接连接两个 sf 数据帧 这些数据框内部都有几何列 我不断收到错误 check join x y 中的错误 y 应该是一个数据框 对于空间连接 请使用 st joinFALSE 下面的可重现示例 df1 lt data
  • 如何将美国人口普查局的州级形状文件合并为全国性形状

    人口普查局不提供全国范围内公共使用微数据区域的形状文件 美国社区调查中可用的最小地理区域 我尝试用几种不同的方法将它们结合起来 但即使是消除重复标识符的方法一旦到达加利福尼亚州也会崩溃 我是在做一些愚蠢的事情还是需要一个困难的解决方法 下面
  • 如何在标准 SQL 中使用 Unicode 规范化删除变音符号(例如重音符号)?

    如何使用新功能从 BigQuery 中的字符串中删除变音符号normalize https cloud google com bigquery docs reference standard sql functions and operat
  • 可以在不填充数据的情况下创建 BigQuery 表/架构吗?

    是否可以在不先用数据填充的情况下创建表模式 最好使用 Google 的 python 客户端 谷歌的文档似乎没有提供明确的是或否的答案 他们建议创建一个表 https cloud google com bigquery docs table
  • BigQuery 中使用 GROUPBY 的百分位函数

    在我的人口普查表中 我想按州分组 并为每个州获取县人口中位数和县数量 在 psql redshift 和 Snowflake 中 我可以这样做 psql gt SELECT state count county PERCENTILE CON
  • GCP BigQuery如何通过python api设置表的到期日期

    我正在使用 BigQuery Python API 创建表 并且想为该表设置一个到期日期 以便该表会在特定天数后自动删除 这是我的代码 client bq Client job config bq QueryJobConfig datase
  • 从 Grib 天气模型中提取数据

    我已经下载了grib1模型数据来自GFS http en wikipedia org wiki Global Forecast System 我使用的是 Mac OS X 并且能够构建wgrib2文件来自NOAA http en wikip
  • Geodjango距离查询未检索到正确的结果

    我正在尝试根据地理位置的接近程度来检索一些帖子 正如您在代码中看到的 我正在使用 GeoDjango 并且代码在视图中执行 问题是距离过滤器似乎被完全忽略了 当我检查查询集上的距离时 我得到了预期距离 1m 和 18km 但 18km 的帖
  • Google BigQuery,使用“unnest”函数时丢失了空行

    StandardSQL WITH tableA AS SELECT T001 T002 T003 AS T id 1 5 AS L id UNION ALL SELECT T008 T009 AS T id NULL AS L id SEL
  • 无法访问 Big Query 中类型为 ARRAY> 的字段

    我正在尝试在 BigQuery 上使用标准 SQL 方言 即不是旧版 SQL 运行查询 我的查询是 SELECT date hits referer FROM refresh ga sessions xxxxxx LIMIT 1000 但不
  • GoogleJsonResponseException:500 内部服务器错误:响应太大而无法返回

    我正在代码中使用库 com google api services bigquery Bigquery 批量获取 bigquery 中存在的表 20000 来获取结果列表 直到前一天它工作正常 但从今天开始我开始遇到下面提到的错误 com
  • Google BigQuery 底层架构

    所以我大约 10 分钟前才开始摆弄 Google BigQuery 我想知道是否有人知道他们用来存储数据的底层架构 例如 这只是他们自己的下一代 BigTable 基础设施吗 另外 他们在索引 索引重建等方面使用什么样的策略是否清楚 我只是
  • 在bigquery中比较两个表的有效方法

    我有兴趣比较两个表是否包含相同的数据 我可以这样做 standardSQL SELECT key1 key2 FROM SELECT table1 key1 table1 key2 table1 column1 table2 column1
  • 将多边形“对齐”在一起

    我有一组代表行政区的多边形 这些区域是手工数字化的 多边形之间有很小的空间 多边形之间应该接触 可能还有重叠的多边形 如何让多边形对齐在一起 填充间隙并消除重叠 首选 QGIS ArcGIS 或 Python 库解决方案 但欢迎算法建议 我
  • 如何通过循环变量在 dbt 中多次运行 SQL 模型?

    我有一个 dbt 模型 测试模型 接受地理变量 zip state region 在配置中 我想通过循环变量来运行模型三次 每次使用不同的变量运行它 问题是 我有一个如下所示的宏 它将变量附加到输出表名称的末尾 即运行测试模型 with z

随机推荐

  • 通过python将PPT转换为PNG

    我想使用 Python 将 PPT 转换为 png 或其他图像格式 这个问题已经在 SO 上被问过 但本质上建议在无头 X 服务器中运行 OpenOffice 这在我上次使用它时绝对是痛苦的 主要是由于 OO 崩溃而导致难以复制的错误 还有
  • 构建后事件始终在 MSBUILD VS2013 中运行

    这是非常类似于这个问题 https stackoverflow com questions 4185638 solving the visual studio 2010 alwayscreate rebuild issue 除了我修复VS2
  • 使用 Taglib-Ruby 为 Web 应用程序构建自定义 Heroku Ruby/Rails Buildpack

    我已经使用 Rails 3 2 构建了一个应用程序 该应用程序利用了 taglib ruby gem 我需要将此应用程序上传到 Heroku 但它无法成功构建 taglib ruby gem 因为需要在计算机上安装关联的 C taglib
  • Open 和 Closed 仅仅是 ConnectionState 枚举的相关值吗?

    The MSDN 页面 http msdn microsoft com en us library system data connectionstate aspxConnectionState 枚举表示 此值是为产品的未来版本保留的 适用
  • 运行 Maven 集成测试时出现“在分支目标处期望堆栈图框架”

    我正在使用 Maven 3 2 3 和这个版本的 Java davea echo JAVA HOME Library Java JavaVirtualMachines jdk1 8 0 45 jdk Contents Home 当我跑步时
  • 高级查找 - 用 OR 组合相关实体

    有什么方法可以创建该查询吗 我需要来自地址和联系地址的数据 通常我可以将它们组合起来Combine OR但在本例中则不然 我想我必须编写新插件PreExecute 方法 获取我的查询 解析数据 然后手动获取相等的地址或者还有其他方法吗 我不
  • 在 .NET 中上传大文件

    我做了很多研究来找到一个 NET 的上传组件 我可以用它来上传大文件 有一个进度条 并且可以恢复大文件的上传 我遇到过一些组件 例如Ajax上传器 http ajaxuploader com 流畅上传 http krystalware co
  • 如何让span占据包含td的整个高度

    我有一个表 在左列中我想为该行添加一个指示器 我使用跨度来渲染指示器 但无法让跨度占据整个高度 table tr td style padding 0px span style height 100 width 5px background
  • 触发 onactivatefile 时向预览图像添加图标/div (Filepond)

    背景 我有一个 django 项目 用户可以上传多个图像 其中一个将是主图像 我正在使用 Filepond 上传和优化图像 Filepond 上传文件的顺序并不总是与用户选择的文件的顺序相同 因此 我尝试为用户提供一个选项 用户单击文件 在
  • Jasmine 在单独的测试项目中

    将 jasmine 测试分离到单独的 Visual Studio 项目中是否实用 可能 我刚刚开始使用角度 并尝试在开始实际的角度实现之前编写我的测试 我将写我的项目视觉工作室2012与厚颜无耻的测试运行者 看这个video http ww
  • iPhone sqlite 应用程序可以附加到其他数据库吗?

    ATTACH DATABASE 命令对于在 sqlite 数据库文件之间传输行非常有用 并允许您跨数据库连接表中的行 例如 sqlite3 BookLoansDB sqlite sqlite gt ATTACH DATABASE Users
  • Android - 使用图像资源背景动态构建 UI 时出现内存泄漏

    我有一个活动 我发誓正在泄漏内存 我正在开发的应用程序需要处理大量图像 因此在直接使用位图时 我必须非常吝惜内存 我添加了一个 Activity 现在如果您使用这个新 Activity 它基本上会让我处于内存使用的边缘 最终抛出 位图超出
  • Ubuntu 中的 .m2 、settings.xml [重复]

    这个问题在这里已经有答案了 在 Windows 环境中 您将在 C Users user name 位置中有 m2 文件夹 您将把 settings xml 文件复制到其中 以便设置代理设置和 Nexus 存储库位置等 那么我必须在 Ubu
  • 多个 CALayers 动画 - 填充模式

    我将屏幕分成小块 然后为每个块设置动画以执行转换 for int x 0 x
  • javascript能区分左移键和右移键吗?

    大多数情况下 这是一个健全性检查 两个 Shift 键的键码都是 16 这是否意味着浏览器中实际上无法区分左移和右移事件 在较新的浏览器中支持DOM3您可以使用event location检查位置 In DOM3 规范 http www w
  • 安装和导入 SendKeys 时出现问题 -- 更新

    我正在尝试安装适用于 Python 的 SendKeys If I use pip install SendKeys 我收到链接错误 sendkeys c 150 warning C4013 Py InitModule undefined
  • 如何在 TypeScript 中使用回调正确处理 let-variables?

    在使用 TypeScript 期间 我对一种常见的 JavaScript 模式有点挣扎 是关于 声明一些 let 变量而不为其设置任何初始值 在某个回调中将此值设置为变量 执行回调后使用此变量 这是代码示例 const wait cb Fu
  • 最小值应匹配过滤查询

    是否可以有这样的查询 query filtered filter terms names Anna Mark Joe execution and 随着 minimum should match 2 陈述 我知道我可以使用一个简单的查询 我已
  • t-sql 求和时间戳之间的差异

    我正在跟踪机器状态 可以是 0 1 和 2 并将该数据与 time stamp 一起存储在 SQL 表中 我在 sql server 中有一个表 其中包含下一个字段 id 整数 时间戳 日期时间 机器状态 int 机器状态与机器状态相关 m
  • ST_MAKELINE 丢弃重复点,即使不连续

    考虑这个简化的例子 SELECT ST MAKELINE ST GEOGPOINT 5 51 ST GEOGPOINT 5 52 ST GEOGPOINT 5 51 我希望这能构建一条包含三个点的线 并在自身上加倍 相反 我得到的是 LIN