首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PostGIS中具有纬度/长度SRID的实际(大圆)距离?

PostGIS 中具有纬度/长度 SRID 的实际(大圆)距离计算公式如下:

  1. 首先引入必要的 PostGIS 函数和概念:
代码语言:sql
复制

SELECT ST_Distance(

代码语言:txt
复制
       -- 地球表面的点,包括纬度/长度
代码语言:txt
复制
       ST_Point(0, 0), -- 起始点
代码语言:txt
复制
       ST_Point(3.986022988749895, 14.62283707249677) -- 终点
代码语言:txt
复制
   )/ 1000000 AS distance;
代码语言:txt
复制
  1. 通过实际的大圆距离和转换后的纬度和长度,计算出实际的大圆距离:
代码语言:sql
复制

SELECT

代码语言:txt
复制
    3963.0 AS latitudes_degrees,
代码语言:txt
复制
    278.78100722718 AS longitudes_degrees,
代码语言:txt
复制
   SRID(ST_Transform(
代码语言:txt
复制
       ST_GeogFromText('POINT(' || latitudes_degrees || ' ' || longitudes_degrees || ')'),
代码语言:txt
复制
       '4326'
代码语言:txt
复制
   )) AS geographic_coordinates_wgs84,
代码语言:txt
复制
   ST_Distance(
代码语言:txt
复制
     ST_Point(0, 0), -- 起始点
代码语言:txt
复制
     ST_Point(3.986022988749895, 14.62283707249677) -- 终点
代码语言:txt
复制
   )/ 1000000 AS distance_wgs84

FROM

代码语言:txt
复制
  6459796267269249510 TABLE_ID;
代码语言:txt
复制

最后,使用 PostGIS 的 ST_Within() 函数,找出距离为 0 的纬度/长度值:

代码语言:sql
复制
WITH
    -- 获取范围
    spatial AS (
        SELECT
           DISTINCT ST_Point(0, 0) AS point
        FROM
           table_id
        WHERE
           ST_Within(
               ST_Extent(table_id) -- 获取完整的地理范围
           )
    )

SELECT
    NULL
FROM
    TABLE_ID
WHERE
    -- 计算距离并判断位于某个距离/纬度/点之内
    ST_Distance(spatial.point, ST_Point(0, 0)) <= distance_wgs84;

以上代码将计算 PostGIS 中的实际(大圆)距离。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • pgrouting 路径规划_路径分析是什么意思

    PgRouting是基于开源空间数据库PostGIS用于网络分析的扩展模块,最初它被称作pgDijkstra,因为它只是利用Dijkstra算法实现最短路径搜索,之后慢慢添加了其他的路径分析算法,如A算法,双向A算法,Dijkstra算法,双向Dijkstra算法,tsp货郎担算法等,然后被更名为pgRouting[1]。该扩展库依托PostGIS自身的gist索引,丰富的坐标系与图形类型,强大的几何处理能力,如空间查询,空间处理,线性参考等优势,能保障在较大数据级别下的网络分析效果更快更好。   PostGIS早已奠定了最优秀的开源空间数据库地位,在新时代GIS中的应用将会越来越普遍。其实,网络分析算法很多服务端语言如java,C#等虽能实现,但基于真实城市道路数据量较大且查询分析操作步骤复杂与数据库交互频繁,以这类服务端频繁访问数据库导致数据库开销压力较大,分析较慢,故选择PgRouting在数据库内部实现算法,提升分析效率。最后,路径分析不仅仅是最短路径,在实际应用中还有最短耗时,最近距离,道路对车辆类型限制,道路对速度限制等因素,交通事故、市政事故导致的交通障碍点等问题,所有的问题本质其实是对路径分析权重(Weight)的设置问题。

    03

    深入探索地理空间查询:如何优雅地在MySQL、PostgreSQL及Redis中实现精准的地理数据存储与检索技巧

    欢迎光临猫头虎博主的技术小站,在这个数据驱动的时代,我们将一同探讨一个在现代软件开发领域日益重要的话题——地理空间查询与地理信息系统(GIS)。在移动互联网和物联网(IoT)的推动下,地理空间数据已成为数据分析和大数据处理的关键维度之一,涉及到众多场景如定位服务、路线规划、数据可视化等。接下来,我们将带领大家深入探讨如何在MySQL、PostgreSQL、Redis及MySQL 8这四种流行数据库中实现地理空间查询优化和地理数据分析。在这个全面的GIS技术指南中,我们将一起揭开数据背后的世界,发现地理空间查询在大数据分析中的无限可能!我们将探讨如何有效存储地理空间数据,实现高效的地理空间数据查询,以及如何进行精准的空间数据分析。让我们一起在这个数据科学和GIS技术交汇的旅程中,探索更多的知识和技能,挖掘地理空间数据背后的价值,开启地理信息科学的新篇章!

    01
    领券