From e831d823ee08caa3e8e5585c4aad4db664c45f16 Mon Sep 17 00:00:00 2001 From: Anshul Singhvi Date: Thu, 9 Jan 2025 00:02:49 -0100 Subject: [PATCH 1/4] Allow `reproject(obj, target_crs)` as well Just allows a different argument order so that Rasters and GO reproject definitions are compatible --- src/methods/reproject.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/methods/reproject.jl b/src/methods/reproject.jl index e18910bb..674ddb1d 100644 --- a/src/methods/reproject.jl +++ b/src/methods/reproject.jl @@ -21,6 +21,7 @@ are silently returned without modification. $CRS_KEYWORD """ reproject(x; crs::GeoFormat) = reproject(crs, x) +reproject(x, target::GeoFormat) = reproject(target, x) reproject(target::GeoFormat, x) = rebuild(x; dims=reproject(target, dims(x))) reproject(target::GeoFormat, dims::Tuple) = map(d -> reproject(target, d), dims) reproject(target::GeoFormat, l::Lookup) = l From eaa90a1142ca4b139978d63e64ab9aeb89f2c3db Mon Sep 17 00:00:00 2001 From: Anshul Singhvi Date: Thu, 9 Jan 2025 00:06:55 -0100 Subject: [PATCH 2/4] add test --- test/reproject.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/test/reproject.jl b/test/reproject.jl index 3bb337b6..2dfda2a5 100644 --- a/test/reproject.jl +++ b/test/reproject.jl @@ -24,6 +24,7 @@ using Rasters: reproject, convertlookup y = Y(Projected(-80.0:1.0:80.0; crs=EPSG(4326), dim=Y(), order=ReverseOrdered(), span=Regular(1.0), sampling=Intervals(Start()))) x1, y1 = reproject((x, y); crs=projcea) + @test reproject((x, y), projcea) == reproject(projcea, (x, y)) @test span(x1) isa Irregular @test span(y1) isa Irregular x2, y2 = reproject((x, y); crs=EPSG(4326)) From 17d6e19bdb518890625bb183e6e51f33eeec6603 Mon Sep 17 00:00:00 2001 From: Anshul Singhvi Date: Thu, 9 Jan 2025 14:10:35 -0100 Subject: [PATCH 3/4] Error message on 2 GeoFormats Co-authored-by: Felix Cremer --- src/methods/reproject.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/methods/reproject.jl b/src/methods/reproject.jl index 674ddb1d..86374f07 100644 --- a/src/methods/reproject.jl +++ b/src/methods/reproject.jl @@ -22,6 +22,7 @@ $CRS_KEYWORD """ reproject(x; crs::GeoFormat) = reproject(crs, x) reproject(x, target::GeoFormat) = reproject(target, x) +reproject(::GeoFormat, ::GeoFormat) = throw(ArgumentError("You need to provide a raster object to reproject. Got two coordinate reference systems.") reproject(target::GeoFormat, x) = rebuild(x; dims=reproject(target, dims(x))) reproject(target::GeoFormat, dims::Tuple) = map(d -> reproject(target, d), dims) reproject(target::GeoFormat, l::Lookup) = l From 6bcf2c305e64ce044a60b7ee9864f274ca5f54a6 Mon Sep 17 00:00:00 2001 From: Anshul Singhvi Date: Thu, 9 Jan 2025 15:23:46 -0100 Subject: [PATCH 4/4] Update src/methods/reproject.jl Co-authored-by: Felix Cremer --- src/methods/reproject.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/methods/reproject.jl b/src/methods/reproject.jl index 86374f07..9716048d 100644 --- a/src/methods/reproject.jl +++ b/src/methods/reproject.jl @@ -22,7 +22,7 @@ $CRS_KEYWORD """ reproject(x; crs::GeoFormat) = reproject(crs, x) reproject(x, target::GeoFormat) = reproject(target, x) -reproject(::GeoFormat, ::GeoFormat) = throw(ArgumentError("You need to provide a raster object to reproject. Got two coordinate reference systems.") +reproject(::GeoFormat, ::GeoFormat) = throw(ArgumentError("You need to provide a raster object to reproject. Got two coordinate reference systems.")) reproject(target::GeoFormat, x) = rebuild(x; dims=reproject(target, dims(x))) reproject(target::GeoFormat, dims::Tuple) = map(d -> reproject(target, d), dims) reproject(target::GeoFormat, l::Lookup) = l