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

如何从PSQL json_build_object获取GeoJSON“属性”?

归德厚
2023-03-14

我正在尝试从我的OpenStreetMap boundaries postgis服务器中获取真实的geo JSON[For you:< code > psql-t-h { base64(MTG 1 ljixos 4x mziumje 5)}-U boundaries-d boundaries ]

构建JSON工程:

从 al4 中选择 jsonb_build_object( 'type', 'Feature', 'id', gid, 'geometry', ST_AsGeoJSON(geom)::jsonb ) 其中 ST_Intersects( ST_GeomFromText( 'Point(13.404954 52.520008)', 4326 ), al4.geom );

但是我无法将“行”元素放在右括号中:

SELECT jsonb_build_object(
    'type',       'Feature',
    'id',         gid,
    'geometry',   ST_AsGeoJSON(geom)::jsonb,
    'properties', to_jsonb(row) - 'gid' - 'geom'
) FROM (al4 where ST_Intersects( ST_GeomFromText( 'Point(13.404954 52.520008)', 4326 ), al4.geom )) row;

提前感谢!

共有1个答案

苏嘉歆
2023-03-14

尝试

SELECT jsonb_build_object(
    'type',       'Feature',
    'id',         gid,
    'geometry',   ST_AsGeoJSON(geom)::jsonb,
    'properties', to_jsonb(row) - 'gid' - 'geom'
) FROM 
 (SELECT * FROM al4 
   where ST_Intersects( ST_GeomFromText( 'Point(13.404954 52.520008)', 4326 ), al4.geom )
 ) row;

问候

 类似资料:
  • 有没有一种方法可以使用标准ajax请求从mapbox获取geojson文件? 比如: 我们目前下载了一个geojson文件,并将其作为本地脚本加载到站点上,一切正常。但是拜托,必须有一种方法从mapbox获取它,这样我们就不必不断更新本地文件。客户永远不会理解这个概念。 有人知道API访问点或获取geosjon文件的东西吗?

  • 我已从mapbox复制并调整了此示例:https://docs.mapbox.com/mapbox-gl-js/example/filter-markers/ 一切工作正常,但我想有Geojson作为一个外部文件。 所以我修改了这个代码: 为此: 我在DevTools中得到了这个错误:uncaughttypeerror:无法读取未定义的属性'forEach'。 其余代码(我得到错误)如下所示:

  • 问题内容: 最近,我一直在为在Glassfish v3上运行的Web应用程序实施安全性。我通过设置基本身份验证成功设法保护了一些资源,如下所示: 现在,我想知道如何在登录提示中引入用户名,以影响用户的实际数据。我以为可以有一个会话属性来获取那段数据,但是我不知道它是哪一个。 会话属性我错了吗?还有其他方法可以访问该登录信息吗? 提前致谢。 问题答案: 可通过以下方式获得: 在JSP EL中等效:

  • 我有问题从我的Geojson文件导入属性。我很新,试图尽我所能学习,但我已经被这个难倒了一段时间。 我有一个geojson,有大约50个多边形,它们都有独特的样式。我可以毫无问题地将多边形导入到传单贴图中,但是样式属性不会转移。 我尝试了各种方法来尝试导入属性并应用它们。到目前为止,这些措施都没有奏效。 下面是我最近一次尝试导入GeoJSON并为每个多边形应用正确的样式。 我的控制台中没有错误消息

  • 问题内容: 我正在Python中使用Selenium。我想获取一个元素的,并检查它是否是我所期望的。 这是我的代码: 我怎样才能做到这一点?Selenium文档似乎有很多关于选择元素的内容,但是与属性无关。 问题答案: 您可能正在寻找。一个例子示此处以及

  • 问题内容: 我有几个线程组。我想使用第一组的变量。在第二组中,此var应该在BeanShell中使用。所以:在第一个线程组中,我使用以下代码创建了BeanShell断言: 在第二个线程组中,我有BeanShell预处理器。如果有这样的行: 我尝试过这样的一些变化: 但这不起作用。请帮助在BeanShell预处理器中使用$ {__ property(erroriden)}。 问题答案: 在第一个线程