如何从一个区域收集 osm-meta-util?
How to collect osm-meta-util from one region?
我正在关注 OSM-Meta-util 并为我的项目收集元数据。
我可以在 json 文件中看到作为女佣的所有更改。例如:
{"id":"19739143","created_at":"2013-12-31T22:28:28Z","closed_at":"2013-12-31T23:59:11Z","open":"false","num_changes":"81","user":"47NOE","uid":"1811738","min_lat":"18.0813259","max_lat":"18.1163397","min_lon":"-63.0392394","max_lon":"-63.0205645","created_by":"Potlatch 2","build":"2.3-605-gbec0ea7","version":"2.3"}
{"id":"19739670","created_at":"2013-12-31T23:59:13Z","closed_at":"2013-12-31T23:59:15Z","open":"false","num_changes":"17","user":"mituc","uid":"1860759","min_lat":"37.0432953","max_lat":"37.0619236","min_lon":"-76.3896156","max_lon":"-76.3625439","created_by":"iD 1.3.4","imagery_used":"Bing"}
{"id":"19739671","created_at":"2013-12-31T23:59:16Z","closed_at":"2013-12-31T23:59:18Z","open":"false","num_changes":"29","user":"lollops","uid":"1811663","min_lat":"43.9561142","max_lat":"43.9629707","min_lon":"10.3236263","max_lon":"10.3294793","created_by":"iD 1.3.4","imagery_used":"Bing"}
我正在收集所有数据并将其放入数据库进行分析。
我的问题是我怎样才能专注于一个地区。德国为例。
正如您在 json 文件中看到的,这是来自世界各地的数据。可以在 lon = x 和 lat = y 之间说吗?
问候
安德烈
约
您可以检查变更集的边界框(通过 min_lat
,…,max_lon
定义)是否在区域多边形内(如果您使用 javascript,您可能可以使用turf-intersect )。那么,可能存在三种情况:
- 变更集的 bbox 完全在区域内:我们可以确定变更集只影响区域内的数据。
- 变更集的bbox完全在区域之外,相反。
- 当有部分重叠时,情况会变得更复杂,这取决于变更集的实际更改内容(例如,更改了加拿大和澳大利亚的节点的变更集几乎具有全局边界框并且不能仅通过查看其元数据来判断变更集是否影响某个区域。
不幸的是,最后一种情况没有完美的解决方案。您可以查看 OWL 或可能还增加差异以了解解决该问题的可能方法。
我正在关注 OSM-Meta-util 并为我的项目收集元数据。 我可以在 json 文件中看到作为女佣的所有更改。例如:
{"id":"19739143","created_at":"2013-12-31T22:28:28Z","closed_at":"2013-12-31T23:59:11Z","open":"false","num_changes":"81","user":"47NOE","uid":"1811738","min_lat":"18.0813259","max_lat":"18.1163397","min_lon":"-63.0392394","max_lon":"-63.0205645","created_by":"Potlatch 2","build":"2.3-605-gbec0ea7","version":"2.3"}
{"id":"19739670","created_at":"2013-12-31T23:59:13Z","closed_at":"2013-12-31T23:59:15Z","open":"false","num_changes":"17","user":"mituc","uid":"1860759","min_lat":"37.0432953","max_lat":"37.0619236","min_lon":"-76.3896156","max_lon":"-76.3625439","created_by":"iD 1.3.4","imagery_used":"Bing"}
{"id":"19739671","created_at":"2013-12-31T23:59:16Z","closed_at":"2013-12-31T23:59:18Z","open":"false","num_changes":"29","user":"lollops","uid":"1811663","min_lat":"43.9561142","max_lat":"43.9629707","min_lon":"10.3236263","max_lon":"10.3294793","created_by":"iD 1.3.4","imagery_used":"Bing"}
我正在收集所有数据并将其放入数据库进行分析。 我的问题是我怎样才能专注于一个地区。德国为例。 正如您在 json 文件中看到的,这是来自世界各地的数据。可以在 lon = x 和 lat = y 之间说吗?
问候
安德烈 约
您可以检查变更集的边界框(通过 min_lat
,…,max_lon
定义)是否在区域多边形内(如果您使用 javascript,您可能可以使用turf-intersect )。那么,可能存在三种情况:
- 变更集的 bbox 完全在区域内:我们可以确定变更集只影响区域内的数据。
- 变更集的bbox完全在区域之外,相反。
- 当有部分重叠时,情况会变得更复杂,这取决于变更集的实际更改内容(例如,更改了加拿大和澳大利亚的节点的变更集几乎具有全局边界框并且不能仅通过查看其元数据来判断变更集是否影响某个区域。
不幸的是,最后一种情况没有完美的解决方案。您可以查看 OWL 或可能还增加差异以了解解决该问题的可能方法。