【问题标题】:PostGIS Elevation QueryPostGIS 高程查询
【发布时间】:2014-10-15 20:28:19
【问题描述】:

我有一种情况,我需要找到由 LAT 和 LON 标识的 givin 位置的海拔,我已经知道Google's elevation API,我也知道earth-tools Web 服务,我真正想要的是我可以将 LAT 和 LON 发送到 postgresql 数据库并获取高程值作为响应的链接或示例查询,这对 PostGIS 可行吗?如果是,那么请您解释一下。

谢谢。

【问题讨论】:

  • 我猜这取决于您的数据。我建议您将一些 3d 图层上传到 PostGIS。之后尝试这种方法:gis.stackexchange.com/a/42971/21423
  • 感谢我们的回复,但我真的不明白这与问题有什么关系,事实上,我正在寻找一种方法来锁定由其经度和纬度标识的特定位置的海拔而不是将地理点转换为 GPS。
  • @Ma'moonAl-Akash:您无法在数据库中查找未存储在数据库中的数据。
  • 我最终使用“gdal”来执行此操作,而不需要 postgis 甚至 postgresql,例如:{gdallocationinfo -valonly -geoloc SRT.tif 35.4954490661621 51.5574703216553} 请注意,您需要要安装“gdal-bin”以便在您的机器中激活此命令,只需启动:{apt-get install gdal-bin}(或者如果您有其他软件包管理器而不是 Debian 或基于 Debian 的发行版)谢谢大家你的帮助。

标签: postgresql postgis elevation


【解决方案1】:

您可能已经看过这个 sn-p here

假设您的 PostGIS 中有有效的栅格图层:

-- get raster values at particular postgis geometry points
-- the srid of your geometry should be same as for your raster
SELECT rid, ST_Value(rast, foo.pt_geom) As b1pval, ST_Value(rast, 2, foo.pt_geom) As b2pval
FROM dummy_rast CROSS JOIN (SELECT ST_SetSRID(ST_Point(3427927.77, 5793243.76), 0) As pt_geom) As foo
WHERE rid=2;

 rid | b1pval | b2pval
-----+--------+--------
   2 |    252 |     79

【讨论】:

    猜你喜欢
    • 2011-09-22
    • 1970-01-01
    • 2018-08-02
    • 2020-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-24
    相关资源
    最近更新 更多