繁体   English   中英

立交桥查询。 缺少 [maxsize] 会返回明显更小的结果

[英]Overpass query. Absence of [maxsize] returns significantly smaller results

我有两个立交桥查询。

node(33.68336,-117.89466,34.14946,-117.03498);
way["highway"~"motorway|motorway_link|trunk|trunk_link|primary|primary_link|secondary|secondary_link|tertiary|tertiary_link|road|residential|service"](bn);
(._;>;);
out;

上面的查询返回一个 osm.xml 文件,大小为 167.306 kb。

[out:xml][maxsize:2000000000];
(
    node(33.68336,-117.89466,34.14946,-117.03498);
    way["highway"~"motorway|motorway_link|trunk|trunk_link|primary|primary_link|secondary|seconda ry_link|tertiary|tertiary_link|road|residential|service"](bn);
    (._;>;);
);
out;

第二个查询返回一个大小为 618.994 kb 的文件。 为什么第二个查询会返回明显更大的结果? 第一个查询没有给我完整的数据集吗? 有没有办法用两个查询获得相同的结果? (缺少 [maxsize] 有时会导致错误……)

我觉得您的查询缺少一些东西:

node(33.68336,-117.89466,34.14946,-117.03498); 应该返回这个区域的所有节点,这是很多数据。

盒子

然后是第二行:

way"highway"~“motorway|motorway_link|trunk|trunk_link|primary|primary_link|secondary|secondary_link|tertiary|tertiary_link|road|residential|service”;

给出一个错误,因为它应该用括号和直引号写成这样:

way["highway"~"motorway|motorway_link|trunk|trunk_link|primary|primary_link|secondary|secondary_link|tertiary|tertiary_link|road|residential|service"]; 但这会寻找世界上所有的道路,并且不再使用您的第一个查询,因为您的 output 只是第二个查询。 但这是一个巨大的数据量,可能在 GB 范围内。

所以我不明白你怎么会只得到 167 kB。 我假设您必须有一个边界框或您没有提到的其他过滤器。

但是在你的第二个例子中,你将两个查询结合起来,因为你把它们放在方括号中: (... ; ...;); out; (... ; ...;); out; 所以你会得到该地区的所有节点世界上所有的道路。 同样,如果你有一个额外的边界框或过滤器,你可能只会得到 619 kB。 假设有很多非道路节点,你得到更多数据是有意义的,因为你得到了两个搜索的联合(所有节点+来自道路的节点)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM