Neo4j-пространственный импорт OSM обнаружил несоответствующие вершины
Это мой метод для импорта osmdata:
private void importOSM(String osm){
OSMImporter importer = new OSMImporter(osm);
importer.setCharset(Charset.forName("UTF-8"));
try{
importer.importFile(graphDb,osm,false,5000,true);
importer.reIndex(graphDb,10000);
}catch(Exception e){
System.out.println("__________Import Error!! "+e.getMessage());
e.printStackTrace();
}
}
Когда я импортирую osmdata, я получаю это:
Mismatching vertices size for Polygon:Node[1799298]: 1 != 2
Mismatching vertices size for LineString:Node[2118494]: 14 != 23
Mismatching vertices size for Polygon:Node[1776324]: 1 != 2
Mismatching vertices size for Polygon:Node[1886154]: 1 != 2
Mismatching vertices size for Polygon:Node[2124799]: 1 != 6
Mismatching vertices size for LineString:Node[2207017]: 60 != 85
Mismatching vertices size for LineString:Node[2207587]: 45 != 154
Mismatching vertices size for LineString:Node[2213928]: 8 != 16
Mismatching vertices size for LineString:Node[2213939]: 8 != 16
Mismatching vertices size for LineString:Node[2212505]: 3 != 14
Mismatching vertices found 100 times
Mismatching vertices found 200 times
Mismatching vertices found 300 times
Mismatching vertices found 400 times
Mismatching vertices found 500 times
Mismatching vertices found 600 times
Mismatching vertices found 700 times
Mismatching vertices found 800 times
Mismatching vertices found 900 times
Mismatching vertices found 1000 times
Mismatching vertices found 1100 times
Я думаю, это потому, что импортированные мною osmdata - это только выдержка, и некоторые улицы нельзя импортировать целиком. Я импортировал файл san-francisco.osm с http://metro.teczno.com/ (данные XML OSM размером 21 МБ bzip). Итак, мой вопрос: что-то не так в моем коде или с данными, которые я импортирую, или это нормально?
Привет
1 ответ
Да, это нормально, и ваши объяснения верны. Когда создается дамп OSM, он выполняется узлами узла в пределах границ. Эти же узлы относятся к способам и отношениям, которые выходят за пределы границ, поэтому вы всегда "разбиваетесь" на многие геометрии и, как следствие, получаете много подобных предупреждений из пространственного кода Neo4j, который пытается разобраться в файле OSM.
Подобные предупреждения вы увидите и для данных OSM, включенных в тестовые примеры. Трудно найти данные OSM, которые были полностью очищены, поэтому все геометрии полностью содержатся.
Возможно, однако, что фактические ошибки могли вызвать те же самые предупреждения. Но я помню, что отслеживал очень много этих предупреждений, когда впервые запускал импортер OSM, и всегда обнаруживал, что они вызваны способами, которые были сокращены во время экспорта.