【问题标题】:Google maps sum of unique road distance in given area谷歌地图给定区域内唯一道路距离的总和
【发布时间】:2019-12-03 04:02:48
【问题描述】:

我想计算我所在城市的独特道路公里数。更一般地说,我希望将边界内每条道路的距离相加,为简单起见,矩形就可以了。

这是否可以使用 Google 地图 API 套件实现?如果是这样,你会怎么做?如果有人有与此类问题相关的任何资源,我将有兴趣阅读它们,无论语言如何(甚至使用其他映射工具的解决方案)。

奖励积分:此问题的通用解决方案可应用于谷歌地图中显示的具有明确城市界限的预设“城市”(example)。

【问题讨论】:

    标签: google-maps maps openstreetmap


    【解决方案1】:

    您可以使用 OpenStreetMap 计算特定国家或地理区域的总道路长度。根据已经提出的多个类似问题,有多种解决方案可供选择。

    方法 1Total road length in Kilometers for a countryhelp.openstreetmap.org: 使用 Perl 脚本osm-length-2.plmailing list post 有一个例子。

    方法 2 来自Actual road length of exported map help.openstreetmap.org: 将您的数据(planetcountry or area extract)导入 PostGIS 数据库,然后使用 Frederik Ramm 提出的以下查询:

    SELECT way AS clip
    INTO clipping_polygon
    FROM planet_osm_polygon
    WHERE boundary='administrative' AND admin_level='8' and name='My City';
    
    SELECT name, highway, ST_INTERSECTION(way, clip)
    INTO clipped_roads
    FROM planet_osm_line, clipping_polygon
    WHERE ST_INTERSECTS(way, clip) AND highway IS NOT NULL;
    
    SELECT highway, SUM(ST_LENGTH(way::geography))
    FROM clipped_roads
    GROUP BY highway;
    

    【讨论】:

    • 方法 1 非常适合我的用例。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-12
    • 1970-01-01
    • 2016-10-02
    相关资源
    最近更新 更多