我正在使用ClusterPoint数据库访问Open Street Map数据(https://github.com/clusterpoint/osm),但我想在多个单独的多边形中找到POI。
是否有任何可用的示例如何在查询中定义和使用多个多边形?
答案 0 :(得分:1)
要在一个查询中使用多个多边形,您需要在< shapes>下定义它们。标签。每个多边形应具有单独的名称。如果要在多个多边形内搜索,请在查询中使用OR运算符“{}”。
两个多边形和一个圆的示例可能如下所示:
<query>
{><polygon1 ><polygon2 ><circle1}
</query>
<shapes>
<polygon1>lat1 lon1; lat2 lon2; lat3 lon3; lat4 lon4; lat5 lon5; ...
<coord1_tag_name>lat</coord1_tag_name>
<coord2_tag_name>lon</coord2_tag_name>
</polygon1>
<polygon2>lat1 lon1; lat2 lon2; lat3 lon3; lat4 lon4; lat5 lon5; ...
<coord1_tag_name>lat</coord1_tag_name>
<coord2_tag_name>lon</coord2_tag_name>
</polygon2>
<circle1>
<center>lat lon</center>
<radius>10 km</radius> <!-- here you can define distance in "km" or in "mi" -->
<coord1_tag_name>lat</coord1_tag_name>
<coord2_tag_name>lon</coord2_tag_name>
</circle1>
</shapes>
如果多边形重叠,则此区域内的匹配点不会在结果集中“重复”(将显示一次)。