This is an automated email from the ASF dual-hosted git repository.
bchapuis pushed a commit to branch simplify-geometries
in repository https://gitbox.apache.org/repos/asf/incubator-baremaps.git
The following commit(s) were added to refs/heads/simplify-geometries by this
push:
new dbf820cd Remove duplicated code
dbf820cd is described below
commit dbf820cdde383e0b45781184d732a885bda4a150
Author: Bertil Chapuis <[email protected]>
AuthorDate: Thu Feb 2 10:33:48 2023 +0100
Remove duplicated code
---
.../workflow/tasks/ImportOpenStreetMap.java | 39 +++++++++++-----------
1 file changed, 19 insertions(+), 20 deletions(-)
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOpenStreetMap.java
b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOpenStreetMap.java
index 28831523..a60f6ee2 100644
---
a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOpenStreetMap.java
+++
b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOpenStreetMap.java
@@ -12,11 +12,9 @@
package org.apache.baremaps.workflow.tasks;
-import static org.apache.baremaps.stream.ConsumerUtils.consumeThenReturn;
import static org.apache.baremaps.stream.StreamUtils.batch;
import java.io.IOException;
-import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -37,6 +35,7 @@ import org.apache.baremaps.openstreetmap.model.Node;
import org.apache.baremaps.openstreetmap.model.Relation;
import org.apache.baremaps.openstreetmap.model.Way;
import org.apache.baremaps.openstreetmap.pbf.PbfBlockReader;
+import org.apache.baremaps.stream.StreamUtils;
import org.apache.baremaps.workflow.Task;
import org.apache.baremaps.workflow.WorkflowContext;
import org.locationtech.jts.geom.Coordinate;
@@ -129,24 +128,24 @@ public record ImportOpenStreetMap(Path file, String
database, Integer databaseSr
Repository<Long, Way> wayRepository,
Repository<Long, Relation> relationRepository,
Integer databaseSrid) throws IOException {
- // Initialize and chain the entity handlers
- var coordinateMapBuilder = new CoordinateMapBuilder(coordinateMap);
- var referenceMapBuilder = new ReferenceMapBuilder(referenceMap);
- var entityGeometryBuilder = new EntityGeometryBuilder(coordinateMap,
referenceMap);
- var entityProjectionTransformer = new
EntityProjectionTransformer(4326, databaseSrid);
- var entityHandler = coordinateMapBuilder
- .andThen(referenceMapBuilder)
- .andThen(entityGeometryBuilder)
- .andThen(entityProjectionTransformer);
-
- // Initialize the block mapper
- var blockMapper = consumeThenReturn(new
BlockEntitiesHandler(entityHandler));
- var blockImporter =
- new BlockImporter(headerRepository, nodeRepository,
wayRepository, relationRepository);
-
- // Process the blocks
- try (InputStream inputStream = Files.newInputStream(path)) {
- batch(new
PbfBlockReader().stream(inputStream).map(blockMapper)).forEach(blockImporter);
+
+ // configure the block reader
+ var reader = new PbfBlockReader()
+ .geometries(true)
+ .projection(databaseSrid)
+ .coordinateMap(coordinateMap)
+ .referenceMap(referenceMap);
+
+ // configure the block importer
+ var importer = new BlockImporter(
+ headerRepository,
+ nodeRepository,
+ wayRepository,
+ relationRepository);
+
+ // Stream and process the blocks
+ try (var input = Files.newInputStream(path)) {
+ StreamUtils.batch(reader.stream(input)).forEach(importer);
}
}
}