2015-10-18 143 views
1

我已经在maven 3 repository中找到了osmosis libs,并将其插入到我的项目的pom.xml中。如何以编程方式在Java中使用osmosis导入OSM数据?

<dependency> 
     <groupId>org.openstreetmap.osmosis</groupId> 
     <artifactId>osmosis-core</artifactId> 
     <version>0.44.1</version> 
    </dependency> 

现在我尝试将* .osm.pbf数据文件导入PostGres/PostGIS数据库。 Osmosis类中主要方法的注释说你应该编写自己的管道。

有谁知道一个例子如何实现一个完整的功能导入数据?

我试过Osmosis.run(args)方法,但这似乎不接受我的论点。

其他注意事项:

我的方法是这样的,到目前为止:

String args[] = { "--read-pbf file=" + DOWNLOAD_STUTTGART_PBF, "--log-progress", 
        "--write-pgsql host=\"localhost\" port=\"5432\"" + 
        "database=\"myDatabase\" user=\"admin\" password=\"pw123\"" }; 

    Osmosis.run(args); 

输出看起来是这样的:

07:36:53.901 [main] INFO o.j.p.standard.StandardPluginManager - plug-in started - [email protected]dirty-SNAPSHOT 
Okt 22, 2015 7:36:53 AM org.openstreetmap.osmosis.core.Osmosis run 
INFORMATION: Preparing pipeline. 

没有数据导入到数据库中。不幸的是文档不存在,或者我无法找到文档。

回答

0

现在,我得到了解决:

String workingDir = System.getProperty("user.dir") + File.separator; 

String args[] = { "--read-pbf", "file=" + workingDir + DOWNLOAD_STUTTGART_PBF, "--log-progress", 
      "--write-pgsql", "host=localhost:5432", "database=myDatabase", "user=admin", 
      "password=pw123" }; 

Osmosis.run(args); 

的线索是在数组中单独提供的所有参数。

你也需要包括更多依赖:

<!-- OSM Osmosis Importer Libs --> 
<dependency> 
    <groupId>org.openstreetmap.osmosis</groupId> 
    <artifactId>osmosis-core</artifactId> 
    <version>0.44.1</version> 
</dependency> 
<dependency> 
    <groupId>org.openstreetmap.osmosis</groupId> 
    <artifactId>osmosis-pbf</artifactId> 
    <version>0.44.1</version> 
</dependency> 
<dependency> 
    <groupId>org.openstreetmap.osmosis</groupId> 
    <artifactId>osmosis-pbf2</artifactId> 
    <version>0.44.1</version> 
</dependency> 
<dependency> 
    <groupId>org.openstreetmap.osmosis</groupId> 
    <artifactId>osmosis-osm-binary</artifactId> 
    <version>0.44.1</version> 
</dependency> 
<dependency> 
    <groupId>org.openstreetmap.osmosis</groupId> 
    <artifactId>osmosis-extract</artifactId> 
    <version>0.44.1</version> 
</dependency> 
<dependency> 
    <groupId>org.openstreetmap.osmosis</groupId> 
    <artifactId>osmosis-hstore-jdbc</artifactId> 
    <version>0.44.1</version> 
</dependency> 
<dependency> 
    <groupId>org.openstreetmap.osmosis</groupId> 
    <artifactId>osmosis-dataset</artifactId> 
    <version>0.44.1</version> 
</dependency> 
<dependency> 
    <groupId>org.openstreetmap.osmosis</groupId> 
    <artifactId>osmosis-pgsnapshot</artifactId> 
    <version>0.44.1</version> 
</dependency> 

我希望开发商也将提供优秀的文档除了出色的代码。

相关问题