使用Java和neo4j空间导入OSM文件后的Neo.ClientError.Procedure.ProcedureCallFailed

时间:2017-07-18 15:51:11

标签: neo4j cypher gis openstreetmap neo4j-spatial

我是neo4j和neo4j空间的新手。我想导入一个从https://www.openstreetmap.org/export导出的OSM文件。为此,我使用以下代码。我找到的所有例子都不适用于我或不完整。所以我试着得到一个编译的版本:

   try {
        OSMImporter importer = new OSMImporter("osmGauKlein");
        Map<String, String> config = new HashMap<String, String>();
        config.put("neostore.nodestore.db.mapped_memory", "90M" );
        config.put("dump_configuration", "true");
        config.put("use_memory_mapped_buffers", "true");


        BatchInserter batchInserter = BatchInserters.inserter(dbf, config); 
        importer.importFile(batchInserter, "osm/map.osm", false);
        batchInserter.shutdown();

        GraphDatabaseService dbs = dbFactory.newEmbeddedDatabase(dbf);      
        importer.reIndex(dbs, 10000);
        dbs.shutdown();

    } catch (IOException | XMLStreamException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

执行此操作后,我可以在neo4j浏览器中看到节点。但导入后,一些空间程序不再起作用。例如:

call spatial.layers

它只返回此错误:

Failed to invoke procedure `spatial.layers`: Caused by: java.lang.NoClassDefFoundError: org/geotools/filter/text/cql2/CQLException

其他一些程序仍在使用

call spatial.layerTypes

这是什么问题? 当尝试使用cyper i直接导入OSM时:

call spatial.importOSM("C:/Users/Steffen/workspaceEclipse/NDBS Neo4J/osm/map.osm")

但这会导致其他错误

Failed to invoke procedure `spatial.importOSM`: Caused by: java.util.NoSuchElementException: More than one element in org.neo4j.kernel.impl.coreapi.LegacyIndexProxy$1@7ce40edf. First element is 'Node[50]' and the second element is 'Node[1206]'

一些信息: Windows 10 64位, neo4j 3.2.1, Neo4j的空间-0.24的Neo4j-3.1.1-服务器插件

0 个答案:

没有答案