gpt4 book ai didi

postgresql - 有没有一种简单的方法可以从 osm-bright 的 postgis 数据库中获取配置 ["postgis"] ["extent"] 值?

转载 作者:行者123 更新时间:2023-11-29 12:05:46 27 4
gpt4 key购买 nike

我已经成功设置了一个用于 OSM-Bright 的 postgis 服务器。我必须承认服务器对我来说有点像黑盒子,所以虽然我已经设置好它并且运行良好,但我不知道如何以最佳方式使用它。

在 OSM-Bright 配置文件中,有一个名为 config["postgis"]["extent"] 的值。它在评论中说,它可以加快查询速度,以使用与数据库相同的单位(可能是球形墨卡托米)使用“XMIN、YMIN、XMAX、YMAX”,将整个地球的范围限制到您需要的区域。

我的问题是是否有一种简单的方法可以获取这些值?

例如,假设我有一个项目,我只需要绘制纽约州长岛拿骚县的一个子集。我的 OSM 数据库拥有整个美国北美数据集。有没有一种方法或工具可以让我轻松地将长岛的范围转换为我的数据库投影?

非常感谢您的提前帮助。

干杯,史蒂夫

最佳答案

我也在使用 PostGIS/OSM-Bright/TileMill 设置(第一次)。我用 osm2pgsql 导入了我的 OSM 数据;感兴趣的表似乎是 planet_osm_polygonplanet_osm_pointplanet_osm_lineplanet_osm_roads

您可以通过运行如下查询来获取每个表的范围值:

SELECT ST_Extent(way) FROM planet_osm_polygon

或者要获取范围(即所有 OSM 数据的边界框),您可以运行如下查询:

SELECT
ST_Extent( way )
FROM (
SELECT way FROM planet_osm_polygon
UNION
SELECT way FROM planet_osm_point
UNION
SELECT way FROM planet_osm_line
UNION
SELECT way FROM planet_osm_roads
) as foo;

这将返回一个包含 minX、minY、maxX、maxY 值的框(例如,BOX(739651.875 2908247.25,794875.8125 2970042.75) -> config["postgis"]["extent"] = "739651.875 2908247.25 794875.8125 2970042.75").

关于postgresql - 有没有一种简单的方法可以从 osm-bright 的 postgis 数据库中获取配置 ["postgis"] ["extent"] 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18337780/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com