Skip to content

Commit

Permalink
add range2box and unlist, improve par_map
Browse files Browse the repository at this point in the history
  • Loading branch information
kongdd committed Jan 27, 2024
1 parent 4100470 commit d27a17f
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 14 deletions.
2 changes: 1 addition & 1 deletion src/main_cdo.jl
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ function cdo_grid(x::AbstractVector, y::AbstractVector;
fout
end

function cdo_grid(range, cellsize, mid::Bool; fout="grid.txt", kw...)
function cdo_grid(range, cellsize, mid::Bool=true; fout="grid.txt", kw...)
delta = mid ? cellsize / 2 : 0
x = range[1]+delta:cellsize:range[2]
y = range[3]+delta:cellsize:range[4]
Expand Down
11 changes: 3 additions & 8 deletions src/match2.jl
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,7 @@ duplicated(x)
```
"""
function duplicated(x::Vector)
grps = table(x)
grps = filter(x -> x[2] > 1, grps)
grps = filter(x -> x[2] > 1, table(x))

n = length(x)
res = BitArray(undef, n)
Expand All @@ -56,12 +55,8 @@ function duplicated(x::Vector)
for i = 1:n
if x[i] == key
k = k + 1
if k >= 2
res[i] = true
end
if k == freq
break
end
k >= 2 && (res[i] = true)
k == freq && break
end
end
end
Expand Down
2 changes: 1 addition & 1 deletion src/par_mapslices.jl
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ function par_map(f, A, args...; parallel=true, progress=true, kw...)
r = f(x, args...; kw...)
res[i] = r
end
res
map(x -> x, res)
end


Expand Down
3 changes: 3 additions & 0 deletions src/r_base.jl
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
# function r_in(x::AbstractVector, y::AbstractVector)::BitVector
# indexin(x, y) .!== nothing
# end
unlist(xs::AbstractVector) = map(x -> x, xs)
self(x) = x

function r_in(x::AbstractVector, y::AbstractVector)::BitVector
res = falses(length(x))
Expand Down Expand Up @@ -102,3 +104,4 @@ LETTERS(I::AbstractVector{<:Integer}) = LETTERS.(I)

export r_in, r_in_low, r_chunk, r_map, r_split, r_summary
export letters, LETTERS
export unlist, self
2 changes: 2 additions & 0 deletions src/sf/bbox.jl
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ bbox2tuple(b::bbox) = (xmin=b.xmin, ymin=b.ymin, xmax=b.xmax, ymax=b.ymax)
bbox2vec(b::bbox) = [b.xmin, b.ymin, b.xmax, b.ymax]
bbox2lims(b::bbox) = ((b.xmin, b.xmax), (b.ymin, b.ymax))

range2bbox(r::AbstractVector) = bbox(r[1], r[3], r[2], r[4])

function bbox_overlap(b::bbox, box::bbox; size=nothing, cellsize=nothing, reverse_lat=true)
lon, lat = bbox2dims(b; size, cellsize, reverse_lat)
Lon, Lat = bbox2dims(box; size, cellsize, reverse_lat)
Expand Down
8 changes: 4 additions & 4 deletions src/sf/sf.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ module sf


using Ipaper: file_ext
export bbox,
in_bbox, bbox2lims,
export bbox, in_bbox, bbox_overlap
export bbox2lims,
bbox2cellsize,
bbox2range, bbox2vec,
bbox2dims, bbox2ndim,
bbox_overlap
bbox2dims, bbox2ndim
export range2bbox
export st_bbox, st_dims, st_cellsize


Expand Down

0 comments on commit d27a17f

Please sign in to comment.