我在maven 3存储库中找到了osmosis libs,我将其插入到项目的pom.xml中。
<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 - org.openstreetmap.osmosis.core.plugin.Core@0.43.0.1-49-gb18e1e9-dirty-SNAPSHOT
Okt 22, 2015 7:36:53 AM org.openstreetmap.osmosis.core.Osmosis run
INFORMATION: Preparing pipeline.
没有数据导入数据库。不幸的是,文档不存在,或者我找不到文档。
答案 0 :(得分: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>
我希望开发人员除了出色的代码之外还能提供出色的文档。