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

发布 GIS 相交以更新基于相交状态的字段

常波鸿
2023-03-14

我承认我对数据库中的PostGIS和空间几何有点生疏,但我想做的是:我需要用一个对象的geom的已确定的相交状态更新一个字段,如果它还没有的话。

数据库结构如下:

完成

Accomplishment_Feature(从技术上讲,查询 AFAIK 中不需要,但此处包含以防万一,因为它是成就与其几何类型之间的连接表)

Accoomplishment_Poly

符合性_行

Accoomplishment_Point

我需要确定在physical_state列中没有值的每个地理成就的相交美国状态。

我目前在另一个模式中有一个可以使用美国州几何表。

我目前有以下内容,但它出错了,我显然误解了如何编写查询。

UPDATE accomplishment a
SET a.phys_state = us_state.abbrev
FROM support_gis.state_g us_state
LEFT JOIN accomplishment_poly poly on a.poly_point_line_id = poly.id
WHERE st_intersects(st_centroid(poly.geom), us_state.geom) AND a.phys_state is null

任何指导或帮助将不胜感激!

共有1个答案

薛彭薄
2023-03-14

< code>UPDATE语句中的< code>FROM子句的工作方式与< code>SELECT - go图略有不同。另一种方法是采用传统方法:只需将所有相关的表放在< code>FROM子句中,并使用< code>JOINs来解决< code>WHERE子句中的连接。

UPDATE accomplishment 
SET phys_state = us_state.abbrev
FROM support_gis.state_g us_state, accomplishment_poly poly
WHERE 
  ST_Intersects(ST_Centroid(poly.geom), us_state.geom) AND 
  phys_state IS NULL AND
  poly_point_line_id = poly.id;
 类似资料:
  • 问题内容: 如何使用numpy计算两条线段之间的交点? 在代码中,我有和。注意不等于。因此,在我的代码中,我还一直在计算斜率和y截距,如果可以避免,那将是很好的选择,但我不知道该怎么做。 我一直在用我在Python中编写的函数使用Cramer规则,但我想找到一种更快的方法。 问题答案: 直接从http://www.cs.mun.ca/~rod/2500/notes/numpy-arrays/num

  • 我在一个板上有几个对象,我想通过坐标获取这些对象的索引。我尝试过制作一个处理程序,并使用与相结合,但没有成功。这些方法给了我不同的坐标,无法匹配它们。 我是否应该用光标的坐标画一个矩形,并使用< code > getBoundInParent()。intersects方法? 有什么建议吗?

  • 问题内容: 我有两个数组,一个是形状,另一个是shape ,所以实际上是两个以矩阵为元素的数组。现在,我想计算并获得在两个数组中都重叠的所有元素(以形式)。使用普通的for循环,这是减慢速度的方法,因此我尝试使用numpys intersect1d方法进行尝试,但我不知道如何将其应用于此类数组。 问题答案: 使用关于唯一行的此问题中的方法) 请注意,使用浮点数是不安全的,因为它将导致不等于

  • 本文向大家介绍.NET Framework 相交,包括了.NET Framework 相交的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 我在我的项目中使用React钩子,需要尝试解决如何在状态值发生变化时动态地将类添加到

  • 问题内容: 我有大量的多边形(〜100000),并尝试找到一种聪明的方法来计算与常规网格单元的相交面积。 当前,我正在使用形状(基于它们的角坐标)来创建多边形和网格单元。然后,使用简单的for循环,遍历每个多边形并将其与附近的网格单元进行比较。 只是一个小例子来说明多边形/网格单元。 (顺便说一句:网格单元的尺寸为0.25x0.25,多边形的最大值为1x1) 实际上,对于单个多边形/网格单元组合来