postgresql st_asgeojson 返回不可读的值

问题描述 投票:0回答:1

我正在尝试将这些数据转换为几何图形,但由于某种原因 postgresql 返回不可读的值。我需要 latlng...我根本无法使用该值来绘制标记。

我在这里缺少什么?

请帮忙。

postgresql v.11

insert into area(latlng) values('0101000000A0ABA80D249D024100EC624219AA0B41'::geometry);

select st_asgeojson(latlng) from area; 

退货

"{""type"":""Point"",""coordinates"":[152484.50666937,226627.157415241]}"

------------------------------------------已添加

添加了更多查询。它们总是返回相同的值。 我开始认为我从数据团队提供的值可能是错误的...('0101000000A0ABA80D249D024100EC624219AA0B41')

select ST_AsText('0101000000A0ABA80D249D024100EC624219AA0B41');
"POINT(152484.50666936953 226627.157415241)"

select st_setsrid(st_asgeojson('0101000000A0ABA80D249D024100EC624219AA0B41')::geometry, 4326); 

select st_transform(st_setsrid(st_asgeojson('0101000000A0ABA80D249D024100EC624219AA0B41'::geometry), 4326), 3857);

postgresql postgis geojson
1个回答
0
投票

您的输入值是

geography
而不是
geometry
。见下文

select st_astext('0101000000A0ABA80D249D024100EC624219AA0B41'::geography);
-- POINT(-155.4933306304738 -7.157415241003036)

select postgis_version();
-- 3.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1

简而言之,

geography
更准确,但查询需要占用大量资源。
geometry
geography

99% 足够好的版本

信息: https://postgis.net/documentation/faq/geometry-or-geography/

© www.soinside.com 2019 - 2024. All rights reserved.