查找相邻多边形 - postgis 查询

2023-12-25

问题: 我有一张充满多边形(一个国家的地区)的桌子。其中一些多边形具有可能会或可能不会被检查的特定属性。在这种情况下,该属性称为“spread”,“checked”值为 1。

现在我想运行一个查询来查找所有“检查”的多边形。 就像是:

SELECT * FROM gemstat WHERE spread = 1

然后我想在每个尚未检查的相邻多边形中将“spread”属性设置为“1”。 (我还想设置第二个属性,但这只是一个小补充)

首先,我们从一个查询开始,该查询选择与分布值 = 1 的多边形相邻的所有多边形

SELECT (b."GEM_NR")
FROM gemstat_simple5 as a
JOIN gemstat_simple5 as b
ON ST_Touches((a.the_geom),b.the_geom)
where a.spread =1;

此查询返回与 spread = 1 的多边形相邻的所有多边形

现在我想根据该子查询的结果更新表。 这是通过 John Powell aka Barca 提供的这段代码实现的(请参阅下面的答案和评论):

Update gemstat_simple5 gem set spread=1, time=2
FROM (
   SELECT (b."GEM_NR")
   FROM gemstat_simple5 as a,
   gemstat_simple5 as b
   WHERE ST_Touches(a.the_geom, b.the_geom) 
   AND a."GEM_NR" != b."GEM_NR"
   AND a.spread = 1
) as subquery
WHERE gem."GEM_NR" = subquery."GEM_NR"

运行此查询,它将相邻多边形的属性 spread 设置为 1,时间设置为 2,同时不接触 spread = 1 的原始多边形。 因此,它为我的问题提供了完美的答案。


如果您询问如何基于仅查找具有邻居的那些多边形(即它们接触另一个多边形)的子查询来更新表,那么以下内容应该适合您。

Update gemstat_simple5 gem set spread=1, time=2
  FROM (
     SELECT (b."GEM_NR")
       FROM gemstat_simple5 as a,
            gemstat_simple5 as b
       WHERE ST_Touches(a.the_geom, b.the_geom) 
       AND a."GEM_NR" != b."GEM_NR"
       AND a.spread = 1
     ) as subquery
 WHERE gem."GEM_NR" = subquery."GEM_NR"

注意,我把 AND a."GEM_NR"

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

查找相邻多边形 - postgis 查询 的相关文章

