我正在尝试构建一个Android应用程序,该应用程序可以通过纬度和经度坐标确定用户所处的高速公路类型。有没有一种方法可以查询立交桥涡轮以检索高速公路的类型或分类?(无论是高速公路,干线,主要,次要,第三级还是住宅),我找不到任何相关的教程或文档。
我可以在Java类方法中实现查询,如下所述:
LocationManager lm(LocationManager)getSystemService(Context.LOCATION_SERVICE); Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
@Override public void onLocationChanged(Location location)
{
double longitude = location.getLongitude();
double latitude = location.getLatitude();
/*query overpass turbo to classify highway*/
/*store retrieved classification type as a string*/
}
而且,除了获取围绕给定坐标的所有标记为高速公路的道路之外,还可以确定当前位置是否是哪种类型的高速公路吗?
最佳答案
您需要使用ways查找highway tag。您可以使用以下Overpass API查询来查找标记为“高速公路”的所有路线,距离51.033,13.749(纬度,经度)100米以内:
[out:xml][timeout:25];
way(around:100,51.033,13.749)[highway];
out body;
>;
out skel qt;
您可以看到result on overpass turbo或download the results directly via Overpass API。
您可以使用最后一个链接从应用程序内部构建简单的HTTP请求。请注意,取决于您的查询,Overpass API支持不同的输出格式,例如XML和JSON。