簡體   English   中英

如何將OSM(GeoJSON)數據加載到ArangoDB?

[英]How to load OSM (GeoJSON) data to ArangoDB?

如何將OSM數據加載到ArangoDB?

luxembourg-latest.osm.pbf從OSM加載名為luxembourg-latest.osm.pbf數據sed,然后使用OSMTOGEOJSON將其轉換為JSON,然后嘗試使用下arangoimp --file out.json --collection lux1 --server.database geodb命令將結果geojson加載到ArangoDB中: arangoimp --file out.json --collection lux1 --server.database geodb並得到錯誤的錯誤列表:

...
2017-03-17T12:44:28Z [7712] WARNING at position 719386: invalid JSON type (expecting object, probably parse error), offending context: ],
2017-03-17T12:44:28Z [7712] WARNING at position 719387: invalid JSON type (expecting object, probably parse error), offending context: [
2017-03-17T12:44:28Z [7712] WARNING at position 719388: invalid JSON type (expecting object, probably parse error), offending context: 5.867441,
...

我做錯了什么?

upd:轉換器osm2json轉換器應該與選項osmtogeojson --ndjson一起運行,該選項產生的項目不是單個Json,而是逐行模式。

正如@ dmitry-bubnenkov已經發現的那樣,需要--ndjson才能為ArangoImp生成正確的輸入。

一個人在這里知道,ArangoImp需要一個JSON子集(因為它不分析自身的JSON)被戲稱為JSONL 因此,導入后,JSON文件的每一行都將成為集合中的一個json文檔。 為了最大化性能並簡化實現,在將json發送到服務器之前未對其進行完全解析。

它嘗試將JSON分割為具有服務器允許的最大請求大小的塊。 它依靠JSONL行結尾來隔離可能的塊。

但是,服務器肯定需要有效的JSON。 將切碎的部分與可能不完整的JSON文檔一起發送到服務器將導致解析服務器上的錯誤,這是您在輸出中看到的錯誤消息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM