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

可视化PostGIS地理边界框以了解"

贾飞章
2023-03-14

我有一个点在(-130.2,30.5),一个框在(-130,30,-129,31)。作为几何体,

sql prettyprint-override">WITH src(point, envelope) AS (SELECT
    ST_SetSRID(ST_MakePoint(-130.2, 30.5), 4326) AS point,
    ST_MakeEnvelope(-130.0, 30.0, -129.0, 31.0, 4326) AS envelope)
SELECT
    point::GEOMETRY && envelope::GEOMETRY AS geom_bbox_intersects,
    point::GEOGRAPHY && envelope::GEOGRAPHY AS geog_bbox_intersects,
    ST_Intersects(point::GEOGRAPHY, envelope::GEOGRAPHY) AS geog_poly_intersects
FROM src;
 geom_bbox_intersects | geog_bbox_intersects | geog_poly_intersects
----------------------+----------------------+----------------------
 f                    | t                    | f

我假设对于地理,PostGIS 在椭球体上使用矩形边界框,而不是我的经度平行包络。是这样吗?如何使用QGIS等2D工具可视化PostGIS中发生的事情?

版本

  • PostgreSQL:10.17
  • PostGIS:2.4

共有1个答案

公冶智刚
2023-03-14
匿名用户

地理使用大圆弧而不是直线。要可视化它们,您可以将地理分割为小段,然后将这些区段转换为几何

WITH src(geom) AS (SELECT ST_MakeEnvelope(-130.0, 30.0, -129.0, 31.0, 4326) AS geom)
SELECT
    st_segmentize(geom::geography,1000)::geometry
FROM src;

也就是说,沿着子午线的大圆就是子午线本身,所以我真的不明白为什么地理边界框会重叠。如果符合您的工作流程,使用< code>st_intersects()将返回< code>false,两个示例形状作为地理位置。

 类似资料:
  • 问题内容: 我有一个二维的numpy数组看起来像 我想在上面显示的1上方创建像蒙版这样的边界框。例如,它应该看起来像这样 我如何轻松做到这一点?另外,如果存在其他编号(例如2,3等),但我想忽略它们,而该组主要是2,该怎么办。 问题答案: 在组件标签方面,我们必须让生活变得轻松。我们可以用来标记数组中的不同组件,并获得相应的切片,在这种情况下,可以使用它们来将值设置为: 如果我们尝试提出的示例:

  • 我还在学习postgis,需要一些帮助。我有2张桌子,城市和景点。我想返回给定城市X英里内的所有景点。这些是我自己的桌子,所以我可以用任何最适合的方式设置它们。现在,我的景点有一个geom POINT列,srid 4326是lat/lng。我的城市表有一个geom BOUNING BOX(POLYGON)列,它包围了城市边界。我用ST_MakeEnvelope来填写该列,也是4326。 我看过ST

  • 问题内容: 我正在尝试通过以下示例来消除我对Spring Transaction边界的怀疑。 我想将test2()方法与test1()隔离开,即每次调用test()时,test2()都不应读取test1()提交的数据。请建议是否可以使用传播或隔离属性来处理这种情况。 提前致谢。 问题答案: 事务属性应用于外部调用,而不是由bean方法(例如您的案例)进行的内部调用。如果要将事务边界应用于调用,则应

  • 我想用Mapbox制作一张可点击的地图。当我放大的时候,我想看到大陆的边界(而不是国家)和可以点击的大陆。主要问题是,我找不到大陆边界的地理编码。 另一个想法是聚合国家层,但我不知道如何使用Mapbox。 我有这样的国家地理编码:“类型”:“特征集合”,“特征”:[{“类型”:“特征”,“属性”:{“名称”:“阿鲁巴”},“几何”:{“类型”:“多边形”,“坐标”:[[[[-69.899,12.4

  • 我有一个地理编码的数据集,我正在尝试将其聚合为多边形,以便将结果绘制为不同级别(例如郊区、地方政府区域等)的一系列地图。 为此,我遵循一种方法 - 如下所示 - 它使用 包中的 函数将数据与空间对象连接起来,并查找我的坐标(来自单独的文件)落入的多边形。然后,我使用 强化了要绘制的空间对象。 shapefile可从澳大利亚统计局网站下载(文件:“ESRI Shapefile格式的ASGS郊区非AB

  • 我正在尝试鲁棒地提取轮廓的旋转边界框。我想拍一张图像,找到最大的轮廓,得到它旋转的边界框,旋转图像使边界框垂直,并裁剪到大小。 为了演示,这里有一个原始图像链接在下面的代码中。我想最终把那只鞋旋转到垂直方向,裁剪成合适的尺寸。这个答案中的以下代码似乎适用于opencv行等简单图像,但不适用于照片。 最终得到这个,旋转和裁剪错误: 编辑:将阈值类型更改为,它现在已正确旋转,但裁剪错误: 如何获得正确