随机推荐

  • 如何使用底层 WKWebKit 自动调整 UITableViewCell 的大小,以便它尊重 Web 视图的内容?

    在我的 iOS 应用程序中 我想显示几个包含一些 HTML 的项目 为此我建立了一个新闻列表视图控制器其中包含一个UI表格视图 为了那个原因UI表格视图 出口 新闻列表表视图 我创建了一个自定义UITableViewCell called
  • OneSignal-ANDROID-NotificationExtenderService

    从一周前开始我就遇到了问题OneSignal当我的应用程序被杀死时 我点击通知时可以做一些事情 经过研究 我发现我的问题是我没有使用NotificationExtenderService 但我不知道如何实现这一点 我读到的是 这是作为一个类
  • 如果未连接到互联网,则要求用户在启动 Android 应用程序时启动 WiFi 或 3G

    我正在使用一个使用 WebView 访问一些在线页面的 Android 应用程序 我想添加一个选项 如果用户未连接到互联网 应用程序将提示打开 WiFi 或 3G 实现这种用户便利性的最佳方式是什么 代码如下 package com url
  • 无效 URI:无法确定 URI 的格式

    我不断收到此错误 无效 URI 无法确定 URI 的格式 我的代码是 Uri uri new Uri slct Text if DeleteFileOnServer uri nn BalloonTipText slct Text has b
  • 删除所有查询或删除查询

    这在性能方面更可取 并且不会导致从 android 中的 sqlite 中的表中删除所有行 删除查询或删除表并重新生成表 我从这个找到了这个post https stackoverflow com questions 4280041 sql
  • 在 C++ 11 中将指针传递给临时对象?

    我有一个现有的功能 void foo const Key key nullptr uses the key 我想将其指针传递给临时 Key 对象 即右值 例如 foo Key 这会导致编译错误 但是在 c 11 14 中有没有办法可以做到这
  • 如何在 JAVAFX 2 中使用 AreaChart 绘制实时流数据图表 - 并发、动画、图表

    要求 使用实时流数据构建动画面积图 也许每 1 秒绘制 300 个数据点 细节 因此 我需要从医疗设备读取患者呼吸模式的实时流数据 并使用 JavaFX 中的 AreaChart 以波形方式显示它 我是 JavaFX 的新手 因此我构建了一
  • SPLFileInfo:获取不带扩展名的文件名

    我正在访问 SPLFileInfo 对象中的多个文件 我找到了一种获取路径 文件名甚至文件扩展名的方法 有没有办法获取不带扩展名的文件名 这是我一直在使用的代码 但我希望得到更优雅的东西 有开箱即用的解决方案吗 file new SplFi
  • 在 Fabric.js 中,如何修改对象类以便所有子类都将具有新的自定义属性?

    我正在寻找一种方法来扩展基本的 Fabric Object 类 它具有自定义属性 我可以保存到 JSON 并从 JSON 加载 这些属性会一直传播到各个子类中 具体来说 我想存储一个深度属性 这样当我从 JSON 加载对象时 我将能够向对象
  • VB6 中的集中错误处理

    我有所有错误处理程序调用的以下方法 Public Function ToError strClass As String strMethod As String As String On Error GoTo errHandle ToErr
  • 如何在JavaFX中使用PauseTransition方法?

    我读了这本书 但我仍然对暂停过渡方法感到困惑 我制作了一个显示数字的标签 我希望该数字每秒都在增加 如何使用 PauseTransition A 暂停转换 http docs oracle com javase 8 javafx api j
  • 类“类型”和“对象”之间有什么关系?

    班上type是它自身的一个实例 即type是其自身的元类 我们如何定义一个类 哪个是它自身的一个实例 gt gt gt type type
  • 为什么 PHP 将 $_COOKIE 中的加号替换为空格?

    所以根据我对 PHP 和 cookie 的理解 如果我使用setcookie 函数 然后我得到一个自动 url 编码的 cookie 当我去 COOKIE数组 我应该取回 cookie 自动 url 解码 问题是 当我查看时 它似乎对 co
  • 如何使用 xgboost 模型对数据框中的单行进行预测

    我正在装修一个xgboost模型到存储在数据框中的某些数据 拟合后 我想在数据帧的单行上运行分类器 回归器的 predict 方法 下面是一个最小的示例 它在整个数据帧上预测良好 但仅在数据帧的第二行上运行时崩溃 from sklearn
  • Go:使用多种类型解组 JSON

    我在将 JSON 响应解组到结构中时遇到问题 我遇到的问题是邮政编码可以作为字符串或整数返回 如何编写一个解组方法来检查 zip 是否为 int 并强制将其存储为字符串 Struct type CustomerAddress struct
  • 是否有类似于 file:///android_asset/ 的路径指向 apps 目录?

    我正在使用 WebView 打开保存到应用程序的一些文件 有没有一种方法可以链接到运行时保存文件的应用程序目录 就像 file android asset 那样 通过链接我的意思是loadUrl path 以及正在打开的文件的 HTML 标
  • 为什么 puppeteer page.goto() 挂起?

    我在跑puppeteer in an alpine chrome带沙箱的容器 一切都完全按照文档的建议完成 我创建了一大堆不同的木偶驱动服务器 我将在没有任何参数的情况下启动 Puppeteer 除了headless false Why i
  • nx 构建命令因 TypeError 失败:无法读取未定义的属性(读取“云”)

    我正在尝试跑步nx build它工作正常 但现在停止工作了 下面是日志 vercel path0 node modules nrwl nx cloud lib nx cloud tasks runner js 20 const noClou
  • Angular7 Mat-select截距变化

    在我的用例场景中 我有一个下拉框 mat select 它填充了几个输入字段 任何更改都会以不同的方式填充字段 由于用户可以更改字段 因此我想在执行最终更改之前询问用户是否同意清除 或更改 所有字段 如果选择 否 则不会发生选择更改 并且所
  • 查找相邻多边形 - postgis 查询

    问题 我有一张充满多边形 一个国家的地区 的桌子 其中一些多边形具有可能会或可能不会被检查的特定属性 在这种情况下 该属性称为 spread checked 值为 1 现在我想运行一个查询来查找所有 检查 的多边形 就像是 SELECT F