public static void print(GeoGIG geogig, Console console, DiffSummary<BoundingBox, BoundingBox> diffBounds) throws IOException { BoundingBox left = diffBounds.getLeft(); BoundingBox right = diffBounds.getRight(); Optional<BoundingBox> mergedResult = diffBounds.getMergedResult(); BoundingBox both = new ReferencedEnvelope(); if (mergedResult.isPresent()) { both = mergedResult.get(); } Ansi ansi = AnsiDecorator.newAnsi(console.isAnsiSupported()); ansi.a("left: ").a(bounds(left)).newline(); ansi.a("right: ").a(bounds(right)).newline(); ansi.a("both: ").a(bounds(both)).newline(); ansi.a("CRS: ").a(CRS.toSRS(left.getCoordinateReferenceSystem())).newline(); console.print(ansi.toString()); }
public static void print(GeoGIG geogig, Console console, DiffSummary<BoundingBox, BoundingBox> diffBounds) throws IOException { BoundingBox left = diffBounds.getLeft(); BoundingBox right = diffBounds.getRight(); Optional<BoundingBox> mergedResult = diffBounds.getMergedResult(); BoundingBox both = new ReferencedEnvelope(); if (mergedResult.isPresent()) { both = mergedResult.get(); } Ansi ansi = AnsiDecorator.newAnsi(console.isAnsiSupported()); ansi.a("left: ").a(bounds(left)).newline(); ansi.a("right: ").a(bounds(right)).newline(); ansi.a("both: ").a(bounds(both)).newline(); ansi.a("CRS: ").a(CRS.toSRS(left.getCoordinateReferenceSystem())).newline(); console.print(ansi.toString()); }
private void testPathFiltering(String oldVersion, String newVersion, @Nullable BoundingBox expected, @Nullable String... pathFilters) { List<String> filter = ImmutableList.<String> copyOf(pathFilters); CoordinateReferenceSystem crs = DEFAULT_CRS; if (expected != null) { crs = expected.getCoordinateReferenceSystem(); } DiffSummary<BoundingBox, BoundingBox> result = geogig.command(DiffBounds.class)// .setOldVersion(oldVersion)// .setNewVersion(newVersion)// .setPathFilters(filter)// .setCRS(crs)// .call(); BoundingBox actual = result.getMergedResult().get(); if (null == expected) { assertTrue(actual.isEmpty()); } else { assertEquals(expected, actual); } }
public static void print(GeoGIG geogig, Console console, DiffSummary<BoundingBox, BoundingBox> diffBounds) throws IOException { BoundingBox left = diffBounds.getLeft(); BoundingBox right = diffBounds.getRight(); Optional<BoundingBox> mergedResult = diffBounds.getMergedResult(); BoundingBox both = new ReferencedEnvelope(); if (mergedResult.isPresent()) { both = mergedResult.get(); } Ansi ansi = AnsiDecorator.newAnsi(console.isAnsiSupported()); ansi.a("left: ").a(bounds(left)).newline(); ansi.a("right: ").a(bounds(right)).newline(); ansi.a("both: ").a(bounds(both)).newline(); ansi.a("CRS: ").a(CRS.toSRS(left.getCoordinateReferenceSystem())).newline(); console.print(ansi.toString()); }
private void testPathFiltering(String oldVersion, String newVersion, @Nullable BoundingBox expected, @Nullable String... pathFilters) { List<String> filter = ImmutableList.<String> copyOf(pathFilters); CoordinateReferenceSystem crs = DEFAULT_CRS; if (expected != null) { crs = expected.getCoordinateReferenceSystem(); } DiffSummary<BoundingBox, BoundingBox> result = geogig.command(DiffBounds.class)// .setOldVersion(oldVersion)// .setNewVersion(newVersion)// .setPathFilters(filter)// .setCRS(crs)// .call(); BoundingBox actual = result.getMergedResult().get(); if (null == expected) { assertTrue(actual.isEmpty()); } else { assertEquals(expected, actual); } }
@Test public void testReprojectToTargetCRS() throws Exception { DiffBounds cmd = geogig.command(DiffBounds.class).setOldVersion("HEAD^") .setNewVersion("HEAD"); DiffSummary<BoundingBox, BoundingBox> defaultCrs = cmd.call(); CoordinateReferenceSystem target = CRS.decode("EPSG:26986"); cmd.setCRS(target); DiffSummary<BoundingBox, BoundingBox> reprojected = cmd.call(); assertEquals(target, reprojected.getLeft().getCoordinateReferenceSystem()); assertEquals(target, reprojected.getRight().getCoordinateReferenceSystem()); assertEquals(target, reprojected.getMergedResult().get().getCoordinateReferenceSystem()); assertFalse(defaultCrs.getLeft().isEmpty()); assertFalse(defaultCrs.getRight().isEmpty()); assertFalse(defaultCrs.getMergedResult().get().isEmpty()); ReferencedEnvelope e = new ReferencedEnvelope(defaultCrs.getLeft()); ReferencedEnvelope expected = e.transform(target, true); assertEquals(expected, reprojected.getLeft()); }
@Test public void testDefaultCrs() { DiffSummary<BoundingBox, BoundingBox> diffBounds = geogig.command(DiffBounds.class) .setOldVersion("HEAD^").setNewVersion("HEAD").call(); assertEquals(DEFAULT_CRS, diffBounds.getLeft().getCoordinateReferenceSystem()); assertEquals(DEFAULT_CRS, diffBounds.getRight().getCoordinateReferenceSystem()); assertEquals(DEFAULT_CRS, diffBounds.getMergedResult().get().getCoordinateReferenceSystem()); }
@Test public void testDiffBetweenIdenticalTrees() { String oldRefSpec = "HEAD"; String newRefSpec = "HEAD"; DiffSummary<BoundingBox, BoundingBox> diffBounds = geogig.command(DiffBounds.class) .setOldVersion(oldRefSpec).setNewVersion(newRefSpec).call(); assertTrue(diffBounds.getLeft().isEmpty()); assertTrue(diffBounds.getRight().isEmpty()); assertTrue(diffBounds.getMergedResult().get().isEmpty()); }
@Test public void testDefaultCrs() { DiffSummary<BoundingBox, BoundingBox> diffBounds = geogig.command(DiffBounds.class) .setOldVersion("HEAD^").setNewVersion("HEAD").call(); assertEquals(DEFAULT_CRS, diffBounds.getLeft().getCoordinateReferenceSystem()); assertEquals(DEFAULT_CRS, diffBounds.getRight().getCoordinateReferenceSystem()); assertEquals(DEFAULT_CRS, diffBounds.getMergedResult().get().getCoordinateReferenceSystem()); }
@Test public void testReprojectToTargetCRS() throws Exception { DiffBounds cmd = geogig.command(DiffBounds.class).setOldVersion("HEAD^") .setNewVersion("HEAD"); DiffSummary<BoundingBox, BoundingBox> defaultCrs = cmd.call(); CoordinateReferenceSystem target = CRS.decode("EPSG:26986"); cmd.setCRS(target); DiffSummary<BoundingBox, BoundingBox> reprojected = cmd.call(); assertEquals(target, reprojected.getLeft().getCoordinateReferenceSystem()); assertEquals(target, reprojected.getRight().getCoordinateReferenceSystem()); assertEquals(target, reprojected.getMergedResult().get().getCoordinateReferenceSystem()); assertFalse(defaultCrs.getLeft().isEmpty()); assertFalse(defaultCrs.getRight().isEmpty()); assertFalse(defaultCrs.getMergedResult().get().isEmpty()); ReferencedEnvelope e = new ReferencedEnvelope(defaultCrs.getLeft()); ReferencedEnvelope expected = e.transform(target, true); assertEquals(expected, reprojected.getLeft()); }
@Test public void testDiffBetweenIdenticalTrees() { String oldRefSpec = "HEAD"; String newRefSpec = "HEAD"; DiffSummary<BoundingBox, BoundingBox> diffBounds = geogig.command(DiffBounds.class) .setOldVersion(oldRefSpec).setNewVersion(newRefSpec).call(); assertTrue(diffBounds.getLeft().isEmpty()); assertTrue(diffBounds.getRight().isEmpty()); assertTrue(diffBounds.getMergedResult().get().isEmpty()); }
@Test public void testDiffBetweenDifferentTrees() { String oldRefSpec = "HEAD~3"; String newRefSpec = "HEAD"; DiffSummary<BoundingBox, BoundingBox> diffBounds = geogig.command(DiffBounds.class) .setOldVersion(oldRefSpec).setNewVersion(newRefSpec) .setCRS(pointsType.getCoordinateReferenceSystem()).call(); BoundingBox bounds = diffBounds.getMergedResult().get(); assertEquals(1.0, bounds.getMinX(), 0.0); assertEquals(1.0, bounds.getMinY(), 0.0); assertEquals(10.0, bounds.getMaxX(), 0.0); assertEquals(220.0, bounds.getMaxY(), 0.0); }
@Test public void testDiffBetweenDifferentTrees() { String oldRefSpec = "HEAD~3"; String newRefSpec = "HEAD"; DiffSummary<BoundingBox, BoundingBox> diffBounds = geogig.command(DiffBounds.class) .setOldVersion(oldRefSpec).setNewVersion(newRefSpec) .setCRS(pointsType.getCoordinateReferenceSystem()).call(); BoundingBox bounds = diffBounds.getMergedResult().get(); assertEquals(1.0, bounds.getMinX(), 0.0); assertEquals(1.0, bounds.getMinY(), 0.0); assertEquals(10.0, bounds.getMaxX(), 0.0); assertEquals(220.0, bounds.getMaxY(), 0.0); }
@Test public void testReprojectToTargetBucketTree() throws Exception { final int leftCount = CanonicalNodeNameOrder.normalizedSizeLimit(0) * 2; final int rightCount = CanonicalNodeNameOrder.normalizedSizeLimit(0) * 3; WorkingTree workingTree = geogig.getRepository().workingTree(); final String typeName = "newpoints"; final DefaultProgressListener listener = new DefaultProgressListener(); workingTree.insert(new TestFeatureIterator(typeName, leftCount), listener); geogig.command(AddOp.class).call(); workingTree.insert(new TestFeatureIterator(typeName, rightCount), listener); {// sanity check long diffFeatures = geogig.command(DiffCount.class).setOldVersion("STAGE_HEAD") .setNewVersion("WORK_HEAD").call().featureCount(); assertEquals(rightCount - leftCount, diffFeatures); } DiffBounds cmd = geogig.command(DiffBounds.class).setOldVersion("STAGE_HEAD") .setNewVersion("WORK_HEAD"); final CoordinateReferenceSystem nativeCrs = CRS.decode("EPSG:3857"); final DiffSummary<BoundingBox, BoundingBox> diffInNativeCrs = cmd.setCRS(nativeCrs).call(); CoordinateReferenceSystem targetcrs = CRS.decode("EPSG:4326", true); cmd.setCRS(targetcrs); DiffSummary<BoundingBox, BoundingBox> reprojected = cmd.call(); assertEquals(targetcrs, reprojected.getLeft().getCoordinateReferenceSystem()); assertEquals(targetcrs, reprojected.getRight().getCoordinateReferenceSystem()); assertEquals(targetcrs, reprojected.getMergedResult().get().getCoordinateReferenceSystem()); ReferencedEnvelope e = new ReferencedEnvelope(diffInNativeCrs.getRight()); ReferencedEnvelope expected = e.transform(targetcrs, true); BoundingBox actual = reprojected.getRight(); assertEquals(expected, actual); }
@Test public void testReprojectToTargetBucketTree() throws Exception { final int leftCount = CanonicalNodeNameOrder.normalizedSizeLimit(0) * 2; final int rightCount = CanonicalNodeNameOrder.normalizedSizeLimit(0) * 3; WorkingTree workingTree = geogig.getRepository().workingTree(); final String typeName = "newpoints"; final DefaultProgressListener listener = new DefaultProgressListener(); workingTree.insert(new TestFeatureIterator(typeName, leftCount), listener); geogig.command(AddOp.class).call(); workingTree.insert(new TestFeatureIterator(typeName, rightCount), listener); {// sanity check long diffFeatures = geogig.command(DiffCount.class).setOldVersion("STAGE_HEAD") .setNewVersion("WORK_HEAD").call().featureCount(); assertEquals(rightCount - leftCount, diffFeatures); } DiffBounds cmd = geogig.command(DiffBounds.class).setOldVersion("STAGE_HEAD") .setNewVersion("WORK_HEAD"); final CoordinateReferenceSystem nativeCrs = CRS.decode("EPSG:3857"); final DiffSummary<BoundingBox, BoundingBox> diffInNativeCrs = cmd.setCRS(nativeCrs).call(); CoordinateReferenceSystem targetcrs = CRS.decode("EPSG:4326", true); cmd.setCRS(targetcrs); DiffSummary<BoundingBox, BoundingBox> reprojected = cmd.call(); assertEquals(targetcrs, reprojected.getLeft().getCoordinateReferenceSystem()); assertEquals(targetcrs, reprojected.getRight().getCoordinateReferenceSystem()); assertEquals(targetcrs, reprojected.getMergedResult().get().getCoordinateReferenceSystem()); ReferencedEnvelope e = new ReferencedEnvelope(diffInNativeCrs.getRight()); ReferencedEnvelope expected = e.transform(targetcrs, true); BoundingBox actual = reprojected.getRight(); assertEquals(expected, actual); }