如何从bingmap中提取所有道路?

时间:2019-07-23 06:52:10

标签: maps bing-maps

我正在使用Bing Maps API。 我有一个需要突出显示多边形中所有道路的场景。 用户将实时导航,最后我需要用红色突出显示未覆盖的道路。(一种地图验证)

我浏览了bing maps api的文档,但没有找到任何合适的api,它可以提供与所选区域相关的所有道路。

请提出合适的API,这将帮助我实现这一目标。

1 个答案:

答案 0 :(得分:0)

在Bing地图中,道路几何数据未作为矢量公开。您可以使用样式更改不同道路类型的颜色,但这将是全局的,而不是局部于多边形。从理论上讲,您可以使用两张彼此重叠的地图,并显示其中一部分的内容,该部分被裁剪到多边形上并在其中绘制道路样式,但这确实有些骇人听闻。

另一个选择是查看Azure Maps。它使用矢量图块作为其底图,而不是栅格/图像图块。这意味着您可以直接访问所显示的道路几何形状。这种方法也有一些局限性:

  • 仅渲染的道路数据是可查询的。
  • 这尚未作为公共API公开,因此需要一些骇人听闻的代码。
  • 矢量图块将几何形状剪切为图块,因此道路可能会分成多段。
  • 根据缩放级别,相似类型的多条道路可以分组为MultiLineString。这是矢量切片中的优化。

以下是选择您在地图上单击的几何的示例:https://azuremapscodesamples.azurewebsites.net/Experimental/Inspect%20features%20under%20the%20mouse.html

如果要提高准确性,一种方法是创建服务,并让其下载缩放级别为16或17的所有覆盖多边形区域的图块。在该缩放级别上,所有道路都应位于图块中。从那里开始,使用NetTopologySuite之类的东西并将几何形状组合在一起,以创建多边形中所有道路的庞大MultiLineString。这样可以提供最佳的准确性,然后您便可以突出显示所有道路。我已经对矢量图块进行了类似的操作,以生成城市中用于模拟目的的数百万条随机路线。