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

我如何通过使用postgres数据库中的geo数据来创建GeoJSON以在层URL中寻址它?

陆建木
2023-03-14

到目前为止我所做的:

我写了一个脚本,通过用户定义的区域请求将这些边界显示为多边形。这些数据可能非常庞大。来自全国各地的数据有很多兆字节,因此在使用jQuery向php脚本发出标准ajax请求时等待速度太慢。

如何读取和存储数据:

一种似乎是解决办法的可能性:

http://bl.ocks.org/glenrobertson/6203331

在这个例子中,geojson数据是由客户机以与地图块相同的方式在服务器上请求的。

所以我可以在每个缩放级别上交付不同的geojson,并且只有那些我真正需要的多边形。

我如何将数据从几何图形集合转换到可以用这种方式处理的geojson?

一个例子会很好。

共有1个答案

穆浩皛
2023-03-14

答案的要素...

为像/{z}/{x}/{y}这样的url传递geojson数据。JSON意味着您必须检索与缩放级别z中的平铺x、y有关的数据。

要知道我们说的是哪个latlng,可以使用以下PHP:

// SpericalMercator projection
// http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#Tile_numbers_to_lon..2Flat._5
$n = pow(2, $zoom);
$lon1 = $xtile / $n * 360.0 - 180.0;
$lat1 = rad2deg(atan(sinh(pi() * (1 - 2 * $ytile / $n))));

$lon2 = ($xtile + 1) / $n * 360.0 - 180.0;
$lat2 = rad2deg(atan(sinh(pi() * (1 - 2 * ($ytile + 1) / $n))));

$SQL_where = "'latitude' <= $lat1 AND 'latitude' > $lat2 AND 'longitude' >= $lon1 AND 'longitude' < $lon2";
 类似资料:
  • 问题内容: 我想使用Python创建Postgres数据库。 我收到以下错误: 我正在使用psycopg2进行连接。我不明白这是什么问题。我想做的是连接到数据库(Postgres): 然后创建另一个数据库: 这是我通常要做的,我想通过创建Python脚本来实现此自动化。 问题答案: 使用psycopg2扩展名ISOLATION_LEVEL_AUTOCOMMIT: 发出命令且不需要commit()或

  • 在我的Spring项目中,我使用HiberNate将我的实体类导出到以前创建的数据库。但是这需要最终用户知道如何在数据库管理器系统中创建数据库(目前我正在使用Postgreql)。 是否有任何方法,只要给定安装postgreql的机器(以及第一次运行应用程序时提供的用户名和密码),HiberNate在服务器中创建一个新数据库(如果它不存在)?

  • 问题内容: 我一直在尝试通过创建自定义用户和数据库来为开发postgres实例设置容器。我正在使用官方的postgres docker镜像 。在文档中,它指示您在文件夹内插入bash脚本以使用任何自定义参数设置数据库。 我的bash脚本:make_db.sh Docker文件 我从(db是我的容器名称)得到的错误是: createuser:无法连接到数据库postgres:无法连接到服务器:没有这

  • 我是postgreSQL的新手,我正在尝试创建一个模式文件,其中包含创建数据库和所需表所需的所有脚本。我过去为SQl服务器执行此操作的方式是检查数据库是否存在,然后运行必要的脚本。 postgreSQL中的以下脚本引发了一个错误:“无法从函数或多命令字符串执行创建数据库” 我通过导出数据库的备份创建了一个postgres数据库转储文件,但其中包含, 这意味着每次运行模式文件时,数据库都会被删除并重

  • CreateUser:无法连接到数据库postgres:无法连接到服务器:没有这样的文件或目录 似乎在启动postgres之前正在执行文件夹中的命令。我的问题是,我如何使用官方的postgres容器以编程方式设置用户/数据库?有没有办法用脚本做到这一点?

  • 问题内容: 我想创建一个使用PDO与MySQL交互的类。我可以使用PDO创建一个新的MySQL表吗? 问题答案: 是的你可以。 该部分是PDO构造函数的第一个参数,不必具有数据库名称。您可以简单地使用。然后,如果您具有适当的特权,则可以使用常规SQL命令创建数据库和用户等。 以下是install.php的示例,它以root用户身份登录,创建一个数据库,一个用户,并向用户授予对新创建的数据库的所有特