从多个多边形中搜索点

Search for points from multiple polygons

我正在使用 ClusterPoint 数据库访问 Open Street Map 数据 (https://github.com/clusterpoint/osm),但我想查找包含在多个独立多边形中的 POI。

是否有任何示例可用于如何在查询中定义和使用多个多边形?

要在一个查询中使用多个多边形,您需要在 标签下定义它们。每个多边形都应该有单独的名称。如果您想在多个多边形内搜索,请在查询中使用 OR 运算符“{}”。

包含两个多边形和一个圆的示例如下所示:

<query>
    {&gt;&lt;polygon1 &gt;&lt;polygon2 &gt;&lt;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>

如果多边形重叠,则此区域内的匹配点将不会"duplicate"在结果集中(将显示一次)。