gpt4 book ai didi

javascript - 获取道路的几何形状(线条/绘图)

转载 作者:行者123 更新时间:2023-12-02 15:48:00 31 4
gpt4 key购买 nike

如何获取数组中道路的几何形状(线条/绘图)?

可能吗?

谢谢!

[抱歉我的英语不好]

最佳答案

目前 Google map 无法实现此操作。开源网络服务,如 OpenStreetMap能够返回数据库中给定范围内的所有道路(几乎是所有道路)的几何形状。可以使用名为 Overpass 的 API 在 HTTP 中检索此数据。 .

查找属于特定道路的所有节点的查询可以是:

way(s,w,n,e)["name"="Your Road Name"];out;

s、w、n、e 是数据来源的南、西、北和东边界。

您需要知道近似边界。这可以通过在 Google 中对道路进行地理编码,然后将返回的坐标扩展(例如 0.1 度)来实现。

这将返回一个 XML 文档:

<osm version="0.6" generator="Overpass API">
<note>
The data included in this document is from www.openstreetmap.org. The data is made available under ODbL.
</note>
<meta osm_base="2015-08-17T12:36:02Z"/>
<way id="16578496">
<nd ref="2399812387"/>
<nd ref="2399812388"/>
<nd ref="2399812389"/>
<nd ref="2399812390"/>
<nd ref="171131426"/>
<tag k="highway" v="residential"/>
<tag k="name" v="Halifax Court"/>
<tag k="tiger:cfcc" v="A41"/>
<tag k="tiger:county" v="Guilford, NC"/>
<tag k="tiger:name_base" v="Halifax"/>
<tag k="tiger:name_type" v="Ct"/>
<tag k="tiger:reviewed" v="no"/>
<tag k="tiger:zip_left" v="27265"/>
<tag k="tiger:zip_right" v="27265"/>
</way>
</osm>

之后,您可以使用以下方法查询所有节点引用:

node(2399812389);out;

您一次只能查询一个节点。这将返回类似以下内容:

<osm version="0.6" generator="Overpass API">
<note>
The data included in this document is from www.openstreetmap.org. The data is made available under ODbL.
</note>
<meta osm_base="2015-08-17T12:58:02Z"/>
<node id="2399812389" lat="36.0107609" lon="-79.9805742"/>
</osm>

将所有点的纬度/经度数据组合成折线后,您就得到了道路几何形状。

关于javascript - 获取道路的几何形状(线条/绘图),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32049424/

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