diff --git a/dev/404.html b/dev/404.html index f7a5d39b..11102bbc 100644 --- a/dev/404.html +++ b/dev/404.html @@ -8,14 +8,14 @@ - +
- + \ No newline at end of file diff --git a/dev/api/addreadrm.html b/dev/api/addreadrm.html index a8ace590..e10d8c03 100644 --- a/dev/api/addreadrm.html +++ b/dev/api/addreadrm.html @@ -8,40 +8,40 @@ - + - + - + -
Skip to content

API for Adding, Reading and Removing GeoRegions

GeoRegions.GeoRegion Method
julia
GeoRegion(
+    
Skip to content

API for Adding, Reading and Removing GeoRegions

GeoRegions.GeoRegion Method
julia
GeoRegion(
     ID :: AbstractString;
     path    :: AbstractString = homedir(),
     verbose :: Bool = false
-) -> geo :: GeoRegion

Extracts information of the GeoRegion with the ID ID. If no GeoRegion with this ID exists, an error is thrown.

Arguments

  • ID : The ID that will be used to identify the GeoRegion. If the ID is not valid (i.e. not being used), then an error will be thrown.

Keyword Arguments

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the user's home directory homedir().

  • verbose : Verbose logging for ease of monitoring? Default is false.

Returns

  • geo : A GeoRegion.

source

GeoRegions.add Function
julia
add(
+) -> geo :: GeoRegion

Extracts information of the GeoRegion with the ID ID. If no GeoRegion with this ID exists, an error is thrown.

Arguments

  • ID : The ID that will be used to identify the GeoRegion. If the ID is not valid (i.e. not being used), then an error will be thrown.

Keyword Arguments

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the user's home directory homedir().

  • verbose : Verbose logging for ease of monitoring? Default is false.

Returns

  • geo : A GeoRegion.

source

GeoRegions.add Function
julia
add(
     geo  :: GeoRegion;
     path :: AbstractString = dirname(geo.path),
     verbose :: Bool = false
-) -> nothing

Saves information on the GeoRegion geo to a directory specified by path.

Arguments

  • geo : The GeoRegion to be saved into the custom lists in path.

Keyword Arguments

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the local package variable geodir.

  • verbose : Verbose logging for ease of monitoring? Default is false.

source

GeoRegions.overwrite Function
julia
overwrite(
+) -> nothing

Saves information on the GeoRegion geo to a directory specified by path.

Arguments

  • geo : The GeoRegion to be saved into the custom lists in path.

Keyword Arguments

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the local package variable geodir.

  • verbose : Verbose logging for ease of monitoring? Default is false.

source

GeoRegions.overwrite Function
julia
overwrite(
     geo  :: GeoRegion;
     path :: AbstractString = dirname(geo.path),
     verbose :: Bool = false
-) -> nothing

Overwrites preexisting information associated with the ID geo.ID in path, with new information from the GeoRegion specified by geo.

Arguments

  • geo : The GeoRegion to be saved into the custom lists in path, overwriting any preexisting information associated with the ID geo.ID.

Keyword Arguments

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the local package variable geodir.

  • verbose : Verbose logging for ease of monitoring? Default is false.

source

Base.Filesystem.rm Function
julia
rm(
+) -> nothing

Overwrites preexisting information associated with the ID geo.ID in path, with new information from the GeoRegion specified by geo.

Arguments

  • geo : The GeoRegion to be saved into the custom lists in path, overwriting any preexisting information associated with the ID geo.ID.

Keyword Arguments

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the local package variable geodir.

  • verbose : Verbose logging for ease of monitoring? Default is false.

source

Base.Filesystem.rm Function
julia
rm(
     geo  :: GeoRegion;
     path :: AbstractString = geodir
-) -> nothing

Removes the GeoRegion geo from the custom lists specified in path. The GeoRegion must have exactly the same properties as the one in the custom list.

Arguments

  • geo : The GeoRegion to be removed from the custom lists in path.

Keyword Arguments

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the local package variable geodir.

source

GeoRegions.isID Function
julia
isID(
+) -> nothing

Removes the GeoRegion geo from the custom lists specified in path. The GeoRegion must have exactly the same properties as the one in the custom list.

Arguments

  • geo : The GeoRegion to be removed from the custom lists in path.

Keyword Arguments

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the local package variable geodir.

source

GeoRegions.isID Function
julia
isID(
     ID   :: AbstractString;
     path :: AbstractString = homedir(),
     throw   :: Bool = true,
     verbose :: Bool = false
-) -> tf :: Bool

Checks if there is a GeoRegion, that exists in the custom lists defined in path, with the ID ID.

Arguments

  • ID : The keyword ID that will be used to identify the GeoRegion. If the ID is not valid (i.e. not being used), then an error will be thrown.

Keyword Arguments

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the current directory pwd().

  • throw : If true, then throws an error if ID is not a valid GeoRegion identifier instead of returning the Boolean tf.

  • verbose : Verbose logging for ease of monitoring? Default is false.

Returns

  • tf : A true/false boolean.

source

GeoRegions.rmID Function
julia
rmID(
+) -> tf :: Bool

Checks if there is a GeoRegion, that exists in the custom lists defined in path, with the ID ID.

Arguments

  • ID : The keyword ID that will be used to identify the GeoRegion. If the ID is not valid (i.e. not being used), then an error will be thrown.

Keyword Arguments

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the current directory pwd().

  • throw : If true, then throws an error if ID is not a valid GeoRegion identifier instead of returning the Boolean tf.

  • verbose : Verbose logging for ease of monitoring? Default is false.

Returns

  • tf : A true/false boolean.

source

GeoRegions.rmID Function
julia
rmID(
     ID :: AbstractString;
     path :: AbstractString = geodir
-) -> nothing

Removes any GeoRegion associated with the ID ID. ID must be exact.

Arguments

  • ID : The keyword ID that will be used to identify the GeoRegion. If the ID is not valid (i.e. not being used), then an error will be thrown.

Keyword Arguments

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the home directory homedir().

source

- +) -> nothing

Removes any GeoRegion associated with the ID ID. ID must be exact.

Arguments

  • ID : The keyword ID that will be used to identify the GeoRegion. If the ID is not valid (i.e. not being used), then an error will be thrown.

Keyword Arguments

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the home directory homedir().

source

+ \ No newline at end of file diff --git a/dev/api/create.html b/dev/api/create.html index d55863d2..72bf92bf 100644 --- a/dev/api/create.html +++ b/dev/api/create.html @@ -8,16 +8,16 @@ - + - + - + -
Skip to content

API for Creating GeoRegions

GeoRegions.RectRegion Method
julia
RectRegion(
+    
Skip to content

API for Creating GeoRegions

GeoRegions.RectRegion Method
julia
RectRegion(
     ID    :: AbstractString,
     pID   :: AbstractString,
     name  :: AbstractString,
@@ -27,7 +27,7 @@
     verbose :: Bool = false,
     ST = String,
     FT = Float64
-) -> geo :: RectRegion{ST,FT}

Creates a rectilinear GeoRegion.

Arguments

  • ID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • pID : The ID of the parent GeoRegion where information can be extracted from.

  • name : A name for the GeoRegion (meta information, can be used in Logging).

  • bound : The [N,S,E,W] coordinates defining the region.

Keyword Arguments

  • save : If true, save the GeoRegion into the list of custom GeoRegions in the path specified by path.

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the user's home directory homedir().

  • verbose : Verbose logging for ease of monitoring? Default is false.

Returns

  • geo : A rectilinear GeoRegion.

source

GeoRegions.TiltRegion Method
julia
TiltRegion(
+) -> geo :: RectRegion{ST,FT}

Creates a rectilinear GeoRegion.

Arguments

  • ID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • pID : The ID of the parent GeoRegion where information can be extracted from.

  • name : A name for the GeoRegion (meta information, can be used in Logging).

  • bound : The [N,S,E,W] coordinates defining the region.

Keyword Arguments

  • save : If true, save the GeoRegion into the list of custom GeoRegions in the path specified by path.

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the user's home directory homedir().

  • verbose : Verbose logging for ease of monitoring? Default is false.

Returns

  • geo : A rectilinear GeoRegion.

source

GeoRegions.TiltRegion Method
julia
TiltRegion(
     ID   :: AbstractString,
     pID  :: AbstractString,
     name :: AbstractString,
@@ -41,7 +41,7 @@
     verbose :: Bool = false,
     ST = String,
     FT = Float64
-) -> geo :: TiltRegion{ST,FT}

Creates a tilted rectangular GeoRegion.

Arguments

  • ID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • pID : The ID of the parent GeoRegion where information can be extracted from.

  • name : A name for the GeoRegion (meta information, can be used in Logging).

  • X : Longitude coordinate of region centre.

  • Y : Latitude coordinate of region centre.

  • ΔX : Half-width in longitude coordinates (before tilting).

  • ΔY : Half-width in latitude coordinates (before tilting).

  • θ : Tilt of rectangular region in degrees.

Keyword Arguments

  • save : If true, save the GeoRegion into the list of custom GeoRegions in the path specified by path.

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the user's home directory homedir().

  • verbose : Verbose logging for ease of monitoring? Default is false.

Returns

  • geo : A tilted rectangular GeoRegion.

source

GeoRegions.PolyRegion Method
julia
PolyRegion(
+) -> geo :: TiltRegion{ST,FT}

Creates a tilted rectangular GeoRegion.

Arguments

  • ID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • pID : The ID of the parent GeoRegion where information can be extracted from.

  • name : A name for the GeoRegion (meta information, can be used in Logging).

  • X : Longitude coordinate of region centre.

  • Y : Latitude coordinate of region centre.

  • ΔX : Half-width in longitude coordinates (before tilting).

  • ΔY : Half-width in latitude coordinates (before tilting).

  • θ : Tilt of rectangular region in degrees.

Keyword Arguments

  • save : If true, save the GeoRegion into the list of custom GeoRegions in the path specified by path.

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the user's home directory homedir().

  • verbose : Verbose logging for ease of monitoring? Default is false.

Returns

  • geo : A tilted rectangular GeoRegion.

source

GeoRegions.PolyRegion Method
julia
PolyRegion(
     ID   :: AbstractString,
     pID  :: AbstractString,
     name :: AbstractString,
@@ -53,8 +53,8 @@
     verbose :: Bool = false,
     ST = String,
     FT = Float64
-) -> geo :: PolyRegion{ST,FT}

Creates a polygonal GeoRegion.

Arguments

  • ID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • pID : The ID of the parent GeoRegion where information can be extracted from.

  • name : A name for the GeoRegion (meta information, can be used in Logging).

  • lon : A vector containing the longitude points.

  • lat : A vector containing the latitude points.

Keyword Arguments

  • join : If true, if the first and last coordinate points do not match, append the first coordinate again to close the shape.

  • save : If true, save the GeoRegion into the list of custom GeoRegions in the path specified by path.

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the user's home directory homedir().

  • verbose : If true, verbose logging for ease of monitoring. Default is false.

Returns

  • geo : A polygonal GeoRegion.

source

- +) -> geo :: PolyRegion{ST,FT}

Creates a polygonal GeoRegion.

Arguments

  • ID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • pID : The ID of the parent GeoRegion where information can be extracted from.

  • name : A name for the GeoRegion (meta information, can be used in Logging).

  • lon : A vector containing the longitude points.

  • lat : A vector containing the latitude points.

Keyword Arguments

  • join : If true, if the first and last coordinate points do not match, append the first coordinate again to close the shape.

  • save : If true, save the GeoRegion into the list of custom GeoRegions in the path specified by path.

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the user's home directory homedir().

  • verbose : If true, verbose logging for ease of monitoring. Default is false.

Returns

  • geo : A polygonal GeoRegion.

source

+ \ No newline at end of file diff --git a/dev/api/isin.html b/dev/api/isin.html deleted file mode 100644 index f17d6685..00000000 --- a/dev/api/isin.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - API for Is it in/on a GeoRegion? | GeoRegions.jl - - - - - - - - - - - - - -
Skip to content

API for Is it in/on a GeoRegion?

Base.in Method
julia
in(
-    point  :: Point2{<:Real},
-    geo    :: GeoRegion;
-    throw  :: Bool = false
-) -> tf :: Bool

Check if a geographical point point is within a GeoRegion defined by geo.

Arguments

  • point : A geographical point of Type Point. Pass Point(plon,plat), where plon and plat are the longitude and latitudes of the point.

  • geo : The GeoRegion struct container.

Keyword Arguments

  • throw : If true, then if point is not within geo, an error is thrown and the program stops running.

Returns

  • tf : A true/false boolean.

source

Base.in Method
julia
in(
-    cgeo  :: GeoRegion,
-    geo   :: GeoRegion;
-    n     :: Int = 100,
-    throw :: Bool = false,
-    verbose :: Bool = false
-) -> tf :: Bool

Check if a child GeoRegion defined by cgeo is within another GeoRegion geo.

Arguments

  • cgeo : A GeoRegion that we postulate to be a "child", or a subset of the GeoRegion defined by geo.

  • geo : A GeoRegion that we postulate to be a "parent", or containing the GeoRegion defined by cgeo.

Keyword Arguments

  • n : The number of segments to split each of the GeoRegions into. Default is 100.

  • throw : If true, then if cgeo is not within geo, an error is thrown and the program stops running.

  • verbose : If true, print logs to screen.

Returns

  • tf : A true/false boolean.

source

GeoRegions.on Method
julia
on(
-    point :: Point2{<:Real},
-    geo   :: GeoRegion;
-    throw :: Bool = false
-) -> tf :: Bool

Check if a geographical point point is on the boundary of a shape of a GeoRegion defined by geo.

Arguments

  • point : A geographical point of Type Point. Pass Point(plon,plat), where plon and plat are the longitude and latitudes of the point.

  • geo : The GeoRegion struct container.

Keyword Arguments

  • throw : If true, then if point is not within geo, an error is thrown and the program stops running.

Returns

  • tf : A true/false boolean.

source

GeoRegions.on Method
julia
on(
-    geo1  :: GeoRegion,
-    geo2  :: GeoRegion;
-    n     :: Int = 100,
-    throw :: Bool = false,
-    verbose :: Bool = false
-) -> tf :: Bool

Check if the GeoRegions geo1 and geo2 have the same shape.

Arguments

  • geo1 : The first GeoRegion

  • geo2 : The second GeoRegion

Keyword Arguments

  • n : The number of segments to split each of the GeoRegions into. Default is 2.

  • throw : If true, then if cgeo is not within geo, an error is thrown and the program stops running.

  • verbose : If true, print logs to screen.

Returns

  • tf : A true/false boolean.

source

- - - - \ No newline at end of file diff --git a/dev/api/isinon.html b/dev/api/isinon.html new file mode 100644 index 00000000..addeef38 --- /dev/null +++ b/dev/api/isinon.html @@ -0,0 +1,44 @@ + + + + + + API for Is it in/on a GeoRegion? | GeoRegions.jl + + + + + + + + + + + + + +
Skip to content

API for Is it in/on a GeoRegion?

Base.in Method
julia
in(
+    point  :: Point2{<:Real},
+    geo    :: GeoRegion;
+    throw  :: Bool = false
+) -> tf :: Bool

Check if a geographical point point is within a GeoRegion defined by geo.

Arguments

  • point : A geographical point of Type Point. Pass Point(plon,plat), where plon and plat are the longitude and latitudes of the point.

  • geo : The GeoRegion struct container.

Keyword Arguments

  • throw : If true, then if point is not within geo, an error is thrown and the program stops running.

Returns

  • tf : A true/false boolean.

source

Base.in Method
julia
in(
+    cgeo  :: GeoRegion,
+    geo   :: GeoRegion;
+    n     :: Int = 100,
+    throw :: Bool = false,
+    verbose :: Bool = false
+) -> tf :: Bool

Check if a child GeoRegion defined by cgeo is within another GeoRegion geo.

Arguments

  • cgeo : A GeoRegion that we postulate to be a "child", or a subset of the GeoRegion defined by geo.

  • geo : A GeoRegion that we postulate to be a "parent", or containing the GeoRegion defined by cgeo.

Keyword Arguments

  • n : The number of segments to split each of the GeoRegions into. Default is 100.

  • throw : If true, then if cgeo is not within geo, an error is thrown and the program stops running.

  • verbose : If true, print logs to screen.

Returns

  • tf : A true/false boolean.

source

GeoRegions.on Method
julia
on(
+    point :: Point2{<:Real},
+    geo   :: GeoRegion;
+    throw :: Bool = false
+) -> tf :: Bool

Check if a geographical point point is on the boundary of a shape of a GeoRegion defined by geo.

Arguments

  • point : A geographical point of Type Point. Pass Point(plon,plat), where plon and plat are the longitude and latitudes of the point.

  • geo : The GeoRegion struct container.

Keyword Arguments

  • throw : If true, then if point is not within geo, an error is thrown and the program stops running.

Returns

  • tf : A true/false boolean.

source

GeoRegions.on Method
julia
on(
+    geo1  :: GeoRegion,
+    geo2  :: GeoRegion;
+    n     :: Int = 100,
+    throw :: Bool = false,
+    verbose :: Bool = false
+) -> tf :: Bool

Check if the GeoRegions geo1 and geo2 have the same shape.

Arguments

  • geo1 : The first GeoRegion

  • geo2 : The second GeoRegion

Keyword Arguments

  • n : The number of segments to split each of the GeoRegions into. Default is 2.

  • throw : If true, then if cgeo is not within geo, an error is thrown and the program stops running.

  • verbose : If true, print logs to screen.

Returns

  • tf : A true/false boolean.

source

+ + + + \ No newline at end of file diff --git a/dev/api/project.html b/dev/api/project.html index 15d6e439..103f9175 100644 --- a/dev/api/project.html +++ b/dev/api/project.html @@ -8,24 +8,24 @@ - + - + - + -
Skip to content

API for Project-Handling in GeoRegions.jl

GeoRegions.setupGeoRegions Function
julia
setupGeoRegions(;
+    
Skip to content

API for Project-Handling in GeoRegions.jl

GeoRegions.setupGeoRegions Function
julia
setupGeoRegions(;
     path :: AbstractString = pwd(),
     overwrite :: Bool = false
-) -> nothing

Setup the directory specified by path with files for custom GeoRegions. If overwrite = true, then any preexisting files are overwritten.

Keyword Arguments

  • path : The path where the template list of custom GeoRegions will be copied to. Defaults to the current working directory pwd().

  • overwrite : If template files exist in this folder, overwrite?

source

GeoRegions.deleteGeoRegions Function
julia
deleteGeoRegions(;
+) -> nothing

Setup the directory specified by path with files for custom GeoRegions. If overwrite = true, then any preexisting files are overwritten.

Keyword Arguments

  • path : The path where the template list of custom GeoRegions will be copied to. Defaults to the current working directory pwd().

  • overwrite : If template files exist in this folder, overwrite?

source

GeoRegions.deleteGeoRegions Function
julia
deleteGeoRegions(;
     path :: AbstractString = pwd()
-) -> nothing

Reset all the files containing GeoRegion information back to the default.

Keyword Arguments

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the current working directory pwd().

source

GeoRegions.tableGeoRegions Method
julia
tableGeoRegions(
+) -> nothing

Reset all the files containing GeoRegion information back to the default.

Keyword Arguments

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the current working directory pwd().

source

GeoRegions.tableGeoRegions Method
julia
tableGeoRegions(
     fname :: AbstractString
-) -> nothing

Display all available GeoRegions in tabular format listed in the file fname.

Arguments

  • fname : Specifies the name + path of the file containing GeoRegion information.

source

- +) -> nothing

Display all available GeoRegions in tabular format listed in the file fname.

Arguments

  • fname : Specifies the name + path of the file containing GeoRegion information.

source

+ \ No newline at end of file diff --git a/dev/api/properties.html b/dev/api/properties.html index 6ce32711..11affd4c 100644 --- a/dev/api/properties.html +++ b/dev/api/properties.html @@ -8,20 +8,20 @@ - + - + - + -
Skip to content

API for Different GeoRegion Properties

GeoRegions.coordinates Function
julia
coordinates(
+    
Skip to content

API for Different GeoRegion Properties

GeoRegions.coordinates Function
julia
coordinates(
     geo :: GeoRegion;
     n :: Int = 1
-) -> lon :: Vector{<:Real}, lat :: Vector{<:Real}

For a given GeoRegion, create longitude and latitude vectors of the shape.

Arguments

  • geo : A GeoRegion.

  • n : The number of segments on each side of the shape.

Returns

  • lon : A vector of longitude points for the shape of the GeoRegion.

  • lat : A vector of latitude points for the shape of the GeoRegion.

source

- +) -> lon :: Vector{<:Real}, lat :: Vector{<:Real}

For a given GeoRegion, create longitude and latitude vectors of the shape.

Arguments

  • geo : A GeoRegion.

  • n : The number of segments on each side of the shape.

Returns

  • lon : A vector of longitude points for the shape of the GeoRegion.

  • lat : A vector of latitude points for the shape of the GeoRegion.

source

+ \ No newline at end of file diff --git a/dev/api/tables.html b/dev/api/tables.html index d06b3542..4284a9ed 100644 --- a/dev/api/tables.html +++ b/dev/api/tables.html @@ -8,34 +8,34 @@ - + - + - + -
Skip to content

API for Tables in GeoRegions.jl

GeoRegions.tableGeoRegions Method
julia
tableGeoRegions(;
+    
Skip to content

API for Tables in GeoRegions.jl

GeoRegions.tableGeoRegions Method
julia
tableGeoRegions(;
     path :: AbstractString = homedir(),
     predefined :: Bool = true,
     custom     :: Bool = true,
     warn :: Bool = true,
     crop :: Bool = false
-) -> nothing

Display all available GeoRegions in tabular format.

Keyword Arguments

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the user's home directory homedir().

  • predefined : If true, predefined Giorgi, SREX and IPPC AR6 list of GeoRegions will be displayed.

  • custom : If true, custom, user-defined list of GeoRegions will be displayed.

  • warn : If true, display warnings if custom files do not exist.

  • crop : If true, will crop the vertical extent of the table, default is false.

source

GeoRegions.tableRectRegions Function
julia
tableRectRegions(;
+) -> nothing

Display all available GeoRegions in tabular format.

Keyword Arguments

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the user's home directory homedir().

  • predefined : If true, predefined Giorgi, SREX and IPPC AR6 list of GeoRegions will be displayed.

  • custom : If true, custom, user-defined list of GeoRegions will be displayed.

  • warn : If true, display warnings if custom files do not exist.

  • crop : If true, will crop the vertical extent of the table, default is false.

source

GeoRegions.tableRectRegions Function
julia
tableRectRegions(;
     path :: AbstractString = homedir(),
     custom :: Bool = true,
     giorgi :: Bool = false
-) -> nothing

Display all available RectRegions in tabular format.

Keyword Arguments

  • path : The path where the list of custom RectRegions will be retrieved from. Defaults to the user's home directory homedir().

  • custom : If true, display custom user-defined RectRegions. Default is true.

  • giorgi : If true, display GF predefined RectRegions. Default is true.

source

GeoRegions.tableTiltRegions Function
julia
tableTiltRegions(;
+) -> nothing

Display all available RectRegions in tabular format.

Keyword Arguments

  • path : The path where the list of custom RectRegions will be retrieved from. Defaults to the user's home directory homedir().

  • custom : If true, display custom user-defined RectRegions. Default is true.

  • giorgi : If true, display GF predefined RectRegions. Default is true.

source

GeoRegions.tableTiltRegions Function
julia
tableTiltRegions(;
     path :: AbstractString = homedir()
-) -> nothing

Display all available TiltRegions in tabular format.

Keyword Arguments

  • path : The path where the list of custom TiltRegions will be retrieved from. Defaults to the user's home directory homedir().

source

GeoRegions.tablePolyRegions Function
julia
tablePolyRegions(;
+) -> nothing

Display all available TiltRegions in tabular format.

Keyword Arguments

  • path : The path where the list of custom TiltRegions will be retrieved from. Defaults to the user's home directory homedir().

source

GeoRegions.tablePolyRegions Function
julia
tablePolyRegions(;
     path :: AbstractString = homedir(),
     custom :: Bool = true,
     srex :: Bool = false,
     ar6  :: Bool = false
-) -> nothing

Display all available PolyRegions in tabular format.

Keyword Arguments

  • path : The path where the list of custom PolyRegions will be retrieved from. Defaults to the user's home directory homedir().

  • custom : If true, display custom user-defined PolyRegions. Default is true.

  • srex : If true, display SREX predefined PolyRegions. Default is true.

  • ar6 : If true, display IPCC AR6 predefined PolyRegions. Default is true.

source

- +) -> nothing

Display all available PolyRegions in tabular format.

Keyword Arguments

  • path : The path where the list of custom PolyRegions will be retrieved from. Defaults to the user's home directory homedir().

  • custom : If true, display custom user-defined PolyRegions. Default is true.

  • srex : If true, display SREX predefined PolyRegions. Default is true.

  • ar6 : If true, display IPCC AR6 predefined PolyRegions. Default is true.

source

+ \ No newline at end of file diff --git a/dev/assets/api_addreadrm.md.DnuYhvQX.js b/dev/assets/api_addreadrm.md.DBoi6M4T.js similarity index 96% rename from dev/assets/api_addreadrm.md.DnuYhvQX.js rename to dev/assets/api_addreadrm.md.DBoi6M4T.js index 9548b2d0..f9ecaedd 100644 --- a/dev/assets/api_addreadrm.md.DnuYhvQX.js +++ b/dev/assets/api_addreadrm.md.DBoi6M4T.js @@ -2,23 +2,23 @@ import{_ as o,c as l,j as i,a as e,G as t,a4 as n,B as h,o as p}from"./chunks/fr ID :: AbstractString; path :: AbstractString = homedir(), verbose :: Bool = false -) -> geo :: GeoRegion

Extracts information of the GeoRegion with the ID ID. If no GeoRegion with this ID exists, an error is thrown.

Arguments

Keyword Arguments

Returns

source

`,9))]),i("details",k,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeoRegions.add",href:"#GeoRegions.add"},[i("span",{class:"jlbinding"},"GeoRegions.add")],-1)),s[4]||(s[4]=e()),t(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=n(`
julia
add(
+) -> geo :: GeoRegion

Extracts information of the GeoRegion with the ID ID. If no GeoRegion with this ID exists, an error is thrown.

Arguments

Keyword Arguments

Returns

source

`,9))]),i("details",k,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeoRegions.add",href:"#GeoRegions.add"},[i("span",{class:"jlbinding"},"GeoRegions.add")],-1)),s[4]||(s[4]=e()),t(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=n(`
julia
add(
     geo  :: GeoRegion;
     path :: AbstractString = dirname(geo.path),
     verbose :: Bool = false
-) -> nothing

Saves information on the GeoRegion geo to a directory specified by path.

Arguments

Keyword Arguments

source

`,7))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeoRegions.overwrite",href:"#GeoRegions.overwrite"},[i("span",{class:"jlbinding"},"GeoRegions.overwrite")],-1)),s[7]||(s[7]=e()),t(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[8]||(s[8]=n(`
julia
overwrite(
+) -> nothing

Saves information on the GeoRegion geo to a directory specified by path.

Arguments

Keyword Arguments

source

`,7))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeoRegions.overwrite",href:"#GeoRegions.overwrite"},[i("span",{class:"jlbinding"},"GeoRegions.overwrite")],-1)),s[7]||(s[7]=e()),t(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[8]||(s[8]=n(`
julia
overwrite(
     geo  :: GeoRegion;
     path :: AbstractString = dirname(geo.path),
     verbose :: Bool = false
-) -> nothing

Overwrites preexisting information associated with the ID geo.ID in path, with new information from the GeoRegion specified by geo.

Arguments

Keyword Arguments

source

`,7))]),i("details",c,[i("summary",null,[s[9]||(s[9]=i("a",{id:"Base.Filesystem.rm",href:"#Base.Filesystem.rm"},[i("span",{class:"jlbinding"},"Base.Filesystem.rm")],-1)),s[10]||(s[10]=e()),t(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=n(`
julia
rm(
+) -> nothing

Overwrites preexisting information associated with the ID geo.ID in path, with new information from the GeoRegion specified by geo.

Arguments

Keyword Arguments

source

`,7))]),i("details",c,[i("summary",null,[s[9]||(s[9]=i("a",{id:"Base.Filesystem.rm",href:"#Base.Filesystem.rm"},[i("span",{class:"jlbinding"},"Base.Filesystem.rm")],-1)),s[10]||(s[10]=e()),t(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=n(`
julia
rm(
     geo  :: GeoRegion;
     path :: AbstractString = geodir
-) -> nothing

Removes the GeoRegion geo from the custom lists specified in path. The GeoRegion must have exactly the same properties as the one in the custom list.

Arguments

Keyword Arguments

source

`,7))]),i("details",E,[i("summary",null,[s[12]||(s[12]=i("a",{id:"GeoRegions.isID",href:"#GeoRegions.isID"},[i("span",{class:"jlbinding"},"GeoRegions.isID")],-1)),s[13]||(s[13]=e()),t(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[14]||(s[14]=n(`
julia
isID(
+) -> nothing

Removes the GeoRegion geo from the custom lists specified in path. The GeoRegion must have exactly the same properties as the one in the custom list.

Arguments

Keyword Arguments

source

`,7))]),i("details",E,[i("summary",null,[s[12]||(s[12]=i("a",{id:"GeoRegions.isID",href:"#GeoRegions.isID"},[i("span",{class:"jlbinding"},"GeoRegions.isID")],-1)),s[13]||(s[13]=e()),t(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[14]||(s[14]=n(`
julia
isID(
     ID   :: AbstractString;
     path :: AbstractString = homedir(),
     throw   :: Bool = true,
     verbose :: Bool = false
-) -> tf :: Bool

Checks if there is a GeoRegion, that exists in the custom lists defined in path, with the ID ID.

Arguments

Keyword Arguments

Returns

source

`,9))]),i("details",y,[i("summary",null,[s[15]||(s[15]=i("a",{id:"GeoRegions.rmID",href:"#GeoRegions.rmID"},[i("span",{class:"jlbinding"},"GeoRegions.rmID")],-1)),s[16]||(s[16]=e()),t(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[17]||(s[17]=n(`
julia
rmID(
+) -> tf :: Bool

Checks if there is a GeoRegion, that exists in the custom lists defined in path, with the ID ID.

Arguments

Keyword Arguments

Returns

source

`,9))]),i("details",y,[i("summary",null,[s[15]||(s[15]=i("a",{id:"GeoRegions.rmID",href:"#GeoRegions.rmID"},[i("span",{class:"jlbinding"},"GeoRegions.rmID")],-1)),s[16]||(s[16]=e()),t(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[17]||(s[17]=n(`
julia
rmID(
     ID :: AbstractString;
     path :: AbstractString = geodir
-) -> nothing

Removes any GeoRegion associated with the ID ID. ID must be exact.

Arguments

Keyword Arguments

source

`,7))])])}const v=o(r,[["render",u]]);export{R as __pageData,v as default}; +) -> nothing

Removes any GeoRegion associated with the ID ID. ID must be exact.

Arguments

Keyword Arguments

source

`,7))])])}const v=o(r,[["render",u]]);export{R as __pageData,v as default}; diff --git a/dev/assets/api_addreadrm.md.DnuYhvQX.lean.js b/dev/assets/api_addreadrm.md.DBoi6M4T.lean.js similarity index 96% rename from dev/assets/api_addreadrm.md.DnuYhvQX.lean.js rename to dev/assets/api_addreadrm.md.DBoi6M4T.lean.js index 9548b2d0..f9ecaedd 100644 --- a/dev/assets/api_addreadrm.md.DnuYhvQX.lean.js +++ b/dev/assets/api_addreadrm.md.DBoi6M4T.lean.js @@ -2,23 +2,23 @@ import{_ as o,c as l,j as i,a as e,G as t,a4 as n,B as h,o as p}from"./chunks/fr ID :: AbstractString; path :: AbstractString = homedir(), verbose :: Bool = false -) -> geo :: GeoRegion

Extracts information of the GeoRegion with the ID ID. If no GeoRegion with this ID exists, an error is thrown.

Arguments

Keyword Arguments

Returns

source

`,9))]),i("details",k,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeoRegions.add",href:"#GeoRegions.add"},[i("span",{class:"jlbinding"},"GeoRegions.add")],-1)),s[4]||(s[4]=e()),t(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=n(`
julia
add(
+) -> geo :: GeoRegion

Extracts information of the GeoRegion with the ID ID. If no GeoRegion with this ID exists, an error is thrown.

Arguments

Keyword Arguments

Returns

source

`,9))]),i("details",k,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeoRegions.add",href:"#GeoRegions.add"},[i("span",{class:"jlbinding"},"GeoRegions.add")],-1)),s[4]||(s[4]=e()),t(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=n(`
julia
add(
     geo  :: GeoRegion;
     path :: AbstractString = dirname(geo.path),
     verbose :: Bool = false
-) -> nothing

Saves information on the GeoRegion geo to a directory specified by path.

Arguments

Keyword Arguments

source

`,7))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeoRegions.overwrite",href:"#GeoRegions.overwrite"},[i("span",{class:"jlbinding"},"GeoRegions.overwrite")],-1)),s[7]||(s[7]=e()),t(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[8]||(s[8]=n(`
julia
overwrite(
+) -> nothing

Saves information on the GeoRegion geo to a directory specified by path.

Arguments

Keyword Arguments

source

`,7))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeoRegions.overwrite",href:"#GeoRegions.overwrite"},[i("span",{class:"jlbinding"},"GeoRegions.overwrite")],-1)),s[7]||(s[7]=e()),t(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[8]||(s[8]=n(`
julia
overwrite(
     geo  :: GeoRegion;
     path :: AbstractString = dirname(geo.path),
     verbose :: Bool = false
-) -> nothing

Overwrites preexisting information associated with the ID geo.ID in path, with new information from the GeoRegion specified by geo.

Arguments

Keyword Arguments

source

`,7))]),i("details",c,[i("summary",null,[s[9]||(s[9]=i("a",{id:"Base.Filesystem.rm",href:"#Base.Filesystem.rm"},[i("span",{class:"jlbinding"},"Base.Filesystem.rm")],-1)),s[10]||(s[10]=e()),t(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=n(`
julia
rm(
+) -> nothing

Overwrites preexisting information associated with the ID geo.ID in path, with new information from the GeoRegion specified by geo.

Arguments

Keyword Arguments

source

`,7))]),i("details",c,[i("summary",null,[s[9]||(s[9]=i("a",{id:"Base.Filesystem.rm",href:"#Base.Filesystem.rm"},[i("span",{class:"jlbinding"},"Base.Filesystem.rm")],-1)),s[10]||(s[10]=e()),t(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=n(`
julia
rm(
     geo  :: GeoRegion;
     path :: AbstractString = geodir
-) -> nothing

Removes the GeoRegion geo from the custom lists specified in path. The GeoRegion must have exactly the same properties as the one in the custom list.

Arguments

Keyword Arguments

source

`,7))]),i("details",E,[i("summary",null,[s[12]||(s[12]=i("a",{id:"GeoRegions.isID",href:"#GeoRegions.isID"},[i("span",{class:"jlbinding"},"GeoRegions.isID")],-1)),s[13]||(s[13]=e()),t(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[14]||(s[14]=n(`
julia
isID(
+) -> nothing

Removes the GeoRegion geo from the custom lists specified in path. The GeoRegion must have exactly the same properties as the one in the custom list.

Arguments

Keyword Arguments

source

`,7))]),i("details",E,[i("summary",null,[s[12]||(s[12]=i("a",{id:"GeoRegions.isID",href:"#GeoRegions.isID"},[i("span",{class:"jlbinding"},"GeoRegions.isID")],-1)),s[13]||(s[13]=e()),t(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[14]||(s[14]=n(`
julia
isID(
     ID   :: AbstractString;
     path :: AbstractString = homedir(),
     throw   :: Bool = true,
     verbose :: Bool = false
-) -> tf :: Bool

Checks if there is a GeoRegion, that exists in the custom lists defined in path, with the ID ID.

Arguments

Keyword Arguments

Returns

source

`,9))]),i("details",y,[i("summary",null,[s[15]||(s[15]=i("a",{id:"GeoRegions.rmID",href:"#GeoRegions.rmID"},[i("span",{class:"jlbinding"},"GeoRegions.rmID")],-1)),s[16]||(s[16]=e()),t(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[17]||(s[17]=n(`
julia
rmID(
+) -> tf :: Bool

Checks if there is a GeoRegion, that exists in the custom lists defined in path, with the ID ID.

Arguments

Keyword Arguments

Returns

source

`,9))]),i("details",y,[i("summary",null,[s[15]||(s[15]=i("a",{id:"GeoRegions.rmID",href:"#GeoRegions.rmID"},[i("span",{class:"jlbinding"},"GeoRegions.rmID")],-1)),s[16]||(s[16]=e()),t(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[17]||(s[17]=n(`
julia
rmID(
     ID :: AbstractString;
     path :: AbstractString = geodir
-) -> nothing

Removes any GeoRegion associated with the ID ID. ID must be exact.

Arguments

Keyword Arguments

source

`,7))])])}const v=o(r,[["render",u]]);export{R as __pageData,v as default}; +) -> nothing

Removes any GeoRegion associated with the ID ID. ID must be exact.

Arguments

Keyword Arguments

source

`,7))])])}const v=o(r,[["render",u]]);export{R as __pageData,v as default}; diff --git a/dev/assets/api_create.md.a08f40ab.lean.js b/dev/assets/api_create.md.DwJ4cBlF.js similarity index 97% rename from dev/assets/api_create.md.a08f40ab.lean.js rename to dev/assets/api_create.md.DwJ4cBlF.js index 37324227..5cd24625 100644 --- a/dev/assets/api_create.md.a08f40ab.lean.js +++ b/dev/assets/api_create.md.DwJ4cBlF.js @@ -1,4 +1,4 @@ -import{_ as l,c as h,j as i,a,G as n,a4 as t,B as p,o as k}from"./chunks/framework.CEeYBNx8.js";const C=JSON.parse('{"title":"API for Creating GeoRegions","description":"","frontmatter":{},"headers":[],"relativePath":"api/create.md","filePath":"api/create.md","lastUpdated":null}'),o={name:"api/create.md"},r={class:"jldocstring custom-block",open:""},d={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""};function E(c,s,y,F,u,b){const e=p("Badge");return k(),h("div",null,[s[9]||(s[9]=i("h1",{id:"API-for-Creating-GeoRegions",tabindex:"-1"},[a("API for Creating GeoRegions "),i("a",{class:"header-anchor",href:"#API-for-Creating-GeoRegions","aria-label":'Permalink to "API for Creating GeoRegions {#API-for-Creating-GeoRegions}"'},"​")],-1)),i("details",r,[i("summary",null,[s[0]||(s[0]=i("a",{id:"GeoRegions.RectRegion-Tuple{AbstractString, AbstractString, AbstractString, Vector{<:Real}}",href:"#GeoRegions.RectRegion-Tuple{AbstractString, AbstractString, AbstractString, Vector{<:Real}}"},[i("span",{class:"jlbinding"},"GeoRegions.RectRegion")],-1)),s[1]||(s[1]=a()),n(e,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[2]||(s[2]=t(`
julia
RectRegion(
+import{_ as l,c as h,j as i,a,G as n,a4 as t,B as p,o as k}from"./chunks/framework.CEeYBNx8.js";const C=JSON.parse('{"title":"API for Creating GeoRegions","description":"","frontmatter":{},"headers":[],"relativePath":"api/create.md","filePath":"api/create.md","lastUpdated":null}'),o={name:"api/create.md"},r={class:"jldocstring custom-block",open:""},d={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""};function E(c,s,y,F,u,f){const e=p("Badge");return k(),h("div",null,[s[9]||(s[9]=i("h1",{id:"API-for-Creating-GeoRegions",tabindex:"-1"},[a("API for Creating GeoRegions "),i("a",{class:"header-anchor",href:"#API-for-Creating-GeoRegions","aria-label":'Permalink to "API for Creating GeoRegions {#API-for-Creating-GeoRegions}"'},"​")],-1)),i("details",r,[i("summary",null,[s[0]||(s[0]=i("a",{id:"GeoRegions.RectRegion-Tuple{AbstractString, AbstractString, AbstractString, Vector{<:Real}}",href:"#GeoRegions.RectRegion-Tuple{AbstractString, AbstractString, AbstractString, Vector{<:Real}}"},[i("span",{class:"jlbinding"},"GeoRegions.RectRegion")],-1)),s[1]||(s[1]=a()),n(e,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[2]||(s[2]=t(`
julia
RectRegion(
     ID    :: AbstractString,
     pID   :: AbstractString,
     name  :: AbstractString,
@@ -8,7 +8,7 @@ import{_ as l,c as h,j as i,a,G as n,a4 as t,B as p,o as k}from"./chunks/framewo
     verbose :: Bool = false,
     ST = String,
     FT = Float64
-) -> geo :: RectRegion{ST,FT}

Creates a rectilinear GeoRegion.

Arguments

  • ID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • pID : The ID of the parent GeoRegion where information can be extracted from.

  • name : A name for the GeoRegion (meta information, can be used in Logging).

  • bound : The [N,S,E,W] coordinates defining the region.

Keyword Arguments

  • save : If true, save the GeoRegion into the list of custom GeoRegions in the path specified by path.

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the user's home directory homedir().

  • verbose : Verbose logging for ease of monitoring? Default is false.

Returns

  • geo : A rectilinear GeoRegion.

source

`,9))]),i("details",d,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeoRegions.TiltRegion-Tuple{AbstractString, AbstractString, AbstractString, Vararg{Real, 5}}",href:"#GeoRegions.TiltRegion-Tuple{AbstractString, AbstractString, AbstractString, Vararg{Real, 5}}"},[i("span",{class:"jlbinding"},"GeoRegions.TiltRegion")],-1)),s[4]||(s[4]=a()),n(e,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[5]||(s[5]=t(`
julia
TiltRegion(
+) -> geo :: RectRegion{ST,FT}

Creates a rectilinear GeoRegion.

Arguments

  • ID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • pID : The ID of the parent GeoRegion where information can be extracted from.

  • name : A name for the GeoRegion (meta information, can be used in Logging).

  • bound : The [N,S,E,W] coordinates defining the region.

Keyword Arguments

  • save : If true, save the GeoRegion into the list of custom GeoRegions in the path specified by path.

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the user's home directory homedir().

  • verbose : Verbose logging for ease of monitoring? Default is false.

Returns

  • geo : A rectilinear GeoRegion.

source

`,9))]),i("details",d,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeoRegions.TiltRegion-Tuple{AbstractString, AbstractString, AbstractString, Vararg{Real, 5}}",href:"#GeoRegions.TiltRegion-Tuple{AbstractString, AbstractString, AbstractString, Vararg{Real, 5}}"},[i("span",{class:"jlbinding"},"GeoRegions.TiltRegion")],-1)),s[4]||(s[4]=a()),n(e,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[5]||(s[5]=t(`
julia
TiltRegion(
     ID   :: AbstractString,
     pID  :: AbstractString,
     name :: AbstractString,
@@ -22,7 +22,7 @@ import{_ as l,c as h,j as i,a,G as n,a4 as t,B as p,o as k}from"./chunks/framewo
     verbose :: Bool = false,
     ST = String,
     FT = Float64
-) -> geo :: TiltRegion{ST,FT}

Creates a tilted rectangular GeoRegion.

Arguments

  • ID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • pID : The ID of the parent GeoRegion where information can be extracted from.

  • name : A name for the GeoRegion (meta information, can be used in Logging).

  • X : Longitude coordinate of region centre.

  • Y : Latitude coordinate of region centre.

  • ΔX : Half-width in longitude coordinates (before tilting).

  • ΔY : Half-width in latitude coordinates (before tilting).

  • θ : Tilt of rectangular region in degrees.

Keyword Arguments

  • save : If true, save the GeoRegion into the list of custom GeoRegions in the path specified by path.

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the user's home directory homedir().

  • verbose : Verbose logging for ease of monitoring? Default is false.

Returns

  • geo : A tilted rectangular GeoRegion.

source

`,9))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeoRegions.PolyRegion-Tuple{AbstractString, AbstractString, AbstractString, Vector{<:Real}, Vector{<:Real}}",href:"#GeoRegions.PolyRegion-Tuple{AbstractString, AbstractString, AbstractString, Vector{<:Real}, Vector{<:Real}}"},[i("span",{class:"jlbinding"},"GeoRegions.PolyRegion")],-1)),s[7]||(s[7]=a()),n(e,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=t(`
julia
PolyRegion(
+) -> geo :: TiltRegion{ST,FT}

Creates a tilted rectangular GeoRegion.

Arguments

  • ID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • pID : The ID of the parent GeoRegion where information can be extracted from.

  • name : A name for the GeoRegion (meta information, can be used in Logging).

  • X : Longitude coordinate of region centre.

  • Y : Latitude coordinate of region centre.

  • ΔX : Half-width in longitude coordinates (before tilting).

  • ΔY : Half-width in latitude coordinates (before tilting).

  • θ : Tilt of rectangular region in degrees.

Keyword Arguments

  • save : If true, save the GeoRegion into the list of custom GeoRegions in the path specified by path.

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the user's home directory homedir().

  • verbose : Verbose logging for ease of monitoring? Default is false.

Returns

  • geo : A tilted rectangular GeoRegion.

source

`,9))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeoRegions.PolyRegion-Tuple{AbstractString, AbstractString, AbstractString, Vector{<:Real}, Vector{<:Real}}",href:"#GeoRegions.PolyRegion-Tuple{AbstractString, AbstractString, AbstractString, Vector{<:Real}, Vector{<:Real}}"},[i("span",{class:"jlbinding"},"GeoRegions.PolyRegion")],-1)),s[7]||(s[7]=a()),n(e,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=t(`
julia
PolyRegion(
     ID   :: AbstractString,
     pID  :: AbstractString,
     name :: AbstractString,
@@ -34,4 +34,4 @@ import{_ as l,c as h,j as i,a,G as n,a4 as t,B as p,o as k}from"./chunks/framewo
     verbose :: Bool = false,
     ST = String,
     FT = Float64
-) -> geo :: PolyRegion{ST,FT}

Creates a polygonal GeoRegion.

Arguments

  • ID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • pID : The ID of the parent GeoRegion where information can be extracted from.

  • name : A name for the GeoRegion (meta information, can be used in Logging).

  • lon : A vector containing the longitude points.

  • lat : A vector containing the latitude points.

Keyword Arguments

  • join : If true, if the first and last coordinate points do not match, append the first coordinate again to close the shape.

  • save : If true, save the GeoRegion into the list of custom GeoRegions in the path specified by path.

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the user's home directory homedir().

  • verbose : If true, verbose logging for ease of monitoring. Default is false.

Returns

  • geo : A polygonal GeoRegion.

source

`,9))])])}const A=l(o,[["render",E]]);export{C as __pageData,A as default}; +) -> geo :: PolyRegion{ST,FT}

Creates a polygonal GeoRegion.

Arguments

Keyword Arguments

Returns

source

`,9))])])}const A=l(o,[["render",E]]);export{C as __pageData,A as default}; diff --git a/dev/assets/api_create.md.a08f40ab.js b/dev/assets/api_create.md.DwJ4cBlF.lean.js similarity index 97% rename from dev/assets/api_create.md.a08f40ab.js rename to dev/assets/api_create.md.DwJ4cBlF.lean.js index 37324227..5cd24625 100644 --- a/dev/assets/api_create.md.a08f40ab.js +++ b/dev/assets/api_create.md.DwJ4cBlF.lean.js @@ -1,4 +1,4 @@ -import{_ as l,c as h,j as i,a,G as n,a4 as t,B as p,o as k}from"./chunks/framework.CEeYBNx8.js";const C=JSON.parse('{"title":"API for Creating GeoRegions","description":"","frontmatter":{},"headers":[],"relativePath":"api/create.md","filePath":"api/create.md","lastUpdated":null}'),o={name:"api/create.md"},r={class:"jldocstring custom-block",open:""},d={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""};function E(c,s,y,F,u,b){const e=p("Badge");return k(),h("div",null,[s[9]||(s[9]=i("h1",{id:"API-for-Creating-GeoRegions",tabindex:"-1"},[a("API for Creating GeoRegions "),i("a",{class:"header-anchor",href:"#API-for-Creating-GeoRegions","aria-label":'Permalink to "API for Creating GeoRegions {#API-for-Creating-GeoRegions}"'},"​")],-1)),i("details",r,[i("summary",null,[s[0]||(s[0]=i("a",{id:"GeoRegions.RectRegion-Tuple{AbstractString, AbstractString, AbstractString, Vector{<:Real}}",href:"#GeoRegions.RectRegion-Tuple{AbstractString, AbstractString, AbstractString, Vector{<:Real}}"},[i("span",{class:"jlbinding"},"GeoRegions.RectRegion")],-1)),s[1]||(s[1]=a()),n(e,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[2]||(s[2]=t(`
julia
RectRegion(
+import{_ as l,c as h,j as i,a,G as n,a4 as t,B as p,o as k}from"./chunks/framework.CEeYBNx8.js";const C=JSON.parse('{"title":"API for Creating GeoRegions","description":"","frontmatter":{},"headers":[],"relativePath":"api/create.md","filePath":"api/create.md","lastUpdated":null}'),o={name:"api/create.md"},r={class:"jldocstring custom-block",open:""},d={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""};function E(c,s,y,F,u,f){const e=p("Badge");return k(),h("div",null,[s[9]||(s[9]=i("h1",{id:"API-for-Creating-GeoRegions",tabindex:"-1"},[a("API for Creating GeoRegions "),i("a",{class:"header-anchor",href:"#API-for-Creating-GeoRegions","aria-label":'Permalink to "API for Creating GeoRegions {#API-for-Creating-GeoRegions}"'},"​")],-1)),i("details",r,[i("summary",null,[s[0]||(s[0]=i("a",{id:"GeoRegions.RectRegion-Tuple{AbstractString, AbstractString, AbstractString, Vector{<:Real}}",href:"#GeoRegions.RectRegion-Tuple{AbstractString, AbstractString, AbstractString, Vector{<:Real}}"},[i("span",{class:"jlbinding"},"GeoRegions.RectRegion")],-1)),s[1]||(s[1]=a()),n(e,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[2]||(s[2]=t(`
julia
RectRegion(
     ID    :: AbstractString,
     pID   :: AbstractString,
     name  :: AbstractString,
@@ -8,7 +8,7 @@ import{_ as l,c as h,j as i,a,G as n,a4 as t,B as p,o as k}from"./chunks/framewo
     verbose :: Bool = false,
     ST = String,
     FT = Float64
-) -> geo :: RectRegion{ST,FT}

Creates a rectilinear GeoRegion.

Arguments

  • ID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • pID : The ID of the parent GeoRegion where information can be extracted from.

  • name : A name for the GeoRegion (meta information, can be used in Logging).

  • bound : The [N,S,E,W] coordinates defining the region.

Keyword Arguments

  • save : If true, save the GeoRegion into the list of custom GeoRegions in the path specified by path.

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the user's home directory homedir().

  • verbose : Verbose logging for ease of monitoring? Default is false.

Returns

  • geo : A rectilinear GeoRegion.

source

`,9))]),i("details",d,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeoRegions.TiltRegion-Tuple{AbstractString, AbstractString, AbstractString, Vararg{Real, 5}}",href:"#GeoRegions.TiltRegion-Tuple{AbstractString, AbstractString, AbstractString, Vararg{Real, 5}}"},[i("span",{class:"jlbinding"},"GeoRegions.TiltRegion")],-1)),s[4]||(s[4]=a()),n(e,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[5]||(s[5]=t(`
julia
TiltRegion(
+) -> geo :: RectRegion{ST,FT}

Creates a rectilinear GeoRegion.

Arguments

  • ID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • pID : The ID of the parent GeoRegion where information can be extracted from.

  • name : A name for the GeoRegion (meta information, can be used in Logging).

  • bound : The [N,S,E,W] coordinates defining the region.

Keyword Arguments

  • save : If true, save the GeoRegion into the list of custom GeoRegions in the path specified by path.

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the user's home directory homedir().

  • verbose : Verbose logging for ease of monitoring? Default is false.

Returns

  • geo : A rectilinear GeoRegion.

source

`,9))]),i("details",d,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeoRegions.TiltRegion-Tuple{AbstractString, AbstractString, AbstractString, Vararg{Real, 5}}",href:"#GeoRegions.TiltRegion-Tuple{AbstractString, AbstractString, AbstractString, Vararg{Real, 5}}"},[i("span",{class:"jlbinding"},"GeoRegions.TiltRegion")],-1)),s[4]||(s[4]=a()),n(e,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[5]||(s[5]=t(`
julia
TiltRegion(
     ID   :: AbstractString,
     pID  :: AbstractString,
     name :: AbstractString,
@@ -22,7 +22,7 @@ import{_ as l,c as h,j as i,a,G as n,a4 as t,B as p,o as k}from"./chunks/framewo
     verbose :: Bool = false,
     ST = String,
     FT = Float64
-) -> geo :: TiltRegion{ST,FT}

Creates a tilted rectangular GeoRegion.

Arguments

  • ID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • pID : The ID of the parent GeoRegion where information can be extracted from.

  • name : A name for the GeoRegion (meta information, can be used in Logging).

  • X : Longitude coordinate of region centre.

  • Y : Latitude coordinate of region centre.

  • ΔX : Half-width in longitude coordinates (before tilting).

  • ΔY : Half-width in latitude coordinates (before tilting).

  • θ : Tilt of rectangular region in degrees.

Keyword Arguments

  • save : If true, save the GeoRegion into the list of custom GeoRegions in the path specified by path.

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the user's home directory homedir().

  • verbose : Verbose logging for ease of monitoring? Default is false.

Returns

  • geo : A tilted rectangular GeoRegion.

source

`,9))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeoRegions.PolyRegion-Tuple{AbstractString, AbstractString, AbstractString, Vector{<:Real}, Vector{<:Real}}",href:"#GeoRegions.PolyRegion-Tuple{AbstractString, AbstractString, AbstractString, Vector{<:Real}, Vector{<:Real}}"},[i("span",{class:"jlbinding"},"GeoRegions.PolyRegion")],-1)),s[7]||(s[7]=a()),n(e,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=t(`
julia
PolyRegion(
+) -> geo :: TiltRegion{ST,FT}

Creates a tilted rectangular GeoRegion.

Arguments

  • ID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • pID : The ID of the parent GeoRegion where information can be extracted from.

  • name : A name for the GeoRegion (meta information, can be used in Logging).

  • X : Longitude coordinate of region centre.

  • Y : Latitude coordinate of region centre.

  • ΔX : Half-width in longitude coordinates (before tilting).

  • ΔY : Half-width in latitude coordinates (before tilting).

  • θ : Tilt of rectangular region in degrees.

Keyword Arguments

  • save : If true, save the GeoRegion into the list of custom GeoRegions in the path specified by path.

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the user's home directory homedir().

  • verbose : Verbose logging for ease of monitoring? Default is false.

Returns

  • geo : A tilted rectangular GeoRegion.

source

`,9))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeoRegions.PolyRegion-Tuple{AbstractString, AbstractString, AbstractString, Vector{<:Real}, Vector{<:Real}}",href:"#GeoRegions.PolyRegion-Tuple{AbstractString, AbstractString, AbstractString, Vector{<:Real}, Vector{<:Real}}"},[i("span",{class:"jlbinding"},"GeoRegions.PolyRegion")],-1)),s[7]||(s[7]=a()),n(e,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=t(`
julia
PolyRegion(
     ID   :: AbstractString,
     pID  :: AbstractString,
     name :: AbstractString,
@@ -34,4 +34,4 @@ import{_ as l,c as h,j as i,a,G as n,a4 as t,B as p,o as k}from"./chunks/framewo
     verbose :: Bool = false,
     ST = String,
     FT = Float64
-) -> geo :: PolyRegion{ST,FT}

Creates a polygonal GeoRegion.

Arguments

  • ID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • pID : The ID of the parent GeoRegion where information can be extracted from.

  • name : A name for the GeoRegion (meta information, can be used in Logging).

  • lon : A vector containing the longitude points.

  • lat : A vector containing the latitude points.

Keyword Arguments

  • join : If true, if the first and last coordinate points do not match, append the first coordinate again to close the shape.

  • save : If true, save the GeoRegion into the list of custom GeoRegions in the path specified by path.

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the user's home directory homedir().

  • verbose : If true, verbose logging for ease of monitoring. Default is false.

Returns

  • geo : A polygonal GeoRegion.

source

`,9))])])}const A=l(o,[["render",E]]);export{C as __pageData,A as default}; +) -> geo :: PolyRegion{ST,FT}

Creates a polygonal GeoRegion.

Arguments

Keyword Arguments

Returns

source

`,9))])])}const A=l(o,[["render",E]]);export{C as __pageData,A as default}; diff --git a/dev/assets/api_isin.md.C9O7p9Kk.js b/dev/assets/api_isinon.md.BakDqIMY.js similarity index 88% rename from dev/assets/api_isin.md.C9O7p9Kk.js rename to dev/assets/api_isinon.md.BakDqIMY.js index eccdd3b1..02ac5236 100644 --- a/dev/assets/api_isin.md.C9O7p9Kk.js +++ b/dev/assets/api_isinon.md.BakDqIMY.js @@ -1,21 +1,21 @@ -import{_ as t,c as l,j as i,a as e,G as a,a4 as o,B as p,o as h}from"./chunks/framework.CEeYBNx8.js";const R=JSON.parse('{"title":"API for Is it in/on a GeoRegion?","description":"","frontmatter":{},"headers":[],"relativePath":"api/isin.md","filePath":"api/isin.md","lastUpdated":null}'),d={name:"api/isin.md"},k={class:"jldocstring custom-block",open:""},r={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""};function E(y,s,u,F,f,b){const n=p("Badge");return h(),l("div",null,[s[12]||(s[12]=i("h1",{id:"API-for-Is-it-in/on-a-GeoRegion?",tabindex:"-1"},[e("API for Is it in/on a GeoRegion? "),i("a",{class:"header-anchor",href:"#API-for-Is-it-in/on-a-GeoRegion?","aria-label":'Permalink to "API for Is it in/on a GeoRegion? {#API-for-Is-it-in/on-a-GeoRegion?}"'},"​")],-1)),i("details",k,[i("summary",null,[s[0]||(s[0]=i("a",{id:"Base.in-Tuple{Point2{<:Real}, GeoRegion}",href:"#Base.in-Tuple{Point2{<:Real}, GeoRegion}"},[i("span",{class:"jlbinding"},"Base.in")],-1)),s[1]||(s[1]=e()),a(n,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[2]||(s[2]=o(`
julia
in(
+import{_ as t,c as l,j as i,a as e,G as a,a4 as o,B as p,o as h}from"./chunks/framework.CEeYBNx8.js";const R=JSON.parse('{"title":"API for Is it in/on a GeoRegion?","description":"","frontmatter":{},"headers":[],"relativePath":"api/isinon.md","filePath":"api/isinon.md","lastUpdated":null}'),d={name:"api/isinon.md"},k={class:"jldocstring custom-block",open:""},r={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""};function E(y,s,u,F,f,b){const n=p("Badge");return h(),l("div",null,[s[12]||(s[12]=i("h1",{id:"API-for-Is-it-in/on-a-GeoRegion?",tabindex:"-1"},[e("API for Is it in/on a GeoRegion? "),i("a",{class:"header-anchor",href:"#API-for-Is-it-in/on-a-GeoRegion?","aria-label":'Permalink to "API for Is it in/on a GeoRegion? {#API-for-Is-it-in/on-a-GeoRegion?}"'},"​")],-1)),i("details",k,[i("summary",null,[s[0]||(s[0]=i("a",{id:"Base.in-Tuple{Point2{<:Real}, GeoRegion}",href:"#Base.in-Tuple{Point2{<:Real}, GeoRegion}"},[i("span",{class:"jlbinding"},"Base.in")],-1)),s[1]||(s[1]=e()),a(n,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[2]||(s[2]=o(`
julia
in(
     point  :: Point2{<:Real},
     geo    :: GeoRegion;
     throw  :: Bool = false
-) -> tf :: Bool

Check if a geographical point point is within a GeoRegion defined by geo.

Arguments

  • point : A geographical point of Type Point. Pass Point(plon,plat), where plon and plat are the longitude and latitudes of the point.

  • geo : The GeoRegion struct container.

Keyword Arguments

  • throw : If true, then if point is not within geo, an error is thrown and the program stops running.

Returns

  • tf : A true/false boolean.

source

`,9))]),i("details",r,[i("summary",null,[s[3]||(s[3]=i("a",{id:"Base.in-Tuple{GeoRegion, GeoRegion}",href:"#Base.in-Tuple{GeoRegion, GeoRegion}"},[i("span",{class:"jlbinding"},"Base.in")],-1)),s[4]||(s[4]=e()),a(n,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[5]||(s[5]=o(`
julia
in(
+) -> tf :: Bool

Check if a geographical point point is within a GeoRegion defined by geo.

Arguments

  • point : A geographical point of Type Point. Pass Point(plon,plat), where plon and plat are the longitude and latitudes of the point.

  • geo : The GeoRegion struct container.

Keyword Arguments

  • throw : If true, then if point is not within geo, an error is thrown and the program stops running.

Returns

  • tf : A true/false boolean.

source

`,9))]),i("details",r,[i("summary",null,[s[3]||(s[3]=i("a",{id:"Base.in-Tuple{GeoRegion, GeoRegion}",href:"#Base.in-Tuple{GeoRegion, GeoRegion}"},[i("span",{class:"jlbinding"},"Base.in")],-1)),s[4]||(s[4]=e()),a(n,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[5]||(s[5]=o(`
julia
in(
     cgeo  :: GeoRegion,
     geo   :: GeoRegion;
     n     :: Int = 100,
     throw :: Bool = false,
     verbose :: Bool = false
-) -> tf :: Bool

Check if a child GeoRegion defined by cgeo is within another GeoRegion geo.

Arguments

  • cgeo : A GeoRegion that we postulate to be a "child", or a subset of the GeoRegion defined by geo.

  • geo : A GeoRegion that we postulate to be a "parent", or containing the GeoRegion defined by cgeo.

Keyword Arguments

  • n : The number of segments to split each of the GeoRegions into. Default is 100.

  • throw : If true, then if cgeo is not within geo, an error is thrown and the program stops running.

  • verbose : If true, print logs to screen.

Returns

  • tf : A true/false boolean.

source

`,9))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeoRegions.on-Tuple{Point2{<:Real}, GeoRegion}",href:"#GeoRegions.on-Tuple{Point2{<:Real}, GeoRegion}"},[i("span",{class:"jlbinding"},"GeoRegions.on")],-1)),s[7]||(s[7]=e()),a(n,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=o(`
julia
on(
+) -> tf :: Bool

Check if a child GeoRegion defined by cgeo is within another GeoRegion geo.

Arguments

  • cgeo : A GeoRegion that we postulate to be a "child", or a subset of the GeoRegion defined by geo.

  • geo : A GeoRegion that we postulate to be a "parent", or containing the GeoRegion defined by cgeo.

Keyword Arguments

  • n : The number of segments to split each of the GeoRegions into. Default is 100.

  • throw : If true, then if cgeo is not within geo, an error is thrown and the program stops running.

  • verbose : If true, print logs to screen.

Returns

  • tf : A true/false boolean.

source

`,9))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeoRegions.on-Tuple{Point2{<:Real}, GeoRegion}",href:"#GeoRegions.on-Tuple{Point2{<:Real}, GeoRegion}"},[i("span",{class:"jlbinding"},"GeoRegions.on")],-1)),s[7]||(s[7]=e()),a(n,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=o(`
julia
on(
     point :: Point2{<:Real},
     geo   :: GeoRegion;
     throw :: Bool = false
-) -> tf :: Bool

Check if a geographical point point is on the boundary of a shape of a GeoRegion defined by geo.

Arguments

  • point : A geographical point of Type Point. Pass Point(plon,plat), where plon and plat are the longitude and latitudes of the point.

  • geo : The GeoRegion struct container.

Keyword Arguments

  • throw : If true, then if point is not within geo, an error is thrown and the program stops running.

Returns

  • tf : A true/false boolean.

source

`,9))]),i("details",c,[i("summary",null,[s[9]||(s[9]=i("a",{id:"GeoRegions.on-Tuple{GeoRegion, GeoRegion}",href:"#GeoRegions.on-Tuple{GeoRegion, GeoRegion}"},[i("span",{class:"jlbinding"},"GeoRegions.on")],-1)),s[10]||(s[10]=e()),a(n,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[11]||(s[11]=o(`
julia
on(
+) -> tf :: Bool

Check if a geographical point point is on the boundary of a shape of a GeoRegion defined by geo.

Arguments

  • point : A geographical point of Type Point. Pass Point(plon,plat), where plon and plat are the longitude and latitudes of the point.

  • geo : The GeoRegion struct container.

Keyword Arguments

  • throw : If true, then if point is not within geo, an error is thrown and the program stops running.

Returns

  • tf : A true/false boolean.

source

`,9))]),i("details",c,[i("summary",null,[s[9]||(s[9]=i("a",{id:"GeoRegions.on-Tuple{GeoRegion, GeoRegion}",href:"#GeoRegions.on-Tuple{GeoRegion, GeoRegion}"},[i("span",{class:"jlbinding"},"GeoRegions.on")],-1)),s[10]||(s[10]=e()),a(n,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[11]||(s[11]=o(`
julia
on(
     geo1  :: GeoRegion,
     geo2  :: GeoRegion;
     n     :: Int = 100,
     throw :: Bool = false,
     verbose :: Bool = false
-) -> tf :: Bool

Check if the GeoRegions geo1 and geo2 have the same shape.

Arguments

  • geo1 : The first GeoRegion

  • geo2 : The second GeoRegion

Keyword Arguments

  • n : The number of segments to split each of the GeoRegions into. Default is 2.

  • throw : If true, then if cgeo is not within geo, an error is thrown and the program stops running.

  • verbose : If true, print logs to screen.

Returns

  • tf : A true/false boolean.

source

`,9))])])}const m=t(d,[["render",E]]);export{R as __pageData,m as default}; +) -> tf :: Bool

Check if the GeoRegions geo1 and geo2 have the same shape.

Arguments

Keyword Arguments

Returns

source

`,9))])])}const m=t(d,[["render",E]]);export{R as __pageData,m as default}; diff --git a/dev/assets/api_isin.md.C9O7p9Kk.lean.js b/dev/assets/api_isinon.md.BakDqIMY.lean.js similarity index 88% rename from dev/assets/api_isin.md.C9O7p9Kk.lean.js rename to dev/assets/api_isinon.md.BakDqIMY.lean.js index eccdd3b1..02ac5236 100644 --- a/dev/assets/api_isin.md.C9O7p9Kk.lean.js +++ b/dev/assets/api_isinon.md.BakDqIMY.lean.js @@ -1,21 +1,21 @@ -import{_ as t,c as l,j as i,a as e,G as a,a4 as o,B as p,o as h}from"./chunks/framework.CEeYBNx8.js";const R=JSON.parse('{"title":"API for Is it in/on a GeoRegion?","description":"","frontmatter":{},"headers":[],"relativePath":"api/isin.md","filePath":"api/isin.md","lastUpdated":null}'),d={name:"api/isin.md"},k={class:"jldocstring custom-block",open:""},r={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""};function E(y,s,u,F,f,b){const n=p("Badge");return h(),l("div",null,[s[12]||(s[12]=i("h1",{id:"API-for-Is-it-in/on-a-GeoRegion?",tabindex:"-1"},[e("API for Is it in/on a GeoRegion? "),i("a",{class:"header-anchor",href:"#API-for-Is-it-in/on-a-GeoRegion?","aria-label":'Permalink to "API for Is it in/on a GeoRegion? {#API-for-Is-it-in/on-a-GeoRegion?}"'},"​")],-1)),i("details",k,[i("summary",null,[s[0]||(s[0]=i("a",{id:"Base.in-Tuple{Point2{<:Real}, GeoRegion}",href:"#Base.in-Tuple{Point2{<:Real}, GeoRegion}"},[i("span",{class:"jlbinding"},"Base.in")],-1)),s[1]||(s[1]=e()),a(n,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[2]||(s[2]=o(`
julia
in(
+import{_ as t,c as l,j as i,a as e,G as a,a4 as o,B as p,o as h}from"./chunks/framework.CEeYBNx8.js";const R=JSON.parse('{"title":"API for Is it in/on a GeoRegion?","description":"","frontmatter":{},"headers":[],"relativePath":"api/isinon.md","filePath":"api/isinon.md","lastUpdated":null}'),d={name:"api/isinon.md"},k={class:"jldocstring custom-block",open:""},r={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""};function E(y,s,u,F,f,b){const n=p("Badge");return h(),l("div",null,[s[12]||(s[12]=i("h1",{id:"API-for-Is-it-in/on-a-GeoRegion?",tabindex:"-1"},[e("API for Is it in/on a GeoRegion? "),i("a",{class:"header-anchor",href:"#API-for-Is-it-in/on-a-GeoRegion?","aria-label":'Permalink to "API for Is it in/on a GeoRegion? {#API-for-Is-it-in/on-a-GeoRegion?}"'},"​")],-1)),i("details",k,[i("summary",null,[s[0]||(s[0]=i("a",{id:"Base.in-Tuple{Point2{<:Real}, GeoRegion}",href:"#Base.in-Tuple{Point2{<:Real}, GeoRegion}"},[i("span",{class:"jlbinding"},"Base.in")],-1)),s[1]||(s[1]=e()),a(n,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[2]||(s[2]=o(`
julia
in(
     point  :: Point2{<:Real},
     geo    :: GeoRegion;
     throw  :: Bool = false
-) -> tf :: Bool

Check if a geographical point point is within a GeoRegion defined by geo.

Arguments

  • point : A geographical point of Type Point. Pass Point(plon,plat), where plon and plat are the longitude and latitudes of the point.

  • geo : The GeoRegion struct container.

Keyword Arguments

  • throw : If true, then if point is not within geo, an error is thrown and the program stops running.

Returns

  • tf : A true/false boolean.

source

`,9))]),i("details",r,[i("summary",null,[s[3]||(s[3]=i("a",{id:"Base.in-Tuple{GeoRegion, GeoRegion}",href:"#Base.in-Tuple{GeoRegion, GeoRegion}"},[i("span",{class:"jlbinding"},"Base.in")],-1)),s[4]||(s[4]=e()),a(n,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[5]||(s[5]=o(`
julia
in(
+) -> tf :: Bool

Check if a geographical point point is within a GeoRegion defined by geo.

Arguments

  • point : A geographical point of Type Point. Pass Point(plon,plat), where plon and plat are the longitude and latitudes of the point.

  • geo : The GeoRegion struct container.

Keyword Arguments

  • throw : If true, then if point is not within geo, an error is thrown and the program stops running.

Returns

  • tf : A true/false boolean.

source

`,9))]),i("details",r,[i("summary",null,[s[3]||(s[3]=i("a",{id:"Base.in-Tuple{GeoRegion, GeoRegion}",href:"#Base.in-Tuple{GeoRegion, GeoRegion}"},[i("span",{class:"jlbinding"},"Base.in")],-1)),s[4]||(s[4]=e()),a(n,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[5]||(s[5]=o(`
julia
in(
     cgeo  :: GeoRegion,
     geo   :: GeoRegion;
     n     :: Int = 100,
     throw :: Bool = false,
     verbose :: Bool = false
-) -> tf :: Bool

Check if a child GeoRegion defined by cgeo is within another GeoRegion geo.

Arguments

  • cgeo : A GeoRegion that we postulate to be a "child", or a subset of the GeoRegion defined by geo.

  • geo : A GeoRegion that we postulate to be a "parent", or containing the GeoRegion defined by cgeo.

Keyword Arguments

  • n : The number of segments to split each of the GeoRegions into. Default is 100.

  • throw : If true, then if cgeo is not within geo, an error is thrown and the program stops running.

  • verbose : If true, print logs to screen.

Returns

  • tf : A true/false boolean.

source

`,9))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeoRegions.on-Tuple{Point2{<:Real}, GeoRegion}",href:"#GeoRegions.on-Tuple{Point2{<:Real}, GeoRegion}"},[i("span",{class:"jlbinding"},"GeoRegions.on")],-1)),s[7]||(s[7]=e()),a(n,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=o(`
julia
on(
+) -> tf :: Bool

Check if a child GeoRegion defined by cgeo is within another GeoRegion geo.

Arguments

  • cgeo : A GeoRegion that we postulate to be a "child", or a subset of the GeoRegion defined by geo.

  • geo : A GeoRegion that we postulate to be a "parent", or containing the GeoRegion defined by cgeo.

Keyword Arguments

  • n : The number of segments to split each of the GeoRegions into. Default is 100.

  • throw : If true, then if cgeo is not within geo, an error is thrown and the program stops running.

  • verbose : If true, print logs to screen.

Returns

  • tf : A true/false boolean.

source

`,9))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeoRegions.on-Tuple{Point2{<:Real}, GeoRegion}",href:"#GeoRegions.on-Tuple{Point2{<:Real}, GeoRegion}"},[i("span",{class:"jlbinding"},"GeoRegions.on")],-1)),s[7]||(s[7]=e()),a(n,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=o(`
julia
on(
     point :: Point2{<:Real},
     geo   :: GeoRegion;
     throw :: Bool = false
-) -> tf :: Bool

Check if a geographical point point is on the boundary of a shape of a GeoRegion defined by geo.

Arguments

  • point : A geographical point of Type Point. Pass Point(plon,plat), where plon and plat are the longitude and latitudes of the point.

  • geo : The GeoRegion struct container.

Keyword Arguments

  • throw : If true, then if point is not within geo, an error is thrown and the program stops running.

Returns

  • tf : A true/false boolean.

source

`,9))]),i("details",c,[i("summary",null,[s[9]||(s[9]=i("a",{id:"GeoRegions.on-Tuple{GeoRegion, GeoRegion}",href:"#GeoRegions.on-Tuple{GeoRegion, GeoRegion}"},[i("span",{class:"jlbinding"},"GeoRegions.on")],-1)),s[10]||(s[10]=e()),a(n,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[11]||(s[11]=o(`
julia
on(
+) -> tf :: Bool

Check if a geographical point point is on the boundary of a shape of a GeoRegion defined by geo.

Arguments

  • point : A geographical point of Type Point. Pass Point(plon,plat), where plon and plat are the longitude and latitudes of the point.

  • geo : The GeoRegion struct container.

Keyword Arguments

  • throw : If true, then if point is not within geo, an error is thrown and the program stops running.

Returns

  • tf : A true/false boolean.

source

`,9))]),i("details",c,[i("summary",null,[s[9]||(s[9]=i("a",{id:"GeoRegions.on-Tuple{GeoRegion, GeoRegion}",href:"#GeoRegions.on-Tuple{GeoRegion, GeoRegion}"},[i("span",{class:"jlbinding"},"GeoRegions.on")],-1)),s[10]||(s[10]=e()),a(n,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[11]||(s[11]=o(`
julia
on(
     geo1  :: GeoRegion,
     geo2  :: GeoRegion;
     n     :: Int = 100,
     throw :: Bool = false,
     verbose :: Bool = false
-) -> tf :: Bool

Check if the GeoRegions geo1 and geo2 have the same shape.

Arguments

  • geo1 : The first GeoRegion

  • geo2 : The second GeoRegion

Keyword Arguments

  • n : The number of segments to split each of the GeoRegions into. Default is 2.

  • throw : If true, then if cgeo is not within geo, an error is thrown and the program stops running.

  • verbose : If true, print logs to screen.

Returns

  • tf : A true/false boolean.

source

`,9))])])}const m=t(d,[["render",E]]);export{R as __pageData,m as default}; +) -> tf :: Bool

Check if the GeoRegions geo1 and geo2 have the same shape.

Arguments

Keyword Arguments

Returns

source

`,9))])])}const m=t(d,[["render",E]]);export{R as __pageData,m as default}; diff --git a/dev/assets/api_project.md.B-Xg_EhC.js b/dev/assets/api_project.md.B9zKihwz.js similarity index 87% rename from dev/assets/api_project.md.B-Xg_EhC.js rename to dev/assets/api_project.md.B9zKihwz.js index 52d8de36..6fa82387 100644 --- a/dev/assets/api_project.md.B-Xg_EhC.js +++ b/dev/assets/api_project.md.B9zKihwz.js @@ -1,8 +1,8 @@ -import{_ as o,c as l,j as e,a as i,G as n,a4 as a,B as p,o as r}from"./chunks/framework.CEeYBNx8.js";const j=JSON.parse('{"title":"API for Project-Handling in GeoRegions.jl","description":"","frontmatter":{},"headers":[],"relativePath":"api/project.md","filePath":"api/project.md","lastUpdated":null}'),h={name:"api/project.md"},d={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},k={class:"jldocstring custom-block",open:""};function c(u,s,b,y,f,E){const t=p("Badge");return r(),l("div",null,[s[9]||(s[9]=e("h1",{id:"API-for-Project-Handling-in-GeoRegions.jl",tabindex:"-1"},[i("API for Project-Handling in GeoRegions.jl "),e("a",{class:"header-anchor",href:"#API-for-Project-Handling-in-GeoRegions.jl","aria-label":'Permalink to "API for Project-Handling in GeoRegions.jl {#API-for-Project-Handling-in-GeoRegions.jl}"'},"​")],-1)),e("details",d,[e("summary",null,[s[0]||(s[0]=e("a",{id:"GeoRegions.setupGeoRegions",href:"#GeoRegions.setupGeoRegions"},[e("span",{class:"jlbinding"},"GeoRegions.setupGeoRegions")],-1)),s[1]||(s[1]=i()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[2]||(s[2]=a(`
julia
setupGeoRegions(;
+import{_ as o,c as l,j as e,a as i,G as a,a4 as n,B as p,o as r}from"./chunks/framework.CEeYBNx8.js";const j=JSON.parse('{"title":"API for Project-Handling in GeoRegions.jl","description":"","frontmatter":{},"headers":[],"relativePath":"api/project.md","filePath":"api/project.md","lastUpdated":null}'),h={name:"api/project.md"},d={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},k={class:"jldocstring custom-block",open:""};function c(u,s,y,b,f,E){const t=p("Badge");return r(),l("div",null,[s[9]||(s[9]=e("h1",{id:"API-for-Project-Handling-in-GeoRegions.jl",tabindex:"-1"},[i("API for Project-Handling in GeoRegions.jl "),e("a",{class:"header-anchor",href:"#API-for-Project-Handling-in-GeoRegions.jl","aria-label":'Permalink to "API for Project-Handling in GeoRegions.jl {#API-for-Project-Handling-in-GeoRegions.jl}"'},"​")],-1)),e("details",d,[e("summary",null,[s[0]||(s[0]=e("a",{id:"GeoRegions.setupGeoRegions",href:"#GeoRegions.setupGeoRegions"},[e("span",{class:"jlbinding"},"GeoRegions.setupGeoRegions")],-1)),s[1]||(s[1]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[2]||(s[2]=n(`
julia
setupGeoRegions(;
     path :: AbstractString = pwd(),
     overwrite :: Bool = false
-) -> nothing

Setup the directory specified by path with files for custom GeoRegions. If overwrite = true, then any preexisting files are overwritten.

Keyword Arguments

  • path : The path where the template list of custom GeoRegions will be copied to. Defaults to the current working directory pwd().

  • overwrite : If template files exist in this folder, overwrite?

source

`,5))]),e("details",g,[e("summary",null,[s[3]||(s[3]=e("a",{id:"GeoRegions.deleteGeoRegions",href:"#GeoRegions.deleteGeoRegions"},[e("span",{class:"jlbinding"},"GeoRegions.deleteGeoRegions")],-1)),s[4]||(s[4]=i()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=a(`
julia
deleteGeoRegions(;
+) -> nothing

Setup the directory specified by path with files for custom GeoRegions. If overwrite = true, then any preexisting files are overwritten.

Keyword Arguments

  • path : The path where the template list of custom GeoRegions will be copied to. Defaults to the current working directory pwd().

  • overwrite : If template files exist in this folder, overwrite?

source

`,5))]),e("details",g,[e("summary",null,[s[3]||(s[3]=e("a",{id:"GeoRegions.deleteGeoRegions",href:"#GeoRegions.deleteGeoRegions"},[e("span",{class:"jlbinding"},"GeoRegions.deleteGeoRegions")],-1)),s[4]||(s[4]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=n(`
julia
deleteGeoRegions(;
     path :: AbstractString = pwd()
-) -> nothing

Reset all the files containing GeoRegion information back to the default.

Keyword Arguments

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the current working directory pwd().

source

`,5))]),e("details",k,[e("summary",null,[s[6]||(s[6]=e("a",{id:"GeoRegions.tableGeoRegions-Tuple{AbstractString}",href:"#GeoRegions.tableGeoRegions-Tuple{AbstractString}"},[e("span",{class:"jlbinding"},"GeoRegions.tableGeoRegions")],-1)),s[7]||(s[7]=i()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=a(`
julia
tableGeoRegions(
+) -> nothing

Reset all the files containing GeoRegion information back to the default.

Keyword Arguments

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the current working directory pwd().

source

`,5))]),e("details",k,[e("summary",null,[s[6]||(s[6]=e("a",{id:"GeoRegions.tableGeoRegions-Tuple{AbstractString}",href:"#GeoRegions.tableGeoRegions-Tuple{AbstractString}"},[e("span",{class:"jlbinding"},"GeoRegions.tableGeoRegions")],-1)),s[7]||(s[7]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=n(`
julia
tableGeoRegions(
     fname :: AbstractString
-) -> nothing

Display all available GeoRegions in tabular format listed in the file fname.

Arguments

  • fname : Specifies the name + path of the file containing GeoRegion information.

source

`,5))])])}const F=o(h,[["render",c]]);export{j as __pageData,F as default}; +) -> nothing

Display all available GeoRegions in tabular format listed in the file fname.

Arguments

source

`,5))])])}const F=o(h,[["render",c]]);export{j as __pageData,F as default}; diff --git a/dev/assets/api_project.md.B-Xg_EhC.lean.js b/dev/assets/api_project.md.B9zKihwz.lean.js similarity index 87% rename from dev/assets/api_project.md.B-Xg_EhC.lean.js rename to dev/assets/api_project.md.B9zKihwz.lean.js index 52d8de36..6fa82387 100644 --- a/dev/assets/api_project.md.B-Xg_EhC.lean.js +++ b/dev/assets/api_project.md.B9zKihwz.lean.js @@ -1,8 +1,8 @@ -import{_ as o,c as l,j as e,a as i,G as n,a4 as a,B as p,o as r}from"./chunks/framework.CEeYBNx8.js";const j=JSON.parse('{"title":"API for Project-Handling in GeoRegions.jl","description":"","frontmatter":{},"headers":[],"relativePath":"api/project.md","filePath":"api/project.md","lastUpdated":null}'),h={name:"api/project.md"},d={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},k={class:"jldocstring custom-block",open:""};function c(u,s,b,y,f,E){const t=p("Badge");return r(),l("div",null,[s[9]||(s[9]=e("h1",{id:"API-for-Project-Handling-in-GeoRegions.jl",tabindex:"-1"},[i("API for Project-Handling in GeoRegions.jl "),e("a",{class:"header-anchor",href:"#API-for-Project-Handling-in-GeoRegions.jl","aria-label":'Permalink to "API for Project-Handling in GeoRegions.jl {#API-for-Project-Handling-in-GeoRegions.jl}"'},"​")],-1)),e("details",d,[e("summary",null,[s[0]||(s[0]=e("a",{id:"GeoRegions.setupGeoRegions",href:"#GeoRegions.setupGeoRegions"},[e("span",{class:"jlbinding"},"GeoRegions.setupGeoRegions")],-1)),s[1]||(s[1]=i()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[2]||(s[2]=a(`
julia
setupGeoRegions(;
+import{_ as o,c as l,j as e,a as i,G as a,a4 as n,B as p,o as r}from"./chunks/framework.CEeYBNx8.js";const j=JSON.parse('{"title":"API for Project-Handling in GeoRegions.jl","description":"","frontmatter":{},"headers":[],"relativePath":"api/project.md","filePath":"api/project.md","lastUpdated":null}'),h={name:"api/project.md"},d={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},k={class:"jldocstring custom-block",open:""};function c(u,s,y,b,f,E){const t=p("Badge");return r(),l("div",null,[s[9]||(s[9]=e("h1",{id:"API-for-Project-Handling-in-GeoRegions.jl",tabindex:"-1"},[i("API for Project-Handling in GeoRegions.jl "),e("a",{class:"header-anchor",href:"#API-for-Project-Handling-in-GeoRegions.jl","aria-label":'Permalink to "API for Project-Handling in GeoRegions.jl {#API-for-Project-Handling-in-GeoRegions.jl}"'},"​")],-1)),e("details",d,[e("summary",null,[s[0]||(s[0]=e("a",{id:"GeoRegions.setupGeoRegions",href:"#GeoRegions.setupGeoRegions"},[e("span",{class:"jlbinding"},"GeoRegions.setupGeoRegions")],-1)),s[1]||(s[1]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[2]||(s[2]=n(`
julia
setupGeoRegions(;
     path :: AbstractString = pwd(),
     overwrite :: Bool = false
-) -> nothing

Setup the directory specified by path with files for custom GeoRegions. If overwrite = true, then any preexisting files are overwritten.

Keyword Arguments

  • path : The path where the template list of custom GeoRegions will be copied to. Defaults to the current working directory pwd().

  • overwrite : If template files exist in this folder, overwrite?

source

`,5))]),e("details",g,[e("summary",null,[s[3]||(s[3]=e("a",{id:"GeoRegions.deleteGeoRegions",href:"#GeoRegions.deleteGeoRegions"},[e("span",{class:"jlbinding"},"GeoRegions.deleteGeoRegions")],-1)),s[4]||(s[4]=i()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=a(`
julia
deleteGeoRegions(;
+) -> nothing

Setup the directory specified by path with files for custom GeoRegions. If overwrite = true, then any preexisting files are overwritten.

Keyword Arguments

  • path : The path where the template list of custom GeoRegions will be copied to. Defaults to the current working directory pwd().

  • overwrite : If template files exist in this folder, overwrite?

source

`,5))]),e("details",g,[e("summary",null,[s[3]||(s[3]=e("a",{id:"GeoRegions.deleteGeoRegions",href:"#GeoRegions.deleteGeoRegions"},[e("span",{class:"jlbinding"},"GeoRegions.deleteGeoRegions")],-1)),s[4]||(s[4]=i()),a(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=n(`
julia
deleteGeoRegions(;
     path :: AbstractString = pwd()
-) -> nothing

Reset all the files containing GeoRegion information back to the default.

Keyword Arguments

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the current working directory pwd().

source

`,5))]),e("details",k,[e("summary",null,[s[6]||(s[6]=e("a",{id:"GeoRegions.tableGeoRegions-Tuple{AbstractString}",href:"#GeoRegions.tableGeoRegions-Tuple{AbstractString}"},[e("span",{class:"jlbinding"},"GeoRegions.tableGeoRegions")],-1)),s[7]||(s[7]=i()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=a(`
julia
tableGeoRegions(
+) -> nothing

Reset all the files containing GeoRegion information back to the default.

Keyword Arguments

  • path : The path where the list of custom GeoRegions will be retrieved from. Defaults to the current working directory pwd().

source

`,5))]),e("details",k,[e("summary",null,[s[6]||(s[6]=e("a",{id:"GeoRegions.tableGeoRegions-Tuple{AbstractString}",href:"#GeoRegions.tableGeoRegions-Tuple{AbstractString}"},[e("span",{class:"jlbinding"},"GeoRegions.tableGeoRegions")],-1)),s[7]||(s[7]=i()),a(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[8]||(s[8]=n(`
julia
tableGeoRegions(
     fname :: AbstractString
-) -> nothing

Display all available GeoRegions in tabular format listed in the file fname.

Arguments

  • fname : Specifies the name + path of the file containing GeoRegion information.

source

`,5))])])}const F=o(h,[["render",c]]);export{j as __pageData,F as default}; +) -> nothing

Display all available GeoRegions in tabular format listed in the file fname.

Arguments

source

`,5))])])}const F=o(h,[["render",c]]);export{j as __pageData,F as default}; diff --git a/dev/assets/api_properties.md.CY5qN-Uv.js b/dev/assets/api_properties.md.BDyuG93J.js similarity index 98% rename from dev/assets/api_properties.md.CY5qN-Uv.js rename to dev/assets/api_properties.md.BDyuG93J.js index 21384874..440cf2a4 100644 --- a/dev/assets/api_properties.md.CY5qN-Uv.js +++ b/dev/assets/api_properties.md.BDyuG93J.js @@ -1,4 +1,4 @@ import{_ as a,c as n,j as s,a as i,G as o,a4 as r,B as l,o as p}from"./chunks/framework.CEeYBNx8.js";const m=JSON.parse('{"title":"API for Different GeoRegion Properties","description":"","frontmatter":{},"headers":[],"relativePath":"api/properties.md","filePath":"api/properties.md","lastUpdated":null}'),h={name:"api/properties.md"},d={class:"jldocstring custom-block",open:""};function k(g,e,c,f,u,E){const t=l("Badge");return p(),n("div",null,[e[3]||(e[3]=s("h1",{id:"API-for-Different-GeoRegion-Properties",tabindex:"-1"},[i("API for Different GeoRegion Properties "),s("a",{class:"header-anchor",href:"#API-for-Different-GeoRegion-Properties","aria-label":'Permalink to "API for Different GeoRegion Properties {#API-for-Different-GeoRegion-Properties}"'},"​")],-1)),s("details",d,[s("summary",null,[e[0]||(e[0]=s("a",{id:"GeoRegions.coordinates",href:"#GeoRegions.coordinates"},[s("span",{class:"jlbinding"},"GeoRegions.coordinates")],-1)),e[1]||(e[1]=i()),o(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),e[2]||(e[2]=r(`
julia
coordinates(
     geo :: GeoRegion;
     n :: Int = 1
-) -> lon :: Vector{<:Real}, lat :: Vector{<:Real}

For a given GeoRegion, create longitude and latitude vectors of the shape.

Arguments

Returns

source

`,7))])])}const F=a(h,[["render",k]]);export{m as __pageData,F as default}; +) -> lon :: Vector{<:Real}, lat :: Vector{<:Real}

For a given GeoRegion, create longitude and latitude vectors of the shape.

Arguments

Returns

source

`,7))])])}const F=a(h,[["render",k]]);export{m as __pageData,F as default}; diff --git a/dev/assets/api_properties.md.CY5qN-Uv.lean.js b/dev/assets/api_properties.md.BDyuG93J.lean.js similarity index 98% rename from dev/assets/api_properties.md.CY5qN-Uv.lean.js rename to dev/assets/api_properties.md.BDyuG93J.lean.js index 21384874..440cf2a4 100644 --- a/dev/assets/api_properties.md.CY5qN-Uv.lean.js +++ b/dev/assets/api_properties.md.BDyuG93J.lean.js @@ -1,4 +1,4 @@ import{_ as a,c as n,j as s,a as i,G as o,a4 as r,B as l,o as p}from"./chunks/framework.CEeYBNx8.js";const m=JSON.parse('{"title":"API for Different GeoRegion Properties","description":"","frontmatter":{},"headers":[],"relativePath":"api/properties.md","filePath":"api/properties.md","lastUpdated":null}'),h={name:"api/properties.md"},d={class:"jldocstring custom-block",open:""};function k(g,e,c,f,u,E){const t=l("Badge");return p(),n("div",null,[e[3]||(e[3]=s("h1",{id:"API-for-Different-GeoRegion-Properties",tabindex:"-1"},[i("API for Different GeoRegion Properties "),s("a",{class:"header-anchor",href:"#API-for-Different-GeoRegion-Properties","aria-label":'Permalink to "API for Different GeoRegion Properties {#API-for-Different-GeoRegion-Properties}"'},"​")],-1)),s("details",d,[s("summary",null,[e[0]||(e[0]=s("a",{id:"GeoRegions.coordinates",href:"#GeoRegions.coordinates"},[s("span",{class:"jlbinding"},"GeoRegions.coordinates")],-1)),e[1]||(e[1]=i()),o(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),e[2]||(e[2]=r(`
julia
coordinates(
     geo :: GeoRegion;
     n :: Int = 1
-) -> lon :: Vector{<:Real}, lat :: Vector{<:Real}

For a given GeoRegion, create longitude and latitude vectors of the shape.

Arguments

Returns

source

`,7))])])}const F=a(h,[["render",k]]);export{m as __pageData,F as default}; +) -> lon :: Vector{<:Real}, lat :: Vector{<:Real}

For a given GeoRegion, create longitude and latitude vectors of the shape.

Arguments

Returns

source

`,7))])])}const F=a(h,[["render",k]]);export{m as __pageData,F as default}; diff --git a/dev/assets/api_tables.md.BE2TdVz3.js b/dev/assets/api_tables.md.6udEEXiu.js similarity index 97% rename from dev/assets/api_tables.md.BE2TdVz3.js rename to dev/assets/api_tables.md.6udEEXiu.js index 60540415..24f37223 100644 --- a/dev/assets/api_tables.md.BE2TdVz3.js +++ b/dev/assets/api_tables.md.6udEEXiu.js @@ -4,15 +4,15 @@ import{_ as n,c as p,j as i,a as e,G as l,a4 as t,B as o,o as h}from"./chunks/fr custom :: Bool = true, warn :: Bool = true, crop :: Bool = false -) -> nothing

Display all available GeoRegions in tabular format.

Keyword Arguments

source

`,5))]),i("details",d,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeoRegions.tableRectRegions",href:"#GeoRegions.tableRectRegions"},[i("span",{class:"jlbinding"},"GeoRegions.tableRectRegions")],-1)),s[4]||(s[4]=e()),l(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=t(`
julia
tableRectRegions(;
+) -> nothing

Display all available GeoRegions in tabular format.

Keyword Arguments

source

`,5))]),i("details",d,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeoRegions.tableRectRegions",href:"#GeoRegions.tableRectRegions"},[i("span",{class:"jlbinding"},"GeoRegions.tableRectRegions")],-1)),s[4]||(s[4]=e()),l(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=t(`
julia
tableRectRegions(;
     path :: AbstractString = homedir(),
     custom :: Bool = true,
     giorgi :: Bool = false
-) -> nothing

Display all available RectRegions in tabular format.

Keyword Arguments

source

`,5))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeoRegions.tableTiltRegions",href:"#GeoRegions.tableTiltRegions"},[i("span",{class:"jlbinding"},"GeoRegions.tableTiltRegions")],-1)),s[7]||(s[7]=e()),l(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[8]||(s[8]=t(`
julia
tableTiltRegions(;
+) -> nothing

Display all available RectRegions in tabular format.

Keyword Arguments

source

`,5))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeoRegions.tableTiltRegions",href:"#GeoRegions.tableTiltRegions"},[i("span",{class:"jlbinding"},"GeoRegions.tableTiltRegions")],-1)),s[7]||(s[7]=e()),l(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[8]||(s[8]=t(`
julia
tableTiltRegions(;
     path :: AbstractString = homedir()
-) -> nothing

Display all available TiltRegions in tabular format.

Keyword Arguments

source

`,5))]),i("details",c,[i("summary",null,[s[9]||(s[9]=i("a",{id:"GeoRegions.tablePolyRegions",href:"#GeoRegions.tablePolyRegions"},[i("span",{class:"jlbinding"},"GeoRegions.tablePolyRegions")],-1)),s[10]||(s[10]=e()),l(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=t(`
julia
tablePolyRegions(;
+) -> nothing

Display all available TiltRegions in tabular format.

Keyword Arguments

source

`,5))]),i("details",c,[i("summary",null,[s[9]||(s[9]=i("a",{id:"GeoRegions.tablePolyRegions",href:"#GeoRegions.tablePolyRegions"},[i("span",{class:"jlbinding"},"GeoRegions.tablePolyRegions")],-1)),s[10]||(s[10]=e()),l(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=t(`
julia
tablePolyRegions(;
     path :: AbstractString = homedir(),
     custom :: Bool = true,
     srex :: Bool = false,
     ar6  :: Bool = false
-) -> nothing

Display all available PolyRegions in tabular format.

Keyword Arguments

source

`,5))])])}const R=n(k,[["render",y]]);export{m as __pageData,R as default}; +) -> nothing

Display all available PolyRegions in tabular format.

Keyword Arguments

source

`,5))])])}const R=n(k,[["render",y]]);export{m as __pageData,R as default}; diff --git a/dev/assets/api_tables.md.BE2TdVz3.lean.js b/dev/assets/api_tables.md.6udEEXiu.lean.js similarity index 97% rename from dev/assets/api_tables.md.BE2TdVz3.lean.js rename to dev/assets/api_tables.md.6udEEXiu.lean.js index 60540415..24f37223 100644 --- a/dev/assets/api_tables.md.BE2TdVz3.lean.js +++ b/dev/assets/api_tables.md.6udEEXiu.lean.js @@ -4,15 +4,15 @@ import{_ as n,c as p,j as i,a as e,G as l,a4 as t,B as o,o as h}from"./chunks/fr custom :: Bool = true, warn :: Bool = true, crop :: Bool = false -) -> nothing

Display all available GeoRegions in tabular format.

Keyword Arguments

source

`,5))]),i("details",d,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeoRegions.tableRectRegions",href:"#GeoRegions.tableRectRegions"},[i("span",{class:"jlbinding"},"GeoRegions.tableRectRegions")],-1)),s[4]||(s[4]=e()),l(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=t(`
julia
tableRectRegions(;
+) -> nothing

Display all available GeoRegions in tabular format.

Keyword Arguments

source

`,5))]),i("details",d,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeoRegions.tableRectRegions",href:"#GeoRegions.tableRectRegions"},[i("span",{class:"jlbinding"},"GeoRegions.tableRectRegions")],-1)),s[4]||(s[4]=e()),l(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=t(`
julia
tableRectRegions(;
     path :: AbstractString = homedir(),
     custom :: Bool = true,
     giorgi :: Bool = false
-) -> nothing

Display all available RectRegions in tabular format.

Keyword Arguments

source

`,5))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeoRegions.tableTiltRegions",href:"#GeoRegions.tableTiltRegions"},[i("span",{class:"jlbinding"},"GeoRegions.tableTiltRegions")],-1)),s[7]||(s[7]=e()),l(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[8]||(s[8]=t(`
julia
tableTiltRegions(;
+) -> nothing

Display all available RectRegions in tabular format.

Keyword Arguments

source

`,5))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeoRegions.tableTiltRegions",href:"#GeoRegions.tableTiltRegions"},[i("span",{class:"jlbinding"},"GeoRegions.tableTiltRegions")],-1)),s[7]||(s[7]=e()),l(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[8]||(s[8]=t(`
julia
tableTiltRegions(;
     path :: AbstractString = homedir()
-) -> nothing

Display all available TiltRegions in tabular format.

Keyword Arguments

source

`,5))]),i("details",c,[i("summary",null,[s[9]||(s[9]=i("a",{id:"GeoRegions.tablePolyRegions",href:"#GeoRegions.tablePolyRegions"},[i("span",{class:"jlbinding"},"GeoRegions.tablePolyRegions")],-1)),s[10]||(s[10]=e()),l(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=t(`
julia
tablePolyRegions(;
+) -> nothing

Display all available TiltRegions in tabular format.

Keyword Arguments

source

`,5))]),i("details",c,[i("summary",null,[s[9]||(s[9]=i("a",{id:"GeoRegions.tablePolyRegions",href:"#GeoRegions.tablePolyRegions"},[i("span",{class:"jlbinding"},"GeoRegions.tablePolyRegions")],-1)),s[10]||(s[10]=e()),l(a,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=t(`
julia
tablePolyRegions(;
     path :: AbstractString = homedir(),
     custom :: Bool = true,
     srex :: Bool = false,
     ar6  :: Bool = false
-) -> nothing

Display all available PolyRegions in tabular format.

Keyword Arguments

source

`,5))])])}const R=n(k,[["render",y]]);export{m as __pageData,R as default}; +) -> nothing

Display all available PolyRegions in tabular format.

Keyword Arguments

source

`,5))])])}const R=n(k,[["render",y]]);export{m as __pageData,R as default}; diff --git a/dev/assets/app.BF_yPZLc.js b/dev/assets/app.Bn1-vJjs.js similarity index 95% rename from dev/assets/app.BF_yPZLc.js rename to dev/assets/app.Bn1-vJjs.js index 9b324ede..08d986b2 100644 --- a/dev/assets/app.BF_yPZLc.js +++ b/dev/assets/app.Bn1-vJjs.js @@ -1 +1 @@ -import{R as p}from"./chunks/theme.C7U8FUUx.js";import{R as o,a5 as u,a6 as c,a7 as l,a8 as f,a9 as d,aa as m,ab as h,ac as g,ad as A,ae as v,d as P,u as R,v as w,s as y,af as C,ag as b,ah as E,ai as S}from"./chunks/framework.CEeYBNx8.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(p),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=R();return w(()=>{y(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),b(),E(),s.setup&&s.setup(),()=>S(s.Layout)}});async function D(){globalThis.__VITEPRESS__=!0;const e=j(),a=_();a.provide(c,e);const t=l(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function _(){return g(T)}function j(){let e=o,a;return A(t=>{let n=v(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&D().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{D as createApp}; +import{R as p}from"./chunks/theme.8pfT5Xl5.js";import{R as o,a5 as u,a6 as c,a7 as l,a8 as f,a9 as d,aa as m,ab as h,ac as g,ad as A,ae as v,d as P,u as R,v as w,s as y,af as C,ag as b,ah as E,ai as S}from"./chunks/framework.CEeYBNx8.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(p),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=R();return w(()=>{y(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),b(),E(),s.setup&&s.setup(),()=>S(s.Layout)}});async function D(){globalThis.__VITEPRESS__=!0;const e=j(),a=_();a.provide(c,e);const t=l(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function _(){return g(T)}function j(){let e=o,a;return A(t=>{let n=v(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&D().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{D as createApp}; diff --git a/dev/assets/basics_properties_isin.md.Sf__OxPC.js b/dev/assets/basics_properties_isin.md.BAbZdMC-.js similarity index 87% rename from dev/assets/basics_properties_isin.md.Sf__OxPC.js rename to dev/assets/basics_properties_isin.md.BAbZdMC-.js index 297e4922..ba31792d 100644 --- a/dev/assets/basics_properties_isin.md.Sf__OxPC.js +++ b/dev/assets/basics_properties_isin.md.BAbZdMC-.js @@ -1,4 +1,4 @@ -import{_ as a,c as n,a4 as i,o as e}from"./chunks/framework.CEeYBNx8.js";const r=JSON.parse('{"title":"Is it in a GeoRegion?","description":"","frontmatter":{},"headers":[],"relativePath":"basics/properties/isin.md","filePath":"basics/properties/isin.md","lastUpdated":null}'),p={name:"basics/properties/isin.md"};function t(l,s,o,h,c,d){return e(),n("div",null,s[0]||(s[0]=[i(`

Is it in a GeoRegion?

When dealing with geographic data, we often wish to check if a point or region is inside another region. GeoRegions.jl allows you to perform this check easily with the function isinGeoRegion.

Point Type

We use the Point Type from the package GeometryBasics.jl, which is reexported by GeoRegions.jl, as an easy way to denote points. This also allows us to use the package PolygonOps.jl to determine if a point is inside a region.

@example
using GeoRegions
+import{_ as a,c as n,a4 as i,o as e}from"./chunks/framework.CEeYBNx8.js";const r=JSON.parse('{"title":"Is it in a GeoRegion?","description":"","frontmatter":{},"headers":[],"relativePath":"basics/properties/isin.md","filePath":"basics/properties/isin.md","lastUpdated":null}'),p={name:"basics/properties/isin.md"};function t(l,s,o,h,c,d){return e(),n("div",null,s[0]||(s[0]=[i(`

Is it in a GeoRegion?

When dealing with geographic data, we often wish to check if a point or region is inside another region. GeoRegions.jl allows you to perform this check easily with the function isinGeoRegion.

Point2 Type

We use the Point2 Type from the package GeometryBasics.jl, which is reexported by GeoRegions.jl, as an easy way to denote points. This also allows us to use the package GeometryOps.jl to determine if a point is within a GeoRegion.

@example
using GeoRegions
 using DelimitedFiles
 using CairoMakie
 
@@ -27,7 +27,7 @@ import{_ as a,c as n,a4 as i,o as e}from"./chunks/framework.CEeYBNx8.js";const r
 scatter!(ax,C,markersize=20)
 resize_to_layout!(fig)
 fig

By eye it is easy to see that Point A is inside the GeoRegion. However, C is not. Let us now see if we are able to corroborate this with GeoRegions.jl using the function in()

julia
in(A,geo), # Point A
-in(C,geo)  # Point C
(true, false)

But what about Point B? Point B is also very obvious within the bounds of the GeoRegion, it is simply that the longitude of Point A is shifted by 360º such that it is now in the (0,360) coordinates frame. We see that this is of no concern to GeoRegions.jl, which can detect that it is within the bounds of the GeoRegion anyway.

julia
in(B,geo)
true

See the API here

Is a GeoRegion inside a GeoRegion?

Since any arbitrary geographic region can be defined as a GeoRegion, the natural extension now is to determine if a GeoRegion is wholly within another GeoRegion.

Let us consider an arbitrary GeoRegion BIG, and other smaller GeoRegions TS1-4 as defined below, and plot them on a map.

@example
geo_BIG = PolyRegion(
+in(C,geo)  # Point C
(true, false)

But what about Point B? Point B is also very obvious within the bounds of the GeoRegion, it is simply that the longitude of Point A is shifted by 360º such that it is now in the (0,360) coordinates frame. We see that this is of no concern to GeoRegions.jl, which can detect that it is within the bounds of the GeoRegion anyway.

julia
in(B,geo)
true

See the API here

Is a GeoRegion inside a GeoRegion?

Since any arbitrary geographic region can be defined as a GeoRegion, the natural extension now is to determine if a GeoRegion is wholly within another GeoRegion.

Let us consider an arbitrary GeoRegion BIG, and other smaller GeoRegions TS1-4 as defined below, and plot them on a map.

@example
geo_BIG = PolyRegion(
     "BIG","GLB","A Big Region",
     [-120,-100,-100,-80,-30,15,45,75,90,115,120,105,85,45,20,-5,-45,-80,-120],
     [0,10,30,50,40,50,55,44,32,30,12,8,5,0,-10,-30,-40,-43,0]
@@ -69,4 +69,4 @@ import{_ as a,c as n,a4 as i,o as e}from"./chunks/framework.CEeYBNx8.js";const r
 fig

We see by eye that GeoRegion TS2 and TS4 are in the BIG region, but the other GeoRegions are not. Now let us verify this with in()

julia
in(geo_TS1,geo_BIG),
 in(geo_TS2,geo_BIG),
 in(geo_TS3,geo_BIG),
-in(geo_TS4,geo_BIG)
(false, true, false, true)

And we see that this is indeed the case.

See the API for RectRegion type here, and for the TiltRegion and PolyRegion types here.

`,27)]))}const k=a(p,[["render",t]]);export{r as __pageData,k as default}; +in(geo_TS4,geo_BIG)
(false, true, false, true)

And we see that this is indeed the case.

See the API here.

`,27)]))}const k=a(p,[["render",t]]);export{r as __pageData,k as default}; diff --git a/dev/assets/basics_properties_isin.md.Sf__OxPC.lean.js b/dev/assets/basics_properties_isin.md.BAbZdMC-.lean.js similarity index 87% rename from dev/assets/basics_properties_isin.md.Sf__OxPC.lean.js rename to dev/assets/basics_properties_isin.md.BAbZdMC-.lean.js index 297e4922..ba31792d 100644 --- a/dev/assets/basics_properties_isin.md.Sf__OxPC.lean.js +++ b/dev/assets/basics_properties_isin.md.BAbZdMC-.lean.js @@ -1,4 +1,4 @@ -import{_ as a,c as n,a4 as i,o as e}from"./chunks/framework.CEeYBNx8.js";const r=JSON.parse('{"title":"Is it in a GeoRegion?","description":"","frontmatter":{},"headers":[],"relativePath":"basics/properties/isin.md","filePath":"basics/properties/isin.md","lastUpdated":null}'),p={name:"basics/properties/isin.md"};function t(l,s,o,h,c,d){return e(),n("div",null,s[0]||(s[0]=[i(`

Is it in a GeoRegion?

When dealing with geographic data, we often wish to check if a point or region is inside another region. GeoRegions.jl allows you to perform this check easily with the function isinGeoRegion.

Point Type

We use the Point Type from the package GeometryBasics.jl, which is reexported by GeoRegions.jl, as an easy way to denote points. This also allows us to use the package PolygonOps.jl to determine if a point is inside a region.

@example
using GeoRegions
+import{_ as a,c as n,a4 as i,o as e}from"./chunks/framework.CEeYBNx8.js";const r=JSON.parse('{"title":"Is it in a GeoRegion?","description":"","frontmatter":{},"headers":[],"relativePath":"basics/properties/isin.md","filePath":"basics/properties/isin.md","lastUpdated":null}'),p={name:"basics/properties/isin.md"};function t(l,s,o,h,c,d){return e(),n("div",null,s[0]||(s[0]=[i(`

Is it in a GeoRegion?

When dealing with geographic data, we often wish to check if a point or region is inside another region. GeoRegions.jl allows you to perform this check easily with the function isinGeoRegion.

Point2 Type

We use the Point2 Type from the package GeometryBasics.jl, which is reexported by GeoRegions.jl, as an easy way to denote points. This also allows us to use the package GeometryOps.jl to determine if a point is within a GeoRegion.

@example
using GeoRegions
 using DelimitedFiles
 using CairoMakie
 
@@ -27,7 +27,7 @@ import{_ as a,c as n,a4 as i,o as e}from"./chunks/framework.CEeYBNx8.js";const r
 scatter!(ax,C,markersize=20)
 resize_to_layout!(fig)
 fig

By eye it is easy to see that Point A is inside the GeoRegion. However, C is not. Let us now see if we are able to corroborate this with GeoRegions.jl using the function in()

julia
in(A,geo), # Point A
-in(C,geo)  # Point C
(true, false)

But what about Point B? Point B is also very obvious within the bounds of the GeoRegion, it is simply that the longitude of Point A is shifted by 360º such that it is now in the (0,360) coordinates frame. We see that this is of no concern to GeoRegions.jl, which can detect that it is within the bounds of the GeoRegion anyway.

julia
in(B,geo)
true

See the API here

Is a GeoRegion inside a GeoRegion?

Since any arbitrary geographic region can be defined as a GeoRegion, the natural extension now is to determine if a GeoRegion is wholly within another GeoRegion.

Let us consider an arbitrary GeoRegion BIG, and other smaller GeoRegions TS1-4 as defined below, and plot them on a map.

@example
geo_BIG = PolyRegion(
+in(C,geo)  # Point C
(true, false)

But what about Point B? Point B is also very obvious within the bounds of the GeoRegion, it is simply that the longitude of Point A is shifted by 360º such that it is now in the (0,360) coordinates frame. We see that this is of no concern to GeoRegions.jl, which can detect that it is within the bounds of the GeoRegion anyway.

julia
in(B,geo)
true

See the API here

Is a GeoRegion inside a GeoRegion?

Since any arbitrary geographic region can be defined as a GeoRegion, the natural extension now is to determine if a GeoRegion is wholly within another GeoRegion.

Let us consider an arbitrary GeoRegion BIG, and other smaller GeoRegions TS1-4 as defined below, and plot them on a map.

@example
geo_BIG = PolyRegion(
     "BIG","GLB","A Big Region",
     [-120,-100,-100,-80,-30,15,45,75,90,115,120,105,85,45,20,-5,-45,-80,-120],
     [0,10,30,50,40,50,55,44,32,30,12,8,5,0,-10,-30,-40,-43,0]
@@ -69,4 +69,4 @@ import{_ as a,c as n,a4 as i,o as e}from"./chunks/framework.CEeYBNx8.js";const r
 fig

We see by eye that GeoRegion TS2 and TS4 are in the BIG region, but the other GeoRegions are not. Now let us verify this with in()

julia
in(geo_TS1,geo_BIG),
 in(geo_TS2,geo_BIG),
 in(geo_TS3,geo_BIG),
-in(geo_TS4,geo_BIG)
(false, true, false, true)

And we see that this is indeed the case.

See the API for RectRegion type here, and for the TiltRegion and PolyRegion types here.

`,27)]))}const k=a(p,[["render",t]]);export{r as __pageData,k as default}; +in(geo_TS4,geo_BIG)
(false, true, false, true)

And we see that this is indeed the case.

See the API here.

`,27)]))}const k=a(p,[["render",t]]);export{r as __pageData,k as default}; diff --git a/dev/assets/basics_properties_ison.md.BTMJ7sz-.js b/dev/assets/basics_properties_ison.md.BTMJ7sz-.js new file mode 100644 index 00000000..131a3870 --- /dev/null +++ b/dev/assets/basics_properties_ison.md.BTMJ7sz-.js @@ -0,0 +1,49 @@ +import{_ as i,c as a,a4 as e,o as n}from"./chunks/framework.CEeYBNx8.js";const r=JSON.parse('{"title":"Is it on a GeoRegion Boundary?","description":"","frontmatter":{},"headers":[],"relativePath":"basics/properties/ison.md","filePath":"basics/properties/ison.md","lastUpdated":null}'),t={name:"basics/properties/ison.md"};function p(l,s,o,h,d,k){return n(),a("div",null,s[0]||(s[0]=[e(`

Is it on a GeoRegion Boundary?

Sometimes, we don't just want information on whether a point is inside a GeoRegion. Sometimes, it is important to know if something is on the boundary of a GeoRegion. This would prove useful in determining if the shapes of two different GeoRegions are equivalent to each other.

Point2 Type

We use the Point2 Type from the package GeometryBasics.jl, which is reexported by GeoRegions.jl, as an easy way to denote points. This also allows us to use the package GeometryOps.jl to determine if a point is on a GeoRegion boundary.

@example
using GeoRegions
+using DelimitedFiles
+using CairoMakie
+
+download("https://raw.githubusercontent.com/natgeo-wong/GeoPlottingData/main/coastline_resl.txt","coast.cst")
+coast = readdlm("coast.cst",comments=true)
+clon  = coast[:,1]
+clat  = coast[:,2]
+nothing

Is a Point on a GeoRegion Boundary?

As an example, let us test if a point is on the perimeter of the GeoRegion AR6_EAO, defined in the blue bounding box below.

julia
geo = GeoRegion("AR6_EAO")
The Polygonal Region AR6_EAO has the following properties:
+    Region ID     (ID) : AR6_EAO
+    Parent ID    (pID) : GLB
+    Name        (name) : Equatorial Atlantic Ocean
+    Bounds   (N,S,E,W) : [7.6, -10.0, 8.0, -50.0]
+    Shape      (shape) : Point{2, Float64}[[-34.0, -10.0], [-34.0, 0.0], [-50.0, 0.0], [-50.0, 7.6], [-20.0, 7.6], [8.0, 0.0], [8.0, -10.0], [-34.0, -10.0]]

Next, we select a point along the border

julia
A = Point(-25,7.6)
+B = Point(345,7.6)
+C = Point(-20,5)
+D = Point(-45,-7.5)
2-element Point{2, Float64} with indices SOneTo(2):
+ -45.0
+  -7.5

Here, we note that A and B

@example
slon,slat = coordinates(geo)
+aspect = (maximum(slon)-minimum(slon))/(maximum(slat)-minimum(slat))
+fig = Figure()
+ax = Axis(
+    fig[1,1],width=750,height=750/aspect,
+    limits=(minimum(slon)-2,maximum(slon)+2,minimum(slat)-2,maximum(slat)+2)
+)
+lines!(ax,clon,clat,color=:black,linewidth=3)
+lines!(ax,slon,slat,linewidth=5)
+scatter!(ax,A,markersize=20)
+scatter!(ax,C,markersize=20)
+scatter!(ax,D,markersize=20)
+resize_to_layout!(fig)
+fig

By eye it is easy to see that Point A is on the GeoRegion perimeter. However, C and D are not. Let us now see if we are able to corroborate this with GeoRegions.jl using the function on()

julia
on(A,geo), # Point A
+on(C,geo)  # Point C
+on(D,geo)  # Point D
false

But what about Point B? Point B is also very obviously on the bounds of the GeoRegion, it is simply that the longitude of Point B is shifted by 360º from A such that it is now in the (0,360) coordinates frame. We see that this is of no concern to GeoRegions.jl, which can detect that it is within the bounds of the GeoRegion anyway.

julia
on(B,geo)
false

See the API here

Is a GeoRegion on a GeoRegion? (i.e., Are their Shapes the Same?)

We can also use the on() function to determine if the perimeter of a GeoRegion is on the perimeter of another. Or, in simpler terms, if two GeoRegions define the same shape. For example:

julia
on(geo,geo)
true

See the API here

Which is obvious because we are comparing a GeoRegion against itself. However, let us try something a bit more complicated.

1. circshift() the points defining the GeoRegion

In this test case, we use circshift() to change the starting and ending coordinates of the shape. Therefore, we are defining the same region, just with different start and ending points.

julia
lon,lat = coordinates(geo)
+pop!(lon); lon = circshift(lon,2); lon = vcat(lon,lon[1])
+pop!(lat); lat = circshift(lat,2); lat = vcat(lat,lat[1])
+geo2 = PolyRegion("","","",lon,lat)
The Polygonal Region  has the following properties:
+    Region ID     (ID) : 
+    Parent ID    (pID) : 
+    Name        (name) : 
+    Bounds   (N,S,E,W) : [7.6, -10.0, 8.0, -50.0]
+    Shape      (shape) : Point{2, Float64}[[8.0, 0.0], [8.0, -10.0], [-34.0, -10.0], [-34.0, 0.0], [-50.0, 0.0], [-50.0, 7.6], [-20.0, 7.6], [8.0, 0.0]]

So here, we have circshifted the lon and lat values used to define the GeoRegion such that instead of the start/end points being at (-34,-10), now the start/end points are at (-50,0).

We compare the shapes of the two GeoRegions:

julia
on(geo,geo2),
+on(geo2,geo)
(true, true)

And see that the GeoRegions define the same area.

Order of GeoRegions does not matter in on()

The order should not matter, because in the on() function, the GeoRegions are both compared against each other. So on(geo,geo2) = on(geo2,geo). If you find any edge cases where this is not the case, please let me know and I will look into it.

2. Shifting the GeoRegion by 360º

In this test case, we shift the lon of geo by 360º, so that it is on a (0,360) grid instead of a (-180,180) grid.

julia
lon,lat = coordinates(geo); lon = lon .+ 360
+geo3 = PolyRegion("","","",lon,lat)
The Polygonal Region  has the following properties:
+    Region ID     (ID) : 
+    Parent ID    (pID) : 
+    Name        (name) : 
+    Bounds   (N,S,E,W) : [7.6, -10.0, 368.0, 310.0]
+    Shape      (shape) : Point{2, Float64}[[326.0, -10.0], [326.0, 0.0], [310.0, 0.0], [310.0, 7.6], [340.0, 7.6], [368.0, 0.0], [368.0, -10.0], [326.0, -10.0]]

We compare the shapes of the two GeoRegions:

julia
on(geo,geo3)
true

And we see that the GeoRegions define the same area.

`,44)]))}const g=i(t,[["render",p]]);export{r as __pageData,g as default}; diff --git a/dev/assets/basics_properties_ison.md.BTMJ7sz-.lean.js b/dev/assets/basics_properties_ison.md.BTMJ7sz-.lean.js new file mode 100644 index 00000000..131a3870 --- /dev/null +++ b/dev/assets/basics_properties_ison.md.BTMJ7sz-.lean.js @@ -0,0 +1,49 @@ +import{_ as i,c as a,a4 as e,o as n}from"./chunks/framework.CEeYBNx8.js";const r=JSON.parse('{"title":"Is it on a GeoRegion Boundary?","description":"","frontmatter":{},"headers":[],"relativePath":"basics/properties/ison.md","filePath":"basics/properties/ison.md","lastUpdated":null}'),t={name:"basics/properties/ison.md"};function p(l,s,o,h,d,k){return n(),a("div",null,s[0]||(s[0]=[e(`

Is it on a GeoRegion Boundary?

Sometimes, we don't just want information on whether a point is inside a GeoRegion. Sometimes, it is important to know if something is on the boundary of a GeoRegion. This would prove useful in determining if the shapes of two different GeoRegions are equivalent to each other.

Point2 Type

We use the Point2 Type from the package GeometryBasics.jl, which is reexported by GeoRegions.jl, as an easy way to denote points. This also allows us to use the package GeometryOps.jl to determine if a point is on a GeoRegion boundary.

@example
using GeoRegions
+using DelimitedFiles
+using CairoMakie
+
+download("https://raw.githubusercontent.com/natgeo-wong/GeoPlottingData/main/coastline_resl.txt","coast.cst")
+coast = readdlm("coast.cst",comments=true)
+clon  = coast[:,1]
+clat  = coast[:,2]
+nothing

Is a Point on a GeoRegion Boundary?

As an example, let us test if a point is on the perimeter of the GeoRegion AR6_EAO, defined in the blue bounding box below.

julia
geo = GeoRegion("AR6_EAO")
The Polygonal Region AR6_EAO has the following properties:
+    Region ID     (ID) : AR6_EAO
+    Parent ID    (pID) : GLB
+    Name        (name) : Equatorial Atlantic Ocean
+    Bounds   (N,S,E,W) : [7.6, -10.0, 8.0, -50.0]
+    Shape      (shape) : Point{2, Float64}[[-34.0, -10.0], [-34.0, 0.0], [-50.0, 0.0], [-50.0, 7.6], [-20.0, 7.6], [8.0, 0.0], [8.0, -10.0], [-34.0, -10.0]]

Next, we select a point along the border

julia
A = Point(-25,7.6)
+B = Point(345,7.6)
+C = Point(-20,5)
+D = Point(-45,-7.5)
2-element Point{2, Float64} with indices SOneTo(2):
+ -45.0
+  -7.5

Here, we note that A and B

@example
slon,slat = coordinates(geo)
+aspect = (maximum(slon)-minimum(slon))/(maximum(slat)-minimum(slat))
+fig = Figure()
+ax = Axis(
+    fig[1,1],width=750,height=750/aspect,
+    limits=(minimum(slon)-2,maximum(slon)+2,minimum(slat)-2,maximum(slat)+2)
+)
+lines!(ax,clon,clat,color=:black,linewidth=3)
+lines!(ax,slon,slat,linewidth=5)
+scatter!(ax,A,markersize=20)
+scatter!(ax,C,markersize=20)
+scatter!(ax,D,markersize=20)
+resize_to_layout!(fig)
+fig

By eye it is easy to see that Point A is on the GeoRegion perimeter. However, C and D are not. Let us now see if we are able to corroborate this with GeoRegions.jl using the function on()

julia
on(A,geo), # Point A
+on(C,geo)  # Point C
+on(D,geo)  # Point D
false

But what about Point B? Point B is also very obviously on the bounds of the GeoRegion, it is simply that the longitude of Point B is shifted by 360º from A such that it is now in the (0,360) coordinates frame. We see that this is of no concern to GeoRegions.jl, which can detect that it is within the bounds of the GeoRegion anyway.

julia
on(B,geo)
false

See the API here

Is a GeoRegion on a GeoRegion? (i.e., Are their Shapes the Same?)

We can also use the on() function to determine if the perimeter of a GeoRegion is on the perimeter of another. Or, in simpler terms, if two GeoRegions define the same shape. For example:

julia
on(geo,geo)
true

See the API here

Which is obvious because we are comparing a GeoRegion against itself. However, let us try something a bit more complicated.

1. circshift() the points defining the GeoRegion

In this test case, we use circshift() to change the starting and ending coordinates of the shape. Therefore, we are defining the same region, just with different start and ending points.

julia
lon,lat = coordinates(geo)
+pop!(lon); lon = circshift(lon,2); lon = vcat(lon,lon[1])
+pop!(lat); lat = circshift(lat,2); lat = vcat(lat,lat[1])
+geo2 = PolyRegion("","","",lon,lat)
The Polygonal Region  has the following properties:
+    Region ID     (ID) : 
+    Parent ID    (pID) : 
+    Name        (name) : 
+    Bounds   (N,S,E,W) : [7.6, -10.0, 8.0, -50.0]
+    Shape      (shape) : Point{2, Float64}[[8.0, 0.0], [8.0, -10.0], [-34.0, -10.0], [-34.0, 0.0], [-50.0, 0.0], [-50.0, 7.6], [-20.0, 7.6], [8.0, 0.0]]

So here, we have circshifted the lon and lat values used to define the GeoRegion such that instead of the start/end points being at (-34,-10), now the start/end points are at (-50,0).

We compare the shapes of the two GeoRegions:

julia
on(geo,geo2),
+on(geo2,geo)
(true, true)

And see that the GeoRegions define the same area.

Order of GeoRegions does not matter in on()

The order should not matter, because in the on() function, the GeoRegions are both compared against each other. So on(geo,geo2) = on(geo2,geo). If you find any edge cases where this is not the case, please let me know and I will look into it.

2. Shifting the GeoRegion by 360º

In this test case, we shift the lon of geo by 360º, so that it is on a (0,360) grid instead of a (-180,180) grid.

julia
lon,lat = coordinates(geo); lon = lon .+ 360
+geo3 = PolyRegion("","","",lon,lat)
The Polygonal Region  has the following properties:
+    Region ID     (ID) : 
+    Parent ID    (pID) : 
+    Name        (name) : 
+    Bounds   (N,S,E,W) : [7.6, -10.0, 368.0, 310.0]
+    Shape      (shape) : Point{2, Float64}[[326.0, -10.0], [326.0, 0.0], [310.0, 0.0], [310.0, 7.6], [340.0, 7.6], [368.0, 0.0], [368.0, -10.0], [326.0, -10.0]]

We compare the shapes of the two GeoRegions:

julia
on(geo,geo3)
true

And we see that the GeoRegions define the same area.

`,44)]))}const g=i(t,[["render",p]]);export{r as __pageData,g as default}; diff --git a/dev/assets/chunks/@localSearchIndexroot.BGcA3kuP.js b/dev/assets/chunks/@localSearchIndexroot.BGcA3kuP.js deleted file mode 100644 index be3cbeff..00000000 --- a/dev/assets/chunks/@localSearchIndexroot.BGcA3kuP.js +++ /dev/null @@ -1 +0,0 @@ -const e='{"documentCount":52,"nextId":52,"documentIds":{"0":"/GeoRegions.jl/dev/api/addreadrm#API-for-Adding,-Reading-and-Removing-GeoRegions","1":"/GeoRegions.jl/dev/api/create#API-for-Creating-GeoRegions","2":"/GeoRegions.jl/dev/api/isin#API-for-Is-it-in/on-a-GeoRegion?","3":"/GeoRegions.jl/dev/api/project#API-for-Project-Handling-in-GeoRegions.jl","4":"/GeoRegions.jl/dev/api/properties#API-for-Different-GeoRegion-Properties","5":"/GeoRegions.jl/dev/basics/create#Creating-Custom-GeoRegions","6":"/GeoRegions.jl/dev/basics/create#Defining-New-RectRegions","7":"/GeoRegions.jl/dev/basics/create#Defining-New-PolyRegions","8":"/GeoRegions.jl/dev/basics/create#Defining-New-TiltRegions","9":"/GeoRegions.jl/dev/basics/properties/isequal#Comparing-GeoRegions","10":"/GeoRegions.jl/dev/basics/properties/isequal#1.-Are-two-GeoRegions-Equivalent","11":"/GeoRegions.jl/dev/api/tables#API-for-Tables-in-GeoRegions.jl","12":"/GeoRegions.jl/dev/basics/properties/isin#Is-it-in-a-GeoRegion?","13":"/GeoRegions.jl/dev/basics/properties/isin#Is-a-Point-in-a-GeoRegion?","14":"/GeoRegions.jl/dev/basics/properties/isin#Is-a-GeoRegion-inside-a-GeoRegion?","15":"/GeoRegions.jl/dev/basics/properties/shape#The-Shape-of-a-GeoRegion","16":"/GeoRegions.jl/dev/basics/properties/shape#Retrieving-the-coordinates-of-a-GeoRegion","17":"/GeoRegions.jl/dev/basics/read/overview#Reading-Predefined-GeoRegions","18":"/GeoRegions.jl/dev/basics/read/predefined#Predefined-GeoRegions-in-GeoRegions.jl","19":"/GeoRegions.jl/dev/basics/read/predefined#Adapted-from-Giorgi-and-Francisco-[2000]","20":"/GeoRegions.jl/dev/basics/read/predefined#SREX-Regions-adapted-from-Seneviratne-et-al.-[2012]","21":"/GeoRegions.jl/dev/basics/read/predefined#AR6-Regions-adapted-from-Iturbide-et-al.,-[2020]","22":"/GeoRegions.jl/dev/basics/read/listall#Default-List-of-Predefined-GeoRegions","23":"/GeoRegions.jl/dev/basics/read/listall#GeoRegions.jl\'s-default-region-is-the-Globe","24":"/GeoRegions.jl/dev/basics/read/listall#Giorgi-and-Francisco-[2000]","25":"/GeoRegions.jl/dev/basics/read/listall#SREX-Regions-from-Seneviratne-et-al.-[2012]","26":"/GeoRegions.jl/dev/basics/read/listall#IPCC-AR6-Regions-from-Iturbide-et-al.,-[2020]","27":"/GeoRegions.jl/dev/georegions#What-is-a-GeoRegion?","28":"/GeoRegions.jl/dev/georegions#Types-of-GeoRegions","29":"/GeoRegions.jl/dev/georegions#rectregions","30":"/GeoRegions.jl/dev/georegions#tiltregions","31":"/GeoRegions.jl/dev/georegions#polyregions","32":"/GeoRegions.jl/dev/basics/read/tables#Tabular-Listings-of-GeoRegions","33":"/GeoRegions.jl/dev/basics/read/tables#More-specific-lists-of-GeoRegions","34":"/GeoRegions.jl/dev/basics/read/tables#Use-Case-Examples","35":"/GeoRegions.jl/dev/#Installation-Instructions","36":"/GeoRegions.jl/dev/#Getting-help","37":"/GeoRegions.jl/dev/tutorials/addreadrm#Manipulation-of-User-Defined-GeoRegions.jl-for-your-Project","38":"/GeoRegions.jl/dev/tutorials/addreadrm#1.-Adding-custom-GeoRegions-to-your-Project","39":"/GeoRegions.jl/dev/tutorials/addreadrm#2.-Check-if-GeoRegions-have-been-added","40":"/GeoRegions.jl/dev/tutorials/addreadrm#3.-Reading-and-Retrieving-GeoRegions-for-your-Project","41":"/GeoRegions.jl/dev/tutorials/addreadrm#4.-Overwriting-Information-for-a-Previously-Defined-GeoRegion","42":"/GeoRegions.jl/dev/tutorials/addreadrm#5.-Removing-a-custom-GeoRegions-from-your-Project","43":"/GeoRegions.jl/dev/tutorials/addreadrm#5.1-Removing-a-GeoRegion-that-has-been-loaded","44":"/GeoRegions.jl/dev/tutorials/addreadrm#5.2-Removing-a-GeoRegion-based-on-its-ID","45":"/GeoRegions.jl/dev/tutorials/addreadrm#6.-Removing-a-the-custom-GeoRegions-lists-from-your-Project","46":"/GeoRegions.jl/dev/tutorials/files#Reading-in-a-file-with-a-list-of-Custom-GeoRegion","47":"/GeoRegions.jl/dev/tutorials/files#Listing-GeoRegions-inside-Custom-Files","48":"/GeoRegions.jl/dev/tutorials/projects#GeoRegions.jl-for-your-Research-Project","49":"/GeoRegions.jl/dev/tutorials/projects#1.-Setup-GeoRegions.jl-for-your-Project","50":"/GeoRegions.jl/dev/tutorials/projects#2.-Listing-out-the-custom-GeoRegions-for-your-Project","51":"/GeoRegions.jl/dev/tutorials/projects#3.-Removing-a-the-custom-GeoRegions-list-from-your-Project"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[7,1,121],"1":[4,1,129],"2":[9,1,93],"3":[7,1,71],"4":[5,1,40],"5":[3,1,53],"6":[3,3,86],"7":[3,3,94],"8":[3,3,93],"9":[2,1,14],"10":[5,2,20],"11":[6,1,77],"12":[6,1,76],"13":[6,6,156],"14":[5,6,143],"15":[5,1,93],"16":[6,5,114],"17":[3,1,88],"18":[4,1,10],"19":[7,4,75],"20":[9,4,82],"21":[9,4,81],"22":[5,1,5],"23":[9,5,22],"24":[5,5,127],"25":[8,5,178],"26":[9,5,233],"27":[5,1,93],"28":[3,5,29],"29":[1,7,22],"30":[1,7,67],"31":[1,7,23],"32":[4,1,84],"33":[5,4,49],"34":[3,4,314],"35":[2,1,69],"36":[2,1,36],"37":[9,1,27],"38":[7,9,151],"39":[7,9,131],"40":[8,9,71],"41":[8,9,109],"42":[8,9,39],"43":[9,14,65],"44":[9,14,68],"45":[10,9,122],"46":[9,1,1],"47":[5,9,22],"48":[6,1,80],"49":[7,6,97],"50":[9,6,99],"51":[10,6,85]},"averageFieldLength":[5.788461538461539,4.288461538461537,83.21153846153847],"storedFields":{"0":{"title":"API for Adding, Reading and Removing GeoRegions","titles":[]},"1":{"title":"API for Creating GeoRegions","titles":[]},"2":{"title":"API for Is it in/on a GeoRegion?","titles":[]},"3":{"title":"API for Project-Handling in GeoRegions.jl","titles":[]},"4":{"title":"API for Different GeoRegion Properties","titles":[]},"5":{"title":"Creating Custom GeoRegions","titles":[]},"6":{"title":"Defining New RectRegions","titles":["Creating Custom GeoRegions"]},"7":{"title":"Defining New PolyRegions","titles":["Creating Custom GeoRegions"]},"8":{"title":"Defining New TiltRegions","titles":["Creating Custom GeoRegions"]},"9":{"title":"Comparing GeoRegions","titles":[]},"10":{"title":"1. Are two GeoRegions Equivalent","titles":["Comparing GeoRegions"]},"11":{"title":"API for Tables in GeoRegions.jl","titles":[]},"12":{"title":"Is it in a GeoRegion?","titles":[]},"13":{"title":"Is a Point in a GeoRegion?","titles":["Is it in a GeoRegion?"]},"14":{"title":"Is a GeoRegion inside a GeoRegion?","titles":["Is it in a GeoRegion?"]},"15":{"title":"The Shape of a GeoRegion","titles":[]},"16":{"title":"Retrieving the coordinates of a GeoRegion","titles":["The Shape of a GeoRegion"]},"17":{"title":"Reading Predefined GeoRegions","titles":[]},"18":{"title":"Predefined GeoRegions in GeoRegions.jl","titles":[]},"19":{"title":"Adapted from Giorgi & Francisco [2000]","titles":["Predefined GeoRegions in GeoRegions.jl"]},"20":{"title":"SREX Regions adapted from Seneviratne et al. [2012]","titles":["Predefined GeoRegions in GeoRegions.jl"]},"21":{"title":"AR6 Regions adapted from Iturbide et al., [2020]","titles":["Predefined GeoRegions in GeoRegions.jl"]},"22":{"title":"Default List of Predefined GeoRegions","titles":[]},"23":{"title":"GeoRegions.jl's default region is the Globe","titles":["Default List of Predefined GeoRegions"]},"24":{"title":"Giorgi & Francisco [2000]","titles":["Default List of Predefined GeoRegions"]},"25":{"title":"SREX Regions from Seneviratne et al. [2012]","titles":["Default List of Predefined GeoRegions"]},"26":{"title":"IPCC AR6 Regions from Iturbide et al., [2020]","titles":["Default List of Predefined GeoRegions"]},"27":{"title":"What is a GeoRegion?","titles":[]},"28":{"title":"Types of GeoRegions","titles":["What is a GeoRegion?"]},"29":{"title":"RectRegions","titles":["What is a GeoRegion?","Types of GeoRegions"]},"30":{"title":"TiltRegions","titles":["What is a GeoRegion?","Types of GeoRegions"]},"31":{"title":"PolyRegions","titles":["What is a GeoRegion?","Types of GeoRegions"]},"32":{"title":"Tabular Listings of GeoRegions","titles":[]},"33":{"title":"More specific lists of GeoRegions","titles":["Tabular Listings of GeoRegions"]},"34":{"title":"Use Case Examples","titles":["Tabular Listings of GeoRegions"]},"35":{"title":"Installation Instructions","titles":[]},"36":{"title":"Getting help","titles":[]},"37":{"title":"Manipulation of User-Defined GeoRegions.jl for your Project","titles":[]},"38":{"title":"1. Adding custom GeoRegions to your Project","titles":["Manipulation of User-Defined GeoRegions.jl for your Project"]},"39":{"title":"2. Check if GeoRegions have been added","titles":["Manipulation of User-Defined GeoRegions.jl for your Project"]},"40":{"title":"3. Reading and Retrieving GeoRegions for your Project","titles":["Manipulation of User-Defined GeoRegions.jl for your Project"]},"41":{"title":"4. Overwriting Information for a Previously Defined GeoRegion","titles":["Manipulation of User-Defined GeoRegions.jl for your Project"]},"42":{"title":"5. Removing a custom GeoRegions from your Project","titles":["Manipulation of User-Defined GeoRegions.jl for your Project"]},"43":{"title":"5.1 Removing a GeoRegion that has been loaded","titles":["Manipulation of User-Defined GeoRegions.jl for your Project","5. Removing a custom GeoRegions from your Project"]},"44":{"title":"5.2 Removing a GeoRegion based on its ID","titles":["Manipulation of User-Defined GeoRegions.jl for your Project","5. Removing a custom GeoRegions from your Project"]},"45":{"title":"6. Removing a the custom GeoRegions lists from your Project","titles":["Manipulation of User-Defined GeoRegions.jl for your Project"]},"46":{"title":"Reading in a file with a list of Custom GeoRegion","titles":[]},"47":{"title":"Listing GeoRegions inside Custom Files","titles":["Reading in a file with a list of Custom GeoRegion"]},"48":{"title":"GeoRegions.jl for your Research Project","titles":[]},"49":{"title":"1. Setup GeoRegions.jl for your Project","titles":["GeoRegions.jl for your Research Project"]},"50":{"title":"2. Listing out the custom GeoRegions for your Project","titles":["GeoRegions.jl for your Research Project"]},"51":{"title":"3. Removing a the custom GeoRegions list from your Project","titles":["GeoRegions.jl for your Research Project"]}},"dirtCount":0,"index":[["⋮",{"2":{"39":6}}],["$path",{"2":{"38":3}}],["questions",{"2":{"36":2}}],["quot",{"2":{"2":4,"17":2,"32":4,"34":2,"38":4,"49":2}}],["~",{"2":{"34":3,"45":1,"49":3,"51":1}}],["└",{"2":{"34":3,"45":1,"49":3,"51":1}}],["`",{"2":{"34":3}}],["`setupgeoregions",{"2":{"34":3}}],["┌",{"2":{"34":3,"45":1,"49":3,"51":1}}],["unless",{"2":{"50":1}}],["universally",{"2":{"48":1}}],["update",{"2":{"35":3}}],["ultimate",{"2":{"33":1}}],["us",{"2":{"8":1,"12":1,"13":2,"14":2,"15":1,"39":1}}],["using",{"2":{"6":1,"7":2,"8":1,"12":2,"13":1,"15":2,"16":2,"17":1,"27":2,"32":1,"35":2,"36":1,"39":2,"47":1,"48":2,"50":1}}],["useful",{"2":{"27":1}}],["uses",{"2":{"17":1}}],["use",{"0":{"34":1},"2":{"1":3,"5":1,"10":1,"12":2,"32":1,"34":3,"36":1,"38":1,"41":1,"43":2,"44":1,"45":1,"49":2}}],["user",{"0":{"37":1},"1":{"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1},"2":{"0":1,"1":3,"11":7,"32":5,"39":1,"40":1,"45":1,"48":2,"49":2,"50":2}}],["used",{"2":{"0":6,"1":6,"41":1}}],["zealand",{"2":{"26":1,"34":2}}],["≧",{"2":{"25":1,"26":1}}],["≥v2",{"2":{"28":1}}],["≥v6",{"2":{"28":1}}],["≥2",{"2":{"20":1,"21":1,"25":1,"26":1}}],["≥1",{"2":{"19":1,"24":1}}],["≥",{"2":{"19":1,"20":1,"21":1}}],["918",{"2":{"51":1}}],["99",{"2":{"39":1}}],["93",{"2":{"26":3,"34":6}}],["9",{"2":{"16":2,"26":1,"34":2}}],["95",{"2":{"14":1,"25":1,"34":2}}],["98",{"2":{"14":1}}],["906",{"2":{"49":3}}],["90",{"2":{"6":2,"14":6,"17":7,"23":2,"24":3,"25":4,"26":10,"27":2,"34":30,"39":2,"41":5,"50":2}}],["83",{"2":{"26":2,"34":4}}],["822",{"2":{"45":1}}],["82",{"2":{"25":1,"26":2,"34":6}}],["81",{"2":{"15":2,"26":1,"34":2}}],["85",{"2":{"14":1,"20":4,"24":2,"25":4,"26":2,"34":16,"39":1}}],["80",{"2":{"14":3}}],["8",{"2":{"13":3,"14":1,"16":2,"25":2,"26":8,"34":20}}],["741",{"2":{"44":1}}],["737",{"2":{"43":1}}],["734",{"2":{"43":1}}],["767",{"2":{"44":1}}],["76",{"2":{"26":1,"34":2}}],["79",{"2":{"25":1,"26":3,"34":8}}],["771",{"2":{"38":1}}],["77",{"2":{"15":1,"26":1,"34":2}}],["72",{"2":{"15":2,"25":2,"26":5,"34":14}}],["70",{"2":{"14":1,"25":1,"26":1,"34":4}}],["75",{"2":{"14":1,"24":4,"25":4,"26":5,"34":26,"39":2}}],["7",{"2":{"13":4,"25":3,"26":11,"34":28}}],["62",{"2":{"26":2,"34":4}}],["64",{"2":{"26":1,"34":2}}],["67",{"2":{"25":1,"34":2}}],["679491924311229",{"2":{"8":3,"45":3}}],["66",{"2":{"25":1,"26":1,"34":4}}],["61",{"2":{"25":1,"26":1,"34":4}}],["68",{"2":{"25":1,"34":2}}],["65",{"2":{"24":2,"26":6,"34":16}}],["60",{"2":{"14":2,"24":2,"25":7,"26":4,"34":26,"38":5,"39":3}}],["6",{"0":{"45":1},"2":{"13":3,"15":3,"20":3,"25":4,"26":7,"34":22}}],["63",{"2":{"8":2,"45":2}}],["41",{"2":{"38":1}}],["46",{"2":{"26":3,"34":6}}],["42",{"2":{"26":1,"34":2,"41":2,"43":2,"44":2,"45":1,"49":3,"51":1}}],["48",{"2":{"25":1,"26":1,"34":4}}],["44",{"2":{"14":1}}],["4",{"0":{"41":1},"2":{"14":6,"25":7,"26":3,"34":20}}],["45",{"2":{"13":1,"14":4,"21":3,"24":1,"25":2,"26":9,"34":24,"39":1}}],["43",{"2":{"8":4,"14":1,"45":4,"49":3}}],["47",{"2":{"8":2,"26":1,"34":2,"45":2}}],["400",{"2":{"16":1}}],["401",{"2":{"16":2}}],["40",{"2":{"7":6,"14":2,"24":4,"25":6,"26":8,"34":36,"38":5,"39":3}}],["518",{"2":{"41":1}}],["53",{"2":{"26":3,"34":6}}],["56",{"2":{"25":2,"26":6,"34":16}}],["52",{"2":{"15":1,"25":3,"34":6}}],["58",{"2":{"15":1,"26":1,"34":2}}],["55",{"2":{"14":1,"24":2,"26":1,"34":6,"39":1}}],["5",{"0":{"42":1,"43":1,"44":1},"1":{"43":1,"44":1},"2":{"8":2,"13":5,"14":4,"15":1,"21":4,"24":1,"25":8,"26":12,"34":42,"45":2}}],["50",{"2":{"6":4,"7":4,"8":2,"13":3,"14":2,"15":4,"16":1,"20":4,"24":10,"25":12,"26":13,"34":70,"38":1,"39":7,"40":3,"41":5,"45":2}}],["064",{"2":{"41":1}}],["08",{"2":{"38":1,"41":2,"43":2,"44":2,"45":1,"49":3,"51":1}}],["09",{"2":{"38":1,"41":2,"43":2,"44":2,"45":1,"49":3,"51":1}}],["0",{"2":{"6":14,"7":14,"8":5,"13":21,"14":7,"15":18,"17":18,"19":14,"20":11,"21":16,"23":5,"24":89,"25":117,"26":203,"27":1,"34":808,"38":15,"39":66,"40":23,"41":29,"45":5,"50":5}}],["31",{"2":{"26":1,"34":2}}],["38",{"2":{"26":1,"34":2}}],["36",{"2":{"26":5,"34":10}}],["360º",{"2":{"13":1}}],["360",{"2":{"6":2,"13":1,"14":1,"17":3,"23":1,"24":1,"25":1,"26":1,"27":1,"34":4,"39":1,"50":1}}],["33",{"2":{"26":3,"34":6}}],["330",{"2":{"14":2,"24":1,"34":2,"39":1}}],["350",{"2":{"24":1,"34":2,"39":1}}],["35",{"2":{"14":1,"24":1,"25":1,"34":4}}],["355",{"2":{"14":1}}],["3",{"0":{"40":1,"51":1},"2":{"14":5,"19":1,"20":1,"21":1,"24":1,"25":3,"26":5,"34":12}}],["320",{"2":{"14":1,"24":1,"34":2,"39":1}}],["32050807568877",{"2":{"8":4,"45":4}}],["325",{"2":{"14":2}}],["32",{"2":{"14":1,"26":1,"34":2}}],["34",{"2":{"13":3,"25":1,"26":2,"34":6}}],["340",{"2":{"13":2}}],["37",{"2":{"8":2,"21":2,"26":2,"34":4,"45":2}}],["300",{"2":{"14":2,"24":1,"34":2,"39":1}}],["30127018922193",{"2":{"8":7,"45":7}}],["30",{"2":{"6":5,"7":11,"8":2,"13":1,"14":5,"24":8,"25":7,"26":6,"34":42,"39":4,"45":2}}],["39",{"0":{"23":1},"2":{"0":1,"1":3,"11":4,"25":1,"34":2,"35":1,"40":2,"42":2,"45":1}}],["≤v6",{"2":{"48":1}}],["≤",{"2":{"6":4}}],["getting",{"0":{"36":1}}],["get",{"2":{"35":1,"36":1,"49":1}}],["generally",{"2":{"27":1,"35":1}}],["geometryops",{"2":{"27":1}}],["geometry",{"2":{"27":1}}],["geometrybasics",{"2":{"12":1,"27":1}}],["geoplottingdata",{"2":{"12":1,"15":1}}],["geographic",{"2":{"12":1,"14":1}}],["geographical",{"2":{"2":4,"27":2}}],["geo2",{"2":{"2":3}}],["geo1",{"2":{"2":3}}],["geodir",{"2":{"0":5}}],["geo",{"2":{"0":15,"1":6,"2":14,"4":2,"13":5,"14":17,"16":2,"17":1,"38":2,"41":3,"43":1}}],["georegion",{"0":{"2":1,"4":1,"12":1,"13":1,"14":2,"15":1,"16":1,"27":1,"41":1,"43":1,"44":1,"46":1},"1":{"13":1,"14":1,"16":1,"28":1,"29":1,"30":1,"31":1,"47":1},"2":{"0":21,"1":18,"2":18,"3":2,"4":5,"5":3,"6":1,"7":1,"13":7,"14":5,"15":3,"16":1,"17":7,"19":1,"20":1,"21":1,"27":11,"29":1,"30":2,"31":1,"33":3,"34":1,"38":4,"40":1,"41":9,"42":2,"43":5,"44":4,"45":1,"48":2,"51":1}}],["georegions",{"0":{"0":1,"1":1,"3":1,"5":1,"9":1,"10":1,"11":1,"17":1,"18":2,"22":1,"23":1,"28":1,"32":1,"33":1,"37":1,"38":1,"39":1,"40":1,"42":1,"45":1,"47":1,"48":1,"49":1,"50":1,"51":1},"1":{"6":1,"7":1,"8":1,"10":1,"19":2,"20":2,"21":2,"23":1,"24":1,"25":1,"26":1,"29":1,"30":1,"31":1,"33":1,"34":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":2,"44":2,"45":1,"49":1,"50":1,"51":1},"2":{"0":11,"1":9,"2":5,"3":7,"4":1,"5":2,"6":1,"7":1,"8":1,"9":1,"10":1,"11":8,"12":3,"13":2,"14":2,"15":1,"17":5,"18":2,"19":5,"20":5,"21":5,"22":1,"24":3,"25":3,"26":3,"27":3,"28":6,"29":1,"30":1,"31":1,"32":8,"33":3,"34":17,"35":5,"36":1,"37":2,"38":4,"39":1,"40":2,"41":2,"43":2,"44":4,"45":10,"47":1,"48":6,"49":30,"50":5,"51":9}}],["global",{"2":{"23":1,"24":1,"25":1,"26":1,"27":2,"34":4,"39":1,"50":1}}],["globe",{"0":{"23":1},"2":{"17":2,"23":1,"24":1,"25":1,"26":1,"34":4,"39":1,"50":1}}],["glb",{"2":{"6":3,"7":2,"8":3,"13":1,"14":5,"15":1,"17":5,"19":1,"20":1,"21":1,"23":2,"24":23,"25":35,"26":60,"27":2,"33":3,"34":233,"38":3,"39":17,"40":1,"41":3,"44":1,"45":2,"50":2}}],["go",{"2":{"15":1,"19":1,"20":1,"21":1}}],["gf",{"2":{"11":1,"19":5,"24":23,"34":42,"39":13,"44":1,"48":1}}],["github",{"2":{"35":1}}],["githubusercontent",{"2":{"12":1,"15":1}}],["gic",{"2":{"26":1,"34":2}}],["giorgi=true",{"2":{"24":1}}],["giorgi",{"0":{"19":1,"24":1},"2":{"11":3,"19":2,"24":22,"33":1,"34":42,"39":13}}],["given",{"2":{"4":1,"13":1,"17":1,"19":1,"20":1,"21":1,"24":1,"25":1,"26":1,"27":1,"32":1}}],["grl",{"2":{"24":1,"34":2,"39":1}}],["greenland",{"2":{"24":1,"25":1,"26":1,"34":6,"39":1}}],["green",{"2":{"14":2}}],["grid",{"2":{"7":1,"29":1,"30":1,"31":1}}],["grants",{"2":{"7":1}}],["gt",{"2":{"6":2,"24":1,"49":1}}],["14",{"2":{"26":3,"34":6,"38":4,"39":1}}],["145",{"2":{"24":1,"25":1,"26":2,"34":8}}],["143",{"2":{"15":1}}],["161",{"2":{"45":1,"51":1}}],["167",{"2":{"34":1}}],["16",{"2":{"26":1,"34":2}}],["165",{"2":{"24":1,"34":2}}],["168",{"2":{"15":3,"25":1,"26":1,"34":4}}],["132",{"2":{"21":2,"26":2,"34":4}}],["130",{"2":{"15":1,"25":1,"26":3,"34":8}}],["192",{"2":{"26":1,"34":2}}],["19",{"2":{"21":4,"26":3,"34":6}}],["118",{"2":{"25":1,"34":2}}],["11",{"2":{"25":5,"34":10}}],["117",{"2":{"21":1,"26":1,"34":2}}],["110",{"2":{"14":4,"24":1,"25":2,"26":4,"34":14,"39":1}}],["115",{"2":{"14":1}}],["155",{"2":{"24":1,"25":5,"26":6,"34":24,"39":1}}],["152",{"2":{"21":2,"26":1,"34":2}}],["15",{"2":{"13":1,"14":3,"19":3,"24":5,"25":4,"26":4,"34":26,"39":3}}],["122",{"2":{"26":1,"34":2}}],["125",{"2":{"15":1}}],["129",{"2":{"15":1}}],["120",{"2":{"14":3}}],["12",{"2":{"8":1,"14":1,"26":4,"34":8,"45":1}}],["104",{"2":{"26":1,"34":2}}],["108",{"2":{"21":1}}],["105",{"2":{"14":1,"15":4,"20":3,"25":4,"26":4,"34":16}}],["10",{"2":{"6":5,"7":4,"8":2,"13":4,"14":6,"24":6,"25":7,"26":18,"34":62,"35":3,"38":3,"39":4,"40":6,"41":9,"45":2}}],["100",{"2":{"2":3,"14":3,"21":4,"24":3,"25":3,"26":3,"34":18,"38":1,"39":1,"40":3}}],["180",{"2":{"6":1,"13":2,"14":2,"24":2,"25":6,"26":9,"34":34,"39":1}}],["1",{"0":{"10":1,"38":1,"43":1,"49":1},"2":{"4":1,"12":1,"13":2,"14":7,"15":1,"16":4,"19":2,"24":3,"25":2,"26":1,"32":1,"34":6,"38":1}}],["+2",{"2":{"13":2,"16":2}}],["+",{"2":{"3":1,"16":2}}],["227",{"2":{"34":1}}],["292",{"2":{"34":1}}],["268",{"2":{"26":1,"34":2}}],["26",{"2":{"26":1,"34":2}}],["276",{"2":{"26":1,"34":2}}],["27",{"2":{"26":4,"34":8}}],["275",{"2":{"24":3,"34":6,"39":3}}],["210",{"2":{"25":2,"34":4}}],["240",{"2":{"24":1,"34":2,"39":1}}],["28t04",{"2":{"38":1,"41":2,"43":2,"44":2,"45":1,"49":3,"51":1}}],["285",{"2":{"26":1,"34":2}}],["280",{"2":{"24":2,"34":4,"39":2}}],["28",{"2":{"20":3,"25":3,"34":6}}],["255",{"2":{"24":4,"34":8,"39":4}}],["25",{"2":{"14":1,"19":3,"21":1,"24":2,"25":7,"26":6,"34":30,"39":2}}],["230",{"2":{"24":1,"25":1,"34":4,"39":1}}],["23",{"2":{"8":1,"26":2,"34":4,"45":1}}],["2024",{"2":{"38":1,"41":2,"43":2,"44":2,"45":1,"49":3,"51":1}}],["2020",{"0":{"21":1,"26":1},"2":{"21":2,"26":1}}],["2012",{"0":{"20":1,"25":1},"2":{"20":2,"25":1}}],["2000",{"0":{"19":1,"24":1},"2":{"19":2,"24":1}}],["20",{"2":{"6":4,"7":9,"8":2,"13":3,"14":9,"19":8,"24":9,"25":7,"26":8,"34":48,"38":6,"39":8,"40":5,"41":8,"45":2}}],["2",{"0":{"39":1,"44":1,"50":1},"2":{"2":1,"6":1,"7":1,"8":3,"12":1,"13":3,"14":6,"15":2,"16":2,"17":1,"19":1,"20":1,"21":1,"25":2,"26":7,"34":14,"38":1,"40":1,"41":5,"45":3}}],["just",{"2":{"38":1,"51":1}}],["julialon",{"2":{"40":1}}],["juliaply",{"2":{"40":1,"41":1}}],["juliapolyregion",{"2":{"1":1,"7":1,"31":1}}],["julia",{"2":{"35":5}}],["juliausing",{"2":{"17":1,"19":1,"20":1,"21":1,"22":1,"34":4,"37":1,"49":1}}],["julianlon",{"2":{"16":1}}],["juliageo",{"2":{"15":1,"17":1,"38":2}}],["juliageoregion",{"2":{"0":1,"27":1}}],["juliaa",{"2":{"13":1}}],["juliaadd",{"2":{"0":1}}],["julia>",{"2":{"6":1,"7":1,"8":1,"41":1}}],["juliajulia>",{"2":{"6":1,"7":1,"8":1,"35":1,"41":1,"43":1,"44":1,"45":1}}],["juliacoordinates",{"2":{"4":1}}],["juliatablepolyregions",{"2":{"11":1,"25":1,"26":1}}],["juliatabletiltregions",{"2":{"11":1}}],["juliatablerectregions",{"2":{"11":1,"24":1,"33":1}}],["juliatablegeoregions",{"2":{"3":1,"11":1,"23":1,"32":1,"39":1,"50":2}}],["juliatiltregion",{"2":{"1":1,"8":1,"30":1,"45":1}}],["juliadeletegeoregions",{"2":{"3":1,"45":1,"51":1}}],["juliasetupgeoregions",{"2":{"3":1,"49":1}}],["juliaon",{"2":{"2":2}}],["juliaoverwrite",{"2":{"0":1,"41":1}}],["juliaisfile",{"2":{"49":1,"51":1}}],["juliaisid",{"2":{"0":1,"39":1}}],["juliain",{"2":{"2":2,"13":2,"14":1}}],["juliarectregion",{"2":{"1":1,"5":1,"6":1,"29":1,"38":1}}],["juliarmid",{"2":{"0":1,"44":1}}],["juliarm",{"2":{"0":1,"43":1}}],["jl",{"0":{"3":1,"11":1,"18":1,"23":1,"37":1,"48":1,"49":1},"1":{"19":1,"20":1,"21":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"49":1,"50":1,"51":1},"2":{"8":1,"12":4,"13":2,"17":2,"18":1,"19":1,"20":1,"21":1,"27":3,"28":2,"32":1,"34":10,"35":1,"36":1,"38":2,"41":2,"43":2,"44":3,"45":7,"48":2,"49":24,"51":7}}],["joinpath",{"2":{"32":1,"37":1,"38":1,"49":3,"51":3}}],["join",{"2":{"1":2}}],["θ",{"2":{"1":2,"8":2,"30":2,"45":1}}],["δy",{"2":{"1":2,"8":2,"30":2,"45":1}}],["δx",{"2":{"1":2,"8":2,"30":2,"45":1}}],["yes",{"2":{"39":1}}],["yet",{"2":{"17":1,"38":1}}],["your",{"0":{"37":1,"38":1,"40":1,"42":1,"45":1,"48":1,"49":1,"50":1,"51":1},"1":{"38":1,"39":1,"40":1,"41":1,"42":1,"43":2,"44":2,"45":1,"49":1,"50":1,"51":1},"2":{"49":1,"51":1}}],["you",{"2":{"6":1,"7":1,"10":1,"12":1,"17":1,"32":1,"35":3,"36":2,"37":1,"38":4,"41":2,"42":2,"44":1,"45":2,"50":1,"51":3}}],["y",{"2":{"1":2,"8":2,"30":2,"45":1}}],["x",{"2":{"1":2,"8":2,"30":2,"45":1}}],["x3c",{"2":{"1":3,"2":2,"4":2,"29":1,"30":1,"31":1}}],["cgi",{"2":{"25":1,"34":2}}],["cgeo",{"2":{"2":6}}],["certain",{"2":{"42":1}}],["ceu",{"2":{"25":1,"34":2}}],["central",{"2":{"20":1,"24":3,"25":4,"26":8,"34":30,"39":2}}],["centre",{"2":{"1":2,"30":3}}],["cna",{"2":{"20":3,"24":1,"25":1,"26":1,"34":6,"39":1}}],["clear",{"2":{"51":1}}],["clat",{"2":{"12":1,"13":1,"14":1,"15":1,"16":1}}],["clockwise",{"2":{"30":2}}],["clon",{"2":{"12":1,"13":1,"14":1,"15":1,"16":1}}],["closed",{"2":{"7":1}}],["close",{"2":{"1":1,"16":2}}],["cst",{"2":{"12":2,"15":2}}],["cause",{"2":{"48":1}}],["cau",{"2":{"26":1,"34":2}}],["caf",{"2":{"26":1,"34":2}}],["caribbean",{"2":{"25":1,"26":1,"34":4}}],["car",{"2":{"25":1,"26":1,"34":4}}],["cas",{"2":{"24":1,"25":1,"34":4}}],["case",{"0":{"34":1},"2":{"13":1,"14":1}}],["cam",{"2":{"24":1,"25":1,"34":4,"39":1}}],["calling",{"2":{"34":1}}],["called",{"2":{"32":1}}],["call",{"2":{"19":1,"20":1,"21":1,"24":1,"25":1,"26":1}}],["calculate",{"2":{"13":1}}],["cairomakie",{"2":{"12":1,"15":1}}],["cannot",{"2":{"41":2,"44":2,"45":1}}],["canada",{"2":{"25":2,"34":4}}],["can",{"2":{"1":6,"7":1,"10":1,"13":1,"14":1,"16":1,"17":1,"32":2,"35":2,"38":3,"39":3,"40":1,"41":1,"45":1,"47":1,"48":2,"50":1,"51":2}}],["crop=true",{"2":{"39":1}}],["crop",{"2":{"11":3}}],["created",{"2":{"38":1}}],["create",{"2":{"4":1,"5":1,"50":2}}],["creates",{"2":{"1":3}}],["creating",{"0":{"1":1,"5":1},"1":{"6":1,"7":1,"8":1}}],["c",{"2":{"5":1,"13":7}}],["choose",{"2":{"32":1}}],["child",{"2":{"2":2}}],["check",{"0":{"39":1},"2":{"2":4,"10":1,"12":2,"39":1,"43":1}}],["checks",{"2":{"0":1,"27":1}}],["copy",{"2":{"34":3,"49":2}}],["copied",{"2":{"3":1}}],["correctly",{"2":{"16":1}}],["corroborate",{"2":{"13":1}}],["color=",{"2":{"13":1,"14":6,"16":1}}],["coast",{"2":{"12":5,"15":5,"25":1,"34":2}}],["coastline",{"2":{"12":1,"15":1}}],["come",{"2":{"48":1}}],["completely",{"2":{"51":1}}],["complicated",{"2":{"38":1}}],["comparing",{"0":{"9":1},"1":{"10":1}}],["comments",{"2":{"36":1}}],["comments=true",{"2":{"12":1,"15":1}}],["command",{"2":{"35":1}}],["common",{"2":{"30":1}}],["com",{"2":{"12":1,"15":1}}],["confirm",{"2":{"39":1}}],["considered",{"2":{"27":1}}],["consider",{"2":{"14":1}}],["constructed",{"2":{"9":1}}],["construct",{"2":{"6":1,"7":1,"8":1}}],["constraints",{"2":{"6":2}}],["concern",{"2":{"13":1}}],["contain",{"2":{"27":1,"30":1}}],["container",{"2":{"2":2}}],["containing",{"2":{"1":2,"2":1,"3":2,"30":1}}],["coordinate",{"2":{"1":4,"16":2,"30":2}}],["coordinates",{"0":{"16":1},"2":{"1":3,"4":1,"13":6,"14":5,"16":4,"27":1,"30":3,"31":1,"40":1}}],["currently",{"2":{"6":1,"7":1}}],["current",{"2":{"0":1,"3":2,"50":1,"51":1}}],["customized",{"2":{"32":1}}],["custom=false",{"2":{"23":1,"24":1,"25":1,"26":1}}],["custom",{"0":{"5":1,"38":1,"42":1,"45":1,"46":1,"47":1,"50":1,"51":1},"1":{"6":1,"7":1,"8":1,"43":1,"44":1,"47":1},"2":{"0":12,"1":6,"3":3,"11":14,"17":1,"32":1,"33":2,"34":6,"38":3,"39":1,"45":3,"49":1,"50":3,"51":2}}],["https",{"2":{"12":1,"15":1}}],["how",{"2":{"32":1,"36":1}}],["however",{"2":{"13":1,"16":1,"48":1}}],["hovmoller",{"2":{"8":1}}],["home",{"2":{"0":2,"1":3,"11":4,"34":6,"45":1,"49":6,"51":1}}],["homedir",{"2":{"0":4,"1":3,"11":8,"48":1}}],["heavy",{"2":{"38":1}}],["header",{"2":{"7":1}}],["help",{"0":{"36":1}}],["height=750",{"2":{"13":1,"14":1,"16":1}}],["here",{"2":{"6":1,"7":1,"8":1,"13":2,"14":2,"16":1,"17":2,"19":1,"20":1,"21":1,"32":1,"34":4,"38":2,"39":1,"40":1,"41":1,"43":1,"44":1,"49":1,"50":1,"51":1}}],["has",{"0":{"43":1},"2":{"6":1,"7":1,"8":1,"13":1,"15":1,"17":1,"19":1,"20":1,"21":1,"38":1,"40":1,"41":4,"43":1,"45":1}}],["handling",{"0":{"3":1}}],["half",{"2":{"1":2,"30":2}}],["have",{"0":{"39":1},"2":{"0":1,"2":1,"5":1,"9":2,"16":1,"36":1,"38":1,"39":2,"40":1,"44":1,"45":1,"48":2,"50":2}}],["mkpath",{"2":{"37":1}}],["mdg",{"2":{"26":1,"34":2}}],["means",{"2":{"48":1}}],["meant",{"2":{"48":1}}],["method",{"2":{"43":1,"44":1}}],["meta",{"2":{"1":3}}],["me",{"2":{"35":1,"36":1}}],["mexico",{"2":{"25":1,"34":2}}],["mediterranean",{"2":{"24":1,"25":1,"26":1,"34":6,"39":1}}],["med",{"2":{"24":1,"25":1,"26":1,"34":6,"39":1}}],["minimum",{"2":{"13":4,"16":4}}],["may",{"2":{"35":1}}],["make",{"2":{"35":1}}],["manually",{"2":{"38":1}}],["manipulation",{"0":{"37":1},"1":{"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1}}],["manager",{"2":{"35":1}}],["manner",{"2":{"33":1}}],["many",{"2":{"16":1,"20":1,"25":1}}],["madagascar",{"2":{"26":1,"34":2}}],["maps",{"2":{"16":1}}],["map",{"2":{"14":1,"16":1}}],["markersize=20",{"2":{"13":2}}],["maximum",{"2":{"13":4,"16":4}}],["main",{"2":{"12":1,"15":1,"35":2}}],["match",{"2":{"1":1}}],["modify",{"2":{"38":1}}],["modification",{"2":{"38":1}}],["modulelog",{"2":{"34":3}}],["monsoon",{"2":{"26":1,"34":2}}],["monitoring",{"2":{"0":4,"1":3}}],["more",{"0":{"33":1},"2":{"8":1,"17":1,"32":1}}],["most",{"2":{"6":1,"7":1,"17":3,"38":1,"50":1}}],["must",{"2":{"0":2,"7":2,"27":1}}],["right",{"2":{"50":1}}],["rows",{"2":{"39":1}}],["ropes",{"2":{"37":1}}],["rotation",{"2":{"30":1}}],["rotated",{"2":{"8":1}}],["rfe",{"2":{"26":1,"34":2}}],["runner",{"2":{"34":6,"45":1,"49":6,"51":1}}],["running",{"2":{"2":4}}],["russia",{"2":{"26":2,"34":4}}],["rar",{"2":{"26":1,"34":2}}],["raw",{"2":{"12":1,"15":1}}],["rmid",{"2":{"0":1,"44":1}}],["rm",{"2":{"0":1,"43":1}}],["require",{"2":{"48":1}}],["relevant",{"2":{"50":1}}],["release",{"2":{"35":2}}],["reload",{"2":{"41":1}}],["replacing",{"2":{"51":1}}],["replace",{"2":{"41":1,"42":1}}],["repository",{"2":{"35":1}}],["refer",{"2":{"32":1}}],["red",{"2":{"14":2}}],["reexported",{"2":{"12":1}}],["registry",{"2":{"35":1}}],["regions",{"0":{"20":1,"21":1,"25":1,"26":1},"2":{"27":1,"48":1}}],["regiongrids",{"2":{"8":1}}],["region",{"0":{"23":1},"2":{"1":4,"6":5,"7":4,"8":7,"12":3,"13":2,"14":7,"15":2,"17":2,"19":2,"20":2,"21":2,"27":1,"29":1,"30":4,"31":1,"33":1,"38":2,"40":2,"41":4,"45":2}}],["regardless",{"2":{"5":1}}],["research",{"0":{"48":1},"1":{"49":1,"50":1,"51":1}}],["reset",{"2":{"3":1}}],["resize",{"2":{"13":1,"14":1,"16":1}}],["resl",{"2":{"12":1,"15":1}}],["respectively",{"2":{"7":1,"49":1}}],["respective",{"2":{"5":3,"8":1,"32":1,"38":1}}],["recommended",{"2":{"38":1}}],["recall",{"2":{"5":1}}],["rectlist",{"2":{"34":1,"38":1,"39":1,"49":4,"50":1,"51":2}}],["rectangle",{"2":{"6":3,"8":1}}],["rectangular",{"2":{"1":3,"8":1,"28":1,"29":1,"30":2}}],["rectilinear",{"2":{"1":2,"6":1,"7":1,"8":1,"17":1,"19":1,"20":1,"25":1,"27":1,"28":1,"29":1,"30":1,"31":1,"38":1,"45":1}}],["rectregions",{"0":{"6":1,"29":1},"2":{"5":1,"11":4,"49":1}}],["rectregion",{"2":{"1":2,"5":1,"6":3,"7":1,"14":2,"19":1,"23":1,"24":23,"25":1,"26":1,"28":1,"29":1,"34":46,"38":3,"39":16,"43":1,"44":1,"50":1}}],["reason",{"2":{"42":1}}],["read",{"2":{"17":1}}],["readdlm",{"2":{"12":1,"15":1}}],["reading",{"0":{"0":1,"17":1,"40":1,"46":1},"1":{"47":1},"2":{"17":1}}],["realize",{"2":{"48":1}}],["realized",{"2":{"42":1}}],["really",{"2":{"42":1}}],["real",{"2":{"1":8,"2":2,"4":2}}],["remove",{"2":{"43":1,"44":2,"45":2}}],["removed",{"2":{"0":1,"44":1}}],["removes",{"2":{"0":2}}],["removing",{"0":{"0":1,"42":1,"43":1,"44":1,"45":1,"51":1},"1":{"43":1,"44":1},"2":{"37":1,"43":1,"44":1,"45":1,"51":1}}],["retrieve",{"2":{"16":1,"17":2,"40":1,"45":1}}],["retrieved",{"2":{"0":6,"1":3,"3":1,"11":4,"45":1,"47":1}}],["retrieving",{"0":{"16":1,"40":1},"2":{"37":1,"40":1,"48":1}}],["return",{"2":{"34":1}}],["returning",{"2":{"0":1}}],["returns",{"2":{"0":2,"1":3,"2":4,"4":1}}],["npo",{"2":{"26":1,"34":2}}],["nz",{"2":{"26":1,"34":2}}],["nsa",{"2":{"26":1,"34":2}}],["nws",{"2":{"26":1,"34":2}}],["nwn",{"2":{"15":3,"26":1,"34":2}}],["nca",{"2":{"26":1,"34":2}}],["ntp",{"2":{"25":1,"34":2}}],["nlon",{"2":{"16":1}}],["nlat",{"2":{"16":1}}],["n=50",{"2":{"16":1}}],["nao",{"2":{"26":1,"34":2}}],["nau",{"2":{"25":1,"26":1,"34":4}}],["nas",{"2":{"24":1,"25":1,"34":4}}],["natural",{"2":{"14":1}}],["natgeo",{"2":{"12":1,"15":1}}],["named",{"2":{"41":1}}],["name",{"2":{"1":9,"3":1,"5":5,"6":4,"7":3,"8":4,"13":2,"15":2,"17":2,"19":2,"20":2,"21":2,"23":1,"24":1,"25":1,"26":1,"27":2,"34":4,"38":6,"39":1,"40":2,"41":4,"45":2,"50":1}}],["necessary",{"2":{"35":1,"49":1}}],["neaf",{"2":{"26":1,"34":2}}],["nes",{"2":{"26":1,"34":2}}],["nen",{"2":{"26":1,"34":2}}],["neb",{"2":{"25":1,"34":2}}],["neu",{"2":{"24":1,"25":1,"26":1,"34":6,"39":1}}],["need",{"2":{"6":1,"41":1,"42":1}}],["newzealand",{"2":{"25":1,"34":2}}],["new",{"0":{"6":1,"7":1,"8":1},"2":{"0":1,"5":1,"26":1,"34":2,"35":1,"38":1,"42":1,"51":1}}],["number",{"2":{"2":2,"4":1,"16":2}}],["n",{"2":{"1":1,"2":4,"4":2,"6":6,"7":1,"8":1,"13":1,"15":1,"16":2,"17":1,"19":1,"20":1,"21":1,"23":1,"24":1,"25":2,"26":1,"27":1,"29":1,"34":6,"38":1,"39":1,"40":1,"41":2,"45":1,"50":1}}],["non",{"2":{"27":1}}],["now",{"2":{"9":1,"13":2,"14":2,"15":1,"39":1,"40":1,"42":1,"43":2,"45":1,"50":1}}],["northeast",{"2":{"25":1,"26":2,"34":6}}],["northern",{"2":{"24":1,"26":7,"34":16,"39":1}}],["northwest",{"2":{"15":2,"25":1,"26":2,"34":6}}],["north",{"2":{"6":1,"15":2,"20":1,"24":4,"25":5,"26":5,"27":1,"34":28,"39":3}}],["note",{"2":{"13":1,"50":1}}],["nothing",{"2":{"0":4,"3":3,"11":4,"12":1,"15":1,"50":1}}],["not",{"2":{"0":7,"1":1,"2":4,"11":1,"13":1,"14":1,"34":3,"38":3,"43":2,"44":1,"49":1,"50":1}}],["no",{"2":{"0":1,"13":1,"34":2,"41":1,"50":1}}],["pkg>",{"2":{"35":3}}],["permanently",{"2":{"45":1,"51":1}}],["perform",{"2":{"12":1}}],["peninsular",{"2":{"26":1,"34":2}}],["ply",{"2":{"40":1,"43":1}}],["please",{"2":{"36":2,"41":1}}],["plotted",{"2":{"16":1}}],["plotting",{"2":{"16":2}}],["plot",{"2":{"14":1,"16":1}}],["plon",{"2":{"2":4}}],["plateau",{"2":{"25":1,"26":1,"34":4}}],["plat",{"2":{"2":4}}],["possible",{"2":{"32":1,"33":1,"38":1,"47":1}}],["postulate",{"2":{"2":2}}],["point2",{"2":{"2":2,"27":1}}],["point",{"0":{"13":1},"2":{"2":18,"6":1,"7":1,"8":1,"12":4,"13":14,"15":1,"17":1,"19":1,"20":1,"21":1,"35":1,"38":1,"40":1,"41":2,"45":1}}],["points",{"2":{"1":3,"4":2,"12":1,"13":2,"16":4}}],["polylist",{"2":{"34":1,"38":2,"39":1,"49":4,"50":1,"51":1}}],["polygons",{"2":{"27":1}}],["polygonops",{"2":{"12":1}}],["polygon",{"2":{"7":1,"16":2,"27":1}}],["polygonal",{"2":{"1":2,"7":3,"13":1,"15":1,"20":1,"21":1,"28":1,"31":1,"40":1,"41":2}}],["polyregions",{"0":{"7":1,"31":1},"2":{"5":1,"11":5,"49":1}}],["polyregion",{"2":{"1":2,"5":2,"7":2,"14":5,"20":1,"21":1,"25":34,"26":59,"28":1,"31":1,"34":182,"38":4,"39":2,"40":2,"41":4,"43":1,"44":1}}],["pid",{"2":{"1":6,"5":4,"6":3,"7":2,"8":3,"13":1,"15":1,"17":1,"19":1,"20":1,"21":1,"27":2,"38":5,"40":1,"41":2,"45":1}}],["pwd",{"2":{"0":1,"1":3,"3":4,"37":2,"38":2,"39":3,"40":1,"41":3,"43":2,"44":2,"45":3,"49":3,"50":1,"51":5}}],["present",{"2":{"50":1}}],["pressing",{"2":{"35":1}}],["previous",{"2":{"48":1}}],["previously",{"0":{"41":1}}],["pretty",{"2":{"38":1}}],["pre",{"2":{"30":1}}],["prefix",{"2":{"19":1,"20":1,"21":1,"24":1,"25":1,"26":1}}],["predefined=false",{"2":{"23":1,"50":1}}],["predefined",{"0":{"17":1,"18":1,"22":1},"1":{"19":1,"20":1,"21":1,"23":1,"24":1,"25":1,"26":1},"2":{"11":6,"15":1,"17":1,"18":1,"19":1,"20":1,"21":1,"32":3,"34":2,"44":2,"48":1,"50":1}}],["preexisting",{"2":{"0":2,"3":1,"41":1,"49":1}}],["print",{"2":{"2":2}}],["problems",{"2":{"48":1}}],["prompt",{"2":{"35":1}}],["process",{"2":{"15":1}}],["projects",{"2":{"45":1,"48":1}}],["projections",{"2":{"16":1}}],["projection",{"2":{"16":2}}],["project",{"0":{"3":1,"37":1,"38":1,"40":1,"42":1,"45":1,"48":1,"49":1,"50":1,"51":1},"1":{"38":1,"39":1,"40":1,"41":1,"42":1,"43":2,"44":2,"45":1,"49":1,"50":1,"51":1},"2":{"32":2,"37":1,"41":2,"45":2,"48":6,"49":3,"50":1,"51":2}}],["program",{"2":{"2":4}}],["properties",{"0":{"4":1},"2":{"0":1,"6":1,"7":1,"8":1,"13":1,"15":1,"17":2,"19":1,"20":1,"21":1,"32":1,"38":1,"40":1,"41":2,"45":1}}],["patch",{"2":{"35":1}}],["path=pwd",{"2":{"49":2,"50":1}}],["path=joinpath",{"2":{"37":1,"38":2,"39":3,"40":1,"41":3,"43":2,"44":2,"45":3}}],["paths",{"2":{"32":1}}],["path",{"2":{"0":27,"1":15,"3":8,"11":12,"32":2,"38":9,"41":1,"48":3,"49":2,"50":2,"51":2}}],["particular",{"2":{"42":1,"48":1}}],["part",{"2":{"32":1,"48":1}}],["parent",{"2":{"1":3,"2":1,"5":1,"6":1,"7":1,"8":1,"13":1,"15":1,"17":1,"19":1,"20":1,"21":1,"23":1,"24":1,"25":1,"26":1,"27":2,"33":1,"34":4,"38":1,"39":1,"40":1,"41":2,"45":1,"50":1}}],["pacific",{"2":{"25":3,"26":3,"34":12}}],["package",{"2":{"0":3,"12":2,"35":1,"48":1}}],["paper",{"2":{"19":1,"20":1,"21":1,"24":1,"25":1,"26":1}}],["pass",{"2":{"2":2}}],["over",{"2":{"49":2}}],["overwritten",{"2":{"3":1,"49":1}}],["overwriting",{"0":{"41":1},"2":{"0":1,"49":3}}],["overwrite=true",{"2":{"22":1,"49":1}}],["overwrites",{"2":{"0":1}}],["overwrite",{"2":{"0":1,"3":4,"41":2,"49":2}}],["omitted",{"2":{"39":1}}],["open",{"2":{"36":1}}],["other",{"2":{"14":2,"33":1}}],["obvious",{"2":{"13":1}}],["obtain",{"2":{"8":1}}],["ocean",{"2":{"13":2,"25":1,"26":10,"34":22}}],["out",{"0":{"50":1},"2":{"6":1,"7":1,"36":1}}],["original",{"2":{"49":3}}],["order",{"2":{"5":1,"6":1,"16":1,"41":1,"49":1}}],["or",{"2":{"2":2,"10":1,"12":1,"32":1,"35":1,"36":1,"38":1,"42":1,"43":1,"44":3,"51":1}}],["once",{"2":{"41":1}}],["only",{"2":{"19":1,"20":1,"21":1,"24":1,"25":1,"26":1,"32":1,"34":1}}],["one",{"2":{"0":1}}],["on",{"0":{"2":1,"44":1},"2":{"0":1,"2":3,"4":1,"6":2,"7":1,"14":1,"15":1,"16":3,"17":1,"27":1,"29":1,"30":1,"31":1,"32":1,"40":2,"44":1,"48":1}}],["often",{"2":{"12":1}}],["of",{"0":{"15":1,"16":1,"22":1,"28":1,"32":1,"33":1,"37":1,"46":1},"1":{"16":1,"23":1,"24":1,"25":1,"26":1,"29":1,"30":1,"31":1,"33":1,"34":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"47":1},"2":{"0":12,"1":15,"2":11,"3":3,"4":7,"5":5,"6":1,"7":5,"8":2,"9":1,"11":7,"13":7,"15":2,"16":5,"17":5,"18":1,"19":1,"20":2,"21":1,"25":1,"26":1,"27":8,"28":2,"30":6,"31":1,"32":2,"33":3,"34":2,"35":2,"37":2,"38":2,"40":1,"41":2,"42":1,"48":4,"49":1,"50":3,"51":1}}],["lifting",{"2":{"38":1}}],["linewidth=5",{"2":{"13":1,"14":5,"16":1}}],["linewidth=3",{"2":{"13":1,"14":1,"16":1}}],["lines",{"2":{"13":2,"14":6,"16":2}}],["limits=",{"2":{"13":1,"14":1,"16":1}}],["listing",{"0":{"47":1,"50":1},"2":{"33":1}}],["listings",{"0":{"32":1},"1":{"33":1,"34":1}}],["listed",{"2":{"3":1,"17":1,"39":1}}],["lists",{"0":{"33":1,"45":1},"2":{"0":5,"32":1,"34":3,"38":4,"45":1,"51":1}}],["list",{"0":{"22":1,"46":1,"51":1},"1":{"23":1,"24":1,"25":1,"26":1,"47":1},"2":{"0":7,"1":6,"3":2,"11":6,"19":1,"20":1,"21":1,"32":4,"33":1,"38":1,"41":1,"43":1,"44":1,"47":1,"50":1}}],["letter",{"2":{"19":1,"20":1,"21":1,"24":1,"25":1,"26":1}}],["let",{"2":{"13":2,"14":2,"15":1,"38":1,"39":1,"40":2,"45":1}}],["length",{"2":{"7":2,"16":2}}],["lt",{"2":{"6":1,"49":1}}],["larger",{"2":{"32":1}}],["layout",{"2":{"13":1,"14":1,"16":1}}],["last",{"2":{"1":1}}],["latest",{"2":{"35":3}}],["lat",{"2":{"1":2,"4":2,"7":4,"16":2,"30":1,"31":2,"40":1}}],["latitudes",{"2":{"2":2}}],["latitude",{"2":{"1":3,"4":2,"7":2,"16":1,"30":3}}],["lost",{"2":{"45":1,"51":1}}],["loaded",{"0":{"43":1},"2":{"43":1}}],["load",{"2":{"15":1}}],["logs",{"2":{"2":2}}],["logging",{"2":{"0":4,"1":6}}],["longer",{"2":{"41":1}}],["longitude",{"2":{"1":3,"2":2,"4":2,"7":2,"13":1,"16":1,"30":3}}],["lon",{"2":{"1":2,"4":2,"7":4,"16":2,"30":1,"31":2}}],["local",{"2":{"0":3}}],["during",{"2":{"16":1}}],["data",{"2":{"12":1}}],["diagrams",{"2":{"8":1}}],["differentiate",{"2":{"28":1}}],["different",{"0":{"4":1},"2":{"5":1,"9":2,"16":1,"28":1,"33":1,"48":2}}],["displayed",{"2":{"11":2}}],["display",{"2":{"3":1,"11":10}}],["directly",{"2":{"38":1,"51":1}}],["directories",{"2":{"32":1}}],["directory",{"2":{"0":4,"1":3,"3":3,"11":4,"38":3,"41":1,"48":2,"49":1,"50":1,"51":1}}],["direction",{"2":{"30":1}}],["directions",{"2":{"30":1}}],["dirname",{"2":{"0":2}}],["docs",{"2":{"45":1,"49":3,"51":1}}],["documentation",{"2":{"32":1}}],["don",{"2":{"42":1}}],["does",{"2":{"34":3,"43":1}}],["doing",{"2":{"27":1}}],["download",{"2":{"12":1,"15":1}}],["domains",{"2":{"19":1,"20":1,"21":1,"24":1,"25":1,"26":1}}],["domain",{"2":{"7":1,"27":1}}],["do",{"2":{"1":1,"6":1,"11":1,"38":4,"42":1,"43":1,"44":1,"51":1}}],["depot",{"2":{"32":1,"38":1}}],["detect",{"2":{"13":1}}],["determine",{"2":{"12":1,"14":1}}],["deleted",{"2":{"45":1}}],["delete",{"2":{"42":1,"51":1}}],["deletegeoregions",{"2":{"3":1,"45":1,"51":2}}],["delimitedfiles",{"2":{"12":1,"15":1}}],["denoted",{"2":{"28":3}}],["denote",{"2":{"12":1}}],["dealing",{"2":{"12":1}}],["degrees",{"2":{"1":1,"30":2}}],["define",{"2":{"6":1,"13":1,"16":1}}],["defined",{"0":{"37":1,"41":1},"1":{"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1},"2":{"0":1,"2":5,"11":3,"13":1,"14":2,"16":1,"19":3,"20":3,"21":3,"24":3,"25":3,"26":3,"29":1,"30":1,"31":1,"32":4,"38":1,"39":1,"40":1,"41":1,"45":1,"48":2,"49":2,"50":2}}],["defining",{"0":{"6":1,"7":1,"8":1},"2":{"1":1,"9":1,"27":2}}],["default",{"0":{"22":1,"23":1},"1":{"23":1,"24":1,"25":1,"26":1},"2":{"0":4,"1":3,"2":2,"3":1,"11":6,"16":1,"17":1,"27":2,"32":1,"38":2,"48":1,"51":2}}],["defaults",{"2":{"0":6,"1":3,"3":2,"11":4}}],["sws",{"2":{"26":1,"34":2}}],["ssa",{"2":{"24":1,"25":1,"26":1,"34":6,"39":1}}],["src",{"2":{"34":3,"45":1,"49":6,"51":1}}],["srx",{"2":{"20":5,"25":35,"34":66,"44":1}}],["srex=false",{"2":{"26":1}}],["srex=true",{"2":{"25":1}}],["srex",{"0":{"20":1,"25":1},"2":{"11":4,"25":33,"33":1,"34":66,"48":1}}],["some",{"2":{"33":1,"39":1,"42":1}}],["soon",{"2":{"35":1}}],["soo",{"2":{"26":1,"34":2}}],["so",{"2":{"16":1,"34":1,"38":1,"40":1,"48":1,"50":1}}],["southwest",{"2":{"26":1,"34":2}}],["southeastern",{"2":{"25":1,"34":2}}],["southeast",{"2":{"24":1,"25":1,"26":2,"34":8}}],["southern",{"2":{"24":2,"25":2,"26":8,"34":24,"39":1}}],["south",{"2":{"6":1,"24":2,"25":5,"26":10,"27":1,"34":34,"39":1}}],["source",{"2":{"0":6,"1":3,"2":4,"3":3,"4":1,"11":4,"27":1,"29":1,"30":1,"31":1}}],["smaller",{"2":{"14":1}}],["shared",{"2":{"48":1}}],["shape",{"0":{"15":1},"1":{"16":1},"2":{"1":1,"2":2,"4":4,"6":2,"7":3,"8":2,"13":2,"15":3,"16":3,"17":2,"19":2,"20":2,"21":2,"27":2,"38":2,"40":3,"41":4,"45":2}}],["shown",{"2":{"50":1}}],["show",{"2":{"37":1}}],["should",{"2":{"27":1,"38":1,"48":1}}],["shifted",{"2":{"13":1}}],["similar",{"2":{"48":1}}],["simultaneously",{"2":{"38":1}}],["simply",{"2":{"13":1}}],["sio",{"2":{"26":1,"34":2}}],["siberia",{"2":{"26":2,"34":4}}],["since",{"2":{"14":1,"35":1}}],["sides",{"2":{"16":1}}],["side",{"2":{"4":1,"16":2}}],["sca",{"2":{"26":1,"34":2}}],["scatter",{"2":{"13":2}}],["screen",{"2":{"2":2}}],["slon",{"2":{"13":5,"14":10,"16":4}}],["slat",{"2":{"13":6,"14":10,"16":4}}],["suggestions",{"2":{"36":1}}],["supertype",{"2":{"27":1}}],["suppose",{"2":{"9":1}}],["subtypes",{"2":{"33":1}}],["subregion",{"2":{"27":1}}],["subset",{"2":{"2":1,"27":1,"33":1}}],["such",{"2":{"13":1}}],["ses",{"2":{"26":1,"34":2}}],["seaf",{"2":{"26":1,"34":2}}],["sea",{"2":{"24":1,"25":1,"26":2,"34":8}}],["seneviratne",{"0":{"20":1,"25":1},"2":{"20":2,"25":1}}],["setting",{"2":{"32":1}}],["set",{"2":{"18":1,"41":1,"50":1}}],["sets",{"2":{"17":1}}],["setup",{"0":{"49":1},"2":{"3":1,"15":1,"32":1}}],["setupgeoregions",{"2":{"3":1,"22":1,"37":1,"47":1,"49":2}}],["several",{"2":{"9":1,"17":1,"28":1}}],["see",{"2":{"6":1,"7":1,"8":1,"13":4,"14":3,"16":1,"17":2,"19":1,"20":1,"21":1,"27":1,"34":4,"38":2,"39":3,"40":2,"41":2,"43":2,"44":1,"45":1,"49":1,"50":1,"51":2}}],["seen",{"2":{"5":1}}],["section",{"2":{"15":1,"17":1}}],["sections",{"2":{"5":1}}],["second",{"2":{"2":1,"44":1}}],["segments",{"2":{"2":2,"4":1,"16":2}}],["spo",{"2":{"26":1,"34":2}}],["spans",{"2":{"17":1}}],["specify",{"2":{"6":1,"7":1,"16":2,"38":2,"50":1}}],["specifically",{"2":{"48":1,"49":1}}],["specification",{"2":{"7":1,"8":1,"48":2}}],["specific",{"0":{"33":1},"2":{"5":1,"32":1}}],["specifies",{"2":{"3":1}}],["specified",{"2":{"0":3,"1":3,"3":1,"27":1,"38":1,"47":1,"50":1}}],["split",{"2":{"2":2}}],["stored",{"2":{"49":1}}],["store",{"2":{"49":1}}],["stops",{"2":{"2":4}}],["started",{"2":{"49":1}}],["state",{"2":{"7":1}}],["still",{"2":{"48":1}}],["stp",{"2":{"25":1,"34":2}}],["straightforward",{"2":{"6":1}}],["struct",{"2":{"2":2}}],["string",{"2":{"1":3,"17":1,"27":3,"44":1}}],["st",{"2":{"1":6}}],["say",{"2":{"51":1}}],["saving",{"2":{"32":1}}],["save=true",{"2":{"38":1}}],["save",{"2":{"1":9,"38":8,"39":2,"40":1,"41":4,"45":2}}],["saved",{"2":{"0":2,"32":1,"38":3,"40":1,"41":1,"45":1,"48":1,"50":1,"51":1}}],["saves",{"2":{"0":1}}],["sao",{"2":{"26":1,"34":2}}],["sau",{"2":{"25":1,"26":1,"34":4}}],["sas",{"2":{"24":1,"25":1,"26":1,"34":6}}],["sahara",{"2":{"24":1,"25":1,"26":1,"34":6}}],["sah",{"2":{"24":1,"25":1,"26":1,"34":6}}],["saf",{"2":{"24":1,"25":1,"34":4}}],["sam",{"2":{"26":1,"34":2}}],["sample",{"2":{"6":1,"7":1,"8":1}}],["same",{"2":{"0":1,"2":1,"5":1,"7":2,"10":1,"41":1}}],["s",{"0":{"23":1},"2":{"0":1,"1":4,"6":6,"7":1,"8":1,"11":4,"13":1,"15":1,"17":1,"19":1,"20":1,"21":1,"23":1,"24":1,"25":1,"26":1,"27":1,"29":1,"34":4,"38":1,"39":1,"40":3,"41":2,"45":2,"50":1}}],["writes",{"2":{"38":3}}],["wca",{"2":{"26":1,"34":2}}],["wce",{"2":{"26":1,"34":2}}],["wsb",{"2":{"26":1,"34":2}}],["wsaf",{"2":{"26":1,"34":2}}],["wsa",{"2":{"25":1,"34":2}}],["wna",{"2":{"24":1,"25":1,"26":1,"34":6,"39":1}}],["work",{"2":{"34":3,"45":2,"49":9,"51":2}}],["workspace",{"2":{"38":1,"43":1}}],["works",{"2":{"16":1,"48":1}}],["working",{"2":{"3":2,"35":1}}],["wong",{"2":{"12":1,"15":1}}],["while",{"2":{"38":1}}],["which",{"2":{"12":1,"13":1,"17":1,"27":2,"32":1,"38":2,"49":1}}],["whole",{"2":{"17":1}}],["wholly",{"2":{"14":1}}],["what",{"0":{"27":1},"1":{"28":1,"29":1,"30":1,"31":1},"2":{"13":1}}],["when",{"2":{"12":1,"27":2,"38":1}}],["where",{"2":{"0":6,"1":6,"2":2,"3":2,"11":4,"16":1,"30":1}}],["waiting",{"2":{"35":1}}],["wan",{"2":{"26":1,"34":2}}],["want",{"2":{"10":1,"35":1,"42":1,"51":1}}],["was",{"2":{"25":1,"34":2}}],["waf",{"2":{"19":3,"24":1,"25":1,"26":1,"34":6,"39":1}}],["way",{"2":{"12":1,"49":1}}],["ways",{"2":{"9":1,"42":1}}],["warning",{"2":{"34":3,"45":1,"49":3,"50":1,"51":1}}],["warnings",{"2":{"11":1}}],["warn=false",{"2":{"34":1}}],["warn",{"2":{"11":2,"50":1}}],["were",{"2":{"48":1}}],["western",{"2":{"19":1,"24":2,"26":5,"34":14,"39":2}}],["west",{"2":{"6":1,"25":4,"26":2,"27":1,"34":12}}],["we",{"2":{"2":2,"5":1,"7":1,"9":2,"10":1,"12":2,"13":4,"14":2,"15":2,"16":5,"28":1,"37":1,"38":2,"39":4,"40":2,"41":3,"42":1,"43":3,"44":1,"45":2,"48":2,"50":3,"51":1}}],["w",{"2":{"1":1,"6":7,"7":1,"8":1,"13":1,"15":1,"17":1,"19":1,"20":1,"21":1,"23":1,"24":1,"25":2,"26":1,"27":1,"29":1,"34":6,"38":1,"39":1,"40":1,"41":2,"45":1,"50":1}}],["wio",{"2":{"25":1,"34":2}}],["wish",{"2":{"12":1,"38":1}}],["width=750",{"2":{"13":1,"14":1,"16":1}}],["width",{"2":{"1":2,"30":3}}],["will",{"2":{"0":12,"1":9,"3":2,"11":7,"30":1,"32":1,"33":3,"34":1,"37":1,"38":1,"45":2,"48":2,"49":4,"50":1,"51":1}}],["without",{"2":{"35":1}}],["within",{"2":{"2":6,"13":3,"14":1}}],["with",{"0":{"46":1},"1":{"47":1},"2":{"0":7,"3":1,"6":2,"7":2,"8":2,"12":2,"13":1,"14":1,"33":1,"41":7,"42":2,"44":1,"49":3,"51":1}}],["keywords",{"2":{"32":1}}],["keyword",{"2":{"0":8,"1":6,"2":4,"3":2,"11":4,"16":1,"38":2,"48":1,"49":1,"50":1}}],["v7",{"2":{"48":1}}],["v2",{"2":{"20":1,"21":1}}],["v1",{"2":{"19":1,"35":3}}],["ve",{"2":{"42":1}}],["version",{"2":{"28":1,"35":3,"48":1}}],["versions",{"2":{"19":1,"20":1,"21":1,"24":1,"25":1,"26":1,"35":1}}],["vertices",{"2":{"16":1,"31":1}}],["vertical",{"2":{"11":1}}],["verify",{"2":{"14":1}}],["very",{"2":{"13":1}}],["verbose",{"2":{"0":12,"1":9,"2":4}}],["vectors",{"2":{"4":1,"7":4}}],["vector",{"2":{"1":5,"4":4,"27":2,"30":1}}],["variety",{"2":{"33":1}}],["variable",{"2":{"0":3,"38":1,"48":1}}],["valid",{"2":{"0":4,"27":1,"43":1,"44":1}}],["tutorials",{"2":{"45":1,"49":3,"51":1}}],["tutorial",{"2":{"37":1}}],["t",{"2":{"35":1,"42":1}}],["tibetian",{"2":{"26":1,"34":2}}],["tibetan",{"2":{"25":1,"34":2}}],["tibet",{"2":{"24":1,"34":2}}],["tib",{"2":{"24":1,"25":1,"26":1,"34":6}}],["tiltlist",{"2":{"34":1,"38":1,"49":4,"50":1,"51":1}}],["tiltgrid",{"2":{"8":1}}],["tilt",{"2":{"1":1,"8":3,"30":3,"45":1}}],["tilting",{"2":{"1":2,"30":2}}],["tilted",{"2":{"1":2,"8":2,"28":1,"30":1,"45":1}}],["tiltregions",{"0":{"8":1,"30":1},"2":{"5":1,"11":2,"30":1,"34":2,"49":1}}],["tiltregion",{"2":{"1":2,"5":2,"8":4,"14":1,"28":1,"30":1,"38":1,"43":1,"44":1,"45":2}}],["talks",{"2":{"17":1}}],["tablepolyregions",{"2":{"11":1,"33":2,"34":1}}],["tabletiltregions",{"2":{"11":1,"33":2,"34":2}}],["tablerectregions",{"2":{"11":1,"33":1,"34":1}}],["table",{"2":{"11":1,"33":1,"50":2}}],["tables",{"0":{"11":1},"2":{"34":3}}],["tablegeoregions",{"2":{"3":1,"11":1,"32":4,"34":1,"39":1,"50":1}}],["tabular",{"0":{"32":1},"1":{"33":1,"34":1},"2":{"3":1,"11":4}}],["tst",{"2":{"45":4}}],["tsr",{"2":{"38":3,"39":2,"44":4}}],["tsp",{"2":{"38":2,"39":2,"40":3,"41":10,"43":4}}],["ts4",{"2":{"14":5}}],["ts3",{"2":{"14":4}}],["ts2",{"2":{"14":5}}],["ts1",{"2":{"14":5}}],["txt",{"2":{"12":1,"15":1,"23":1,"24":22,"25":34,"26":59,"34":231,"38":4,"39":16,"49":12,"50":4,"51":4}}],["ttr",{"2":{"8":4}}],["tpr",{"2":{"7":4}}],["two",{"0":{"10":1},"2":{"7":1,"9":1,"10":1,"42":1}}],["terms",{"2":{"7":1}}],["test",{"2":{"6":3,"7":2,"8":3,"13":1,"14":4,"37":2,"38":5,"39":5,"40":2,"41":6,"43":2,"44":2,"45":7}}],["templates",{"2":{"34":3}}],["template",{"2":{"3":2,"47":1}}],["try",{"2":{"40":1}}],["trying",{"2":{"36":1}}],["tropical",{"2":{"25":2,"34":4}}],["trivial",{"2":{"13":1}}],["trr",{"2":{"6":4}}],["true",{"2":{"0":3,"1":6,"2":10,"3":1,"11":19,"13":2,"14":2,"32":3,"33":5,"38":4,"39":2,"49":4}}],["types",{"0":{"28":1},"1":{"29":1,"30":1,"31":1},"2":{"5":2,"6":1,"7":1,"14":1,"27":3,"28":1,"30":1}}],["type",{"2":{"2":2,"5":1,"12":2,"14":1,"17":1,"19":1,"20":1,"21":1,"23":1,"24":2,"25":2,"26":2,"27":4,"28":3,"30":6,"34":4,"39":1,"50":1}}],["tf",{"2":{"0":3,"2":8}}],["touch",{"2":{"36":1}}],["to",{"0":{"38":1},"2":{"0":13,"1":7,"2":6,"3":4,"5":1,"6":2,"8":1,"10":1,"11":4,"12":5,"13":5,"14":2,"16":5,"17":1,"19":3,"20":3,"21":3,"24":2,"25":2,"26":2,"27":1,"30":2,"32":6,"33":1,"34":6,"35":5,"36":4,"38":10,"39":1,"41":3,"42":2,"43":4,"44":3,"45":1,"47":1,"48":2,"49":4,"50":3,"51":1}}],["those",{"2":{"50":1}}],["though",{"2":{"20":1,"25":1,"50":1}}],["through",{"2":{"15":1}}],["throw=false",{"2":{"45":1}}],["throws",{"2":{"0":1}}],["throw",{"2":{"0":2,"2":8}}],["thrown",{"2":{"0":4,"1":3,"2":4}}],["three",{"2":{"5":2,"6":1,"7":1}}],["that",{"0":{"43":1},"2":{"0":4,"1":3,"2":2,"5":1,"6":1,"8":2,"10":1,"13":6,"14":2,"16":2,"17":1,"38":1,"39":2,"40":1,"41":1,"42":1,"43":2,"44":1,"48":4,"49":1,"50":1}}],["this",{"2":{"0":1,"3":1,"12":2,"13":3,"14":2,"15":1,"16":1,"17":1,"19":1,"20":1,"21":1,"24":1,"25":1,"26":1,"35":1,"37":1,"38":1,"40":1,"41":4,"43":2,"44":2,"48":2,"49":1}}],["they",{"2":{"39":1,"45":1,"49":1}}],["them",{"2":{"14":1,"20":1,"25":1,"32":1,"51":1}}],["these",{"2":{"5":1,"40":1,"45":1,"47":1,"49":1,"51":1}}],["their",{"2":{"5":1,"32":2,"39":1,"45":1}}],["therefore",{"2":{"16":2,"41":1,"48":1}}],["there",{"2":{"0":1,"5":1,"16":2,"17":1,"18":1,"34":1,"42":1,"50":1}}],["then",{"2":{"0":4,"1":3,"2":4,"3":1,"51":1}}],["the",{"0":{"15":1,"16":1,"23":1,"45":1,"50":1,"51":1},"1":{"16":1},"2":{"0":49,"1":43,"2":21,"3":12,"4":7,"5":6,"6":10,"7":11,"8":6,"10":2,"11":14,"12":4,"13":18,"14":6,"15":5,"16":16,"17":14,"19":6,"20":6,"21":6,"24":3,"25":3,"26":3,"27":14,"28":3,"30":13,"31":1,"32":2,"33":5,"34":8,"35":9,"37":2,"38":17,"39":4,"40":6,"41":15,"42":1,"43":7,"44":5,"45":7,"47":3,"48":6,"49":5,"50":6,"51":4}}],["branch",{"2":{"35":1}}],["brazil",{"2":{"25":1,"34":2}}],["build",{"2":{"45":1,"49":3,"51":1}}],["bugs",{"2":{"35":1}}],["but",{"2":{"13":1,"14":1}}],["big",{"2":{"14":10}}],["black",{"2":{"13":1,"14":1,"16":1}}],["blue",{"2":{"13":1,"14":1}}],["b",{"2":{"5":1,"13":5,"14":4}}],["bay",{"2":{"26":1,"34":2}}],["basis",{"2":{"48":1}}],["basin",{"2":{"24":2,"34":4,"39":2}}],["basic",{"2":{"17":2,"32":1}}],["basically",{"2":{"8":1}}],["based",{"0":{"44":1},"2":{"44":1}}],["base",{"2":{"0":1,"2":2}}],["back",{"2":{"3":1}}],["both",{"2":{"30":1,"32":1}}],["bob",{"2":{"26":1,"34":2}}],["box",{"2":{"13":1}}],["bounding",{"2":{"13":1}}],["bounds",{"2":{"6":3,"7":1,"8":1,"13":5,"15":1,"17":1,"19":1,"20":1,"21":1,"23":1,"24":1,"25":1,"26":1,"34":4,"38":1,"39":1,"40":1,"41":2,"45":1,"50":1}}],["boundaries",{"2":{"6":1,"27":1,"29":1}}],["boundary",{"2":{"2":1}}],["bound",{"2":{"1":2,"27":1}}],["boolean",{"2":{"0":2,"2":4}}],["bool",{"2":{"0":6,"1":7,"2":10,"3":1,"11":9}}],["by",{"2":{"0":2,"1":3,"2":5,"3":1,"12":1,"13":2,"14":1,"16":2,"27":4,"28":3,"29":1,"30":1,"31":1,"32":2,"35":1,"38":1,"48":1}}],["best",{"2":{"49":1}}],["besides",{"2":{"33":1}}],["been",{"0":{"39":1,"43":1},"2":{"39":1,"41":2,"43":1,"44":1,"50":1}}],["because",{"2":{"33":1,"50":1}}],["between",{"2":{"28":1}}],["bengal",{"2":{"26":1,"34":2}}],["below",{"2":{"5":1,"13":2,"14":1,"16":1}}],["before",{"2":{"1":2,"30":2}}],["being",{"2":{"0":3}}],["be",{"2":{"0":16,"1":15,"2":2,"3":2,"7":2,"11":6,"14":1,"27":3,"32":1,"33":1,"35":1,"38":1,"39":1,"41":1,"44":1,"45":2,"47":1,"48":3,"49":1,"50":1,"51":1}}],["empty",{"2":{"34":3}}],["eio",{"2":{"26":1,"34":2}}],["epo",{"2":{"26":1,"34":2}}],["eca",{"2":{"26":1,"34":2}}],["especially",{"2":{"38":1}}],["essence",{"2":{"27":1}}],["esb",{"2":{"26":1,"34":2}}],["esaf",{"2":{"26":1,"34":2}}],["eeu",{"2":{"26":1,"34":2}}],["europe",{"2":{"24":1,"25":3,"26":3,"34":14,"39":1}}],["entail",{"2":{"48":1}}],["ena",{"2":{"24":1,"25":1,"26":1,"34":6,"39":1}}],["ensure",{"2":{"16":1}}],["even",{"2":{"20":1,"25":1,"50":1}}],["etc",{"2":{"36":1}}],["etp",{"2":{"25":1,"34":2}}],["et",{"0":{"20":1,"21":1,"25":1,"26":1},"2":{"20":2,"21":2,"25":1,"26":1}}],["eye",{"2":{"13":1,"14":1}}],["equirectangular",{"2":{"16":1}}],["equivalent",{"0":{"10":1}}],["equivalence",{"2":{"9":1}}],["equatorial",{"2":{"13":2,"26":3,"34":6}}],["ean",{"2":{"26":1,"34":2}}],["eau",{"2":{"26":1,"34":2}}],["eaf",{"2":{"24":1,"25":1,"34":4,"39":1}}],["eao",{"2":{"13":4,"26":1,"34":2}}],["eas",{"2":{"21":3,"24":1,"25":1,"26":1,"34":6}}],["easy",{"2":{"12":1,"13":1}}],["easily",{"2":{"8":1,"12":1}}],["eastern",{"2":{"24":2,"25":1,"26":6,"34":18,"39":2}}],["east",{"2":{"6":1,"21":1,"24":1,"25":3,"26":5,"27":1,"34":18}}],["ease",{"2":{"0":4,"1":3}}],["each",{"2":{"2":2,"4":1,"5":1,"16":1}}],["e",{"2":{"0":3,"1":1,"6":7,"7":1,"8":1,"13":1,"15":1,"17":1,"19":1,"20":1,"21":1,"23":1,"24":1,"25":1,"26":1,"27":1,"29":1,"34":4,"38":1,"39":1,"40":1,"41":2,"45":1,"50":1}}],["error",{"2":{"0":5,"1":3,"2":4,"41":1,"43":1,"44":1}}],["explicitly",{"2":{"48":1}}],["extension",{"2":{"14":1}}],["extent",{"2":{"11":1}}],["extracting",{"2":{"15":1}}],["extracted",{"2":{"1":3}}],["extracts",{"2":{"0":1}}],["examples",{"0":{"34":1}}],["exampleslon",{"2":{"13":1}}],["examplelon",{"2":{"16":1}}],["examplegeo",{"2":{"14":1}}],["exampleusing",{"2":{"12":1,"15":1}}],["example",{"2":{"6":1,"7":1,"8":1,"13":1,"15":1,"16":1,"17":1,"38":1,"50":1}}],["exact",{"2":{"0":1}}],["exactly",{"2":{"0":1,"10":1}}],["exist",{"2":{"3":1,"11":1,"34":3,"49":1,"50":1}}],["exists",{"2":{"0":2,"43":1,"51":1}}],["iceland",{"2":{"25":1,"26":1,"34":4}}],["important",{"2":{"17":1}}],["ipcc",{"0":{"26":1},"2":{"11":1}}],["ippc",{"2":{"11":1}}],["iturbide",{"0":{"21":1,"26":1},"2":{"21":2,"26":1}}],["itself",{"2":{"27":1}}],["its",{"0":{"44":1},"2":{"8":1,"17":1,"29":1,"30":1,"31":1,"44":1}}],["it",{"0":{"2":1,"12":1},"1":{"13":1,"14":1},"2":{"7":1,"13":5,"32":2,"33":2,"36":1,"38":4,"42":2,"43":1,"47":1}}],["info",{"2":{"38":1,"41":1,"43":1,"44":1}}],["information",{"0":{"41":1},"2":{"0":5,"1":6,"3":2,"15":1,"17":1,"37":1,"38":2,"40":2,"41":2,"42":2,"45":2,"51":1}}],["indian",{"2":{"25":1,"26":2,"34":6}}],["indeed",{"2":{"14":1}}],["installed",{"2":{"35":1}}],["installation",{"0":{"35":1}}],["instructions",{"0":{"35":1}}],["instead",{"2":{"0":1,"38":1}}],["inside",{"0":{"14":1,"47":1},"2":{"12":2,"13":1}}],["inputs",{"2":{"5":2}}],["interested",{"2":{"36":1}}],["interest",{"2":{"8":1,"27":1}}],["int",{"2":{"2":2,"4":1}}],["into",{"2":{"0":2,"1":3,"2":2,"32":1,"38":1,"41":2,"43":1,"45":1,"51":1}}],["in",{"0":{"2":1,"3":1,"11":1,"12":1,"13":1,"18":1,"46":1},"1":{"13":1,"14":1,"19":1,"20":1,"21":1,"47":1},"2":{"0":8,"1":12,"2":2,"3":3,"5":2,"6":1,"7":2,"8":1,"11":4,"13":7,"14":5,"15":1,"16":2,"17":1,"18":1,"19":3,"20":3,"21":3,"24":3,"25":3,"26":3,"27":1,"28":4,"30":7,"32":1,"33":2,"34":4,"35":1,"36":2,"37":1,"38":3,"41":2,"44":1,"47":1,"48":2,"49":5}}],["i",{"2":{"0":3,"35":2}}],["isfile",{"2":{"49":2,"51":2}}],["issue",{"2":{"36":1}}],["isn",{"2":{"35":1}}],["islands",{"2":{"25":1,"34":2}}],["isingeoregion",{"2":{"12":1}}],["isid",{"2":{"0":1,"39":2,"43":1,"44":1,"45":1}}],["isequal",{"2":{"10":1}}],["is",{"0":{"2":1,"12":1,"13":1,"14":1,"23":1,"27":1},"1":{"13":1,"14":1,"28":1,"29":1,"30":1,"31":1},"2":{"0":10,"1":6,"2":13,"6":2,"8":3,"11":6,"12":3,"13":11,"14":3,"16":3,"17":4,"27":3,"32":2,"33":2,"38":7,"43":2,"44":2,"47":1,"48":1,"49":1,"50":2,"51":2}}],["if",{"0":{"39":1},"2":{"0":7,"1":9,"2":14,"3":2,"10":1,"11":10,"12":2,"13":3,"14":1,"16":1,"35":1,"36":2,"38":2,"39":2,"40":1,"43":1,"45":2,"48":1,"49":1,"50":1,"51":1}}],["ids",{"2":{"19":1,"20":1,"21":1,"24":1,"25":1,"26":1,"39":1}}],["identified",{"2":{"27":2}}],["identifiers",{"2":{"48":1}}],["identifier",{"2":{"0":1,"27":2,"41":1,"43":1,"44":2}}],["identify",{"2":{"0":3,"1":3}}],["id",{"0":{"44":1},"2":{"0":25,"1":15,"5":6,"6":5,"7":4,"8":5,"13":3,"15":3,"17":7,"19":3,"20":3,"21":3,"23":1,"24":1,"25":1,"26":1,"27":3,"34":4,"38":7,"39":1,"40":3,"41":12,"42":1,"44":1,"45":3,"48":1,"50":1}}],[">",{"2":{"0":6,"1":3,"2":4,"3":3,"4":1,"11":4}}],["feel",{"2":{"36":2}}],["features",{"2":{"35":1}}],["far",{"2":{"26":1,"34":2}}],["false",{"2":{"0":9,"1":9,"2":10,"3":1,"11":5,"13":1,"14":2,"32":3,"33":5,"45":1,"50":1,"51":3}}],["full",{"2":{"17":1,"19":1,"20":1,"21":1,"27":1,"32":1}}],["functionality",{"2":{"17":2,"32":1}}],["function",{"2":{"12":1,"13":1,"16":1,"17":2,"32":1,"39":1,"43":1,"44":1,"47":1}}],["functions",{"2":{"5":2,"10":1}}],["free",{"2":{"36":2}}],["francisco",{"0":{"19":1,"24":1},"2":{"19":2,"24":1}}],["frame",{"2":{"13":1}}],["from",{"0":{"19":1,"20":1,"21":1,"25":1,"26":1,"42":1,"45":1,"51":1},"1":{"43":1,"44":1},"2":{"0":9,"1":6,"3":1,"11":4,"12":1,"19":2,"20":2,"21":2,"24":1,"25":1,"26":1,"45":2,"51":1}}],["float",{"2":{"27":1,"30":6}}],["float64",{"2":{"1":3,"6":1,"7":1,"8":1,"13":1,"15":1,"17":1,"19":1,"20":1,"21":1,"38":1,"40":1,"41":2,"45":1}}],["flexibility",{"2":{"7":1}}],["fname",{"2":{"3":3}}],["follows",{"2":{"38":1,"50":1}}],["following",{"2":{"6":2,"7":1,"8":1,"13":1,"15":1,"17":1,"19":1,"20":1,"21":1,"27":1,"30":1,"38":1,"40":1,"41":2,"45":1,"49":1}}],["folder",{"2":{"3":1}}],["format",{"2":{"3":1,"11":4}}],["for",{"0":{"0":1,"1":1,"2":1,"3":1,"4":1,"11":1,"37":1,"40":1,"41":1,"48":1,"49":1,"50":1},"1":{"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"49":1,"50":1,"51":1},"2":{"0":4,"1":6,"3":1,"4":3,"7":2,"8":1,"14":2,"15":1,"17":3,"27":3,"32":4,"35":1,"37":1,"38":2,"41":1,"42":1,"45":1,"47":1,"48":4,"50":2,"51":1}}],["fix",{"2":{"35":1}}],["find",{"2":{"35":1}}],["field",{"2":{"30":1}}],["fields",{"2":{"27":1,"30":1}}],["figure",{"2":{"13":1,"14":1,"16":1,"36":1}}],["fig",{"2":{"13":4,"14":4,"16":4}}],["file",{"0":{"46":1},"1":{"47":1},"2":{"3":2,"23":1,"24":1,"25":1,"26":1,"34":7,"39":1,"47":1,"49":3,"50":1}}],["files",{"0":{"47":1},"2":{"3":4,"11":1,"32":1,"38":1,"39":1,"45":2,"47":1,"49":6,"50":1,"51":3}}],["filesystem",{"2":{"0":1}}],["first",{"2":{"1":2,"2":1,"5":1,"43":1,"50":2}}],["ft",{"2":{"1":6}}],["==",{"2":{"10":1}}],["=",{"2":{"0":11,"1":16,"2":8,"3":4,"4":1,"11":13,"12":3,"13":8,"14":12,"15":4,"16":7,"17":3,"32":2,"33":5,"38":11,"40":2,"41":4,"49":2,"50":2}}],["automatically",{"2":{"38":1}}],["australia",{"2":{"24":1,"25":2,"26":4,"34":14,"39":1}}],["aus",{"2":{"24":1,"34":2,"39":1}}],["accessed",{"2":{"35":1}}],["africa",{"2":{"19":1,"24":3,"25":3,"26":6,"34":24,"39":2}}],["amazon",{"2":{"24":1,"25":1,"34":4,"39":1}}],["amz",{"2":{"24":1,"25":1,"34":4,"39":1}}],["amp",{"0":{"19":1,"24":1},"2":{"19":2,"24":1}}],["american",{"2":{"26":1,"34":2}}],["america",{"2":{"15":2,"20":1,"24":5,"25":6,"26":13,"34":48,"39":5}}],["adapted",{"0":{"19":1,"20":1,"21":1},"2":{"19":1,"20":1,"21":1,"24":1,"25":1,"26":1}}],["advanced",{"2":{"17":1}}],["added",{"0":{"39":1},"2":{"39":2,"50":1}}],["additional",{"2":{"32":1}}],["addition",{"2":{"30":1,"39":1}}],["adding",{"0":{"0":1,"38":1},"2":{"37":1,"38":1,"41":1}}],["add",{"2":{"0":1,"19":1,"20":1,"21":1,"24":1,"25":1,"26":1,"35":3,"38":4,"41":2,"43":1,"44":1}}],["above",{"2":{"48":1}}],["abovementioned",{"2":{"40":1}}],["about",{"2":{"13":1,"17":1}}],["abstract",{"2":{"27":1,"30":1}}],["abstractstring",{"2":{"0":9,"1":12,"3":3,"11":4}}],["able",{"2":{"13":1,"16":1}}],["axis",{"2":{"13":1,"14":1,"16":1}}],["ax",{"2":{"13":5,"14":7,"16":3}}],["atlantic",{"2":{"13":2,"26":3,"34":6}}],["at",{"2":{"13":3}}],["available",{"2":{"3":1,"6":1,"7":1,"11":4,"28":3,"32":1,"33":1,"48":1}}],["alternatively",{"2":{"39":1}}],["although",{"2":{"35":1}}],["alaska",{"2":{"24":1,"25":1,"34":4,"39":1}}],["ala",{"2":{"24":1,"25":1,"34":4,"39":1}}],["al",{"0":{"20":1,"21":1,"25":1,"26":1},"2":{"20":2,"21":2,"25":1,"26":1}}],["also",{"2":{"12":1,"13":1,"27":1,"30":1,"32":1,"33":1,"38":1}}],["always",{"2":{"5":1,"33":3,"50":2}}],["allows",{"2":{"8":1,"12":2}}],["all",{"2":{"3":2,"6":2,"7":1,"11":4,"19":2,"20":2,"21":2,"24":2,"25":2,"26":2,"27":1,"28":1,"30":1,"32":1,"33":2,"45":3,"48":2,"49":1,"50":1,"51":1}}],["already",{"2":{"1":3,"41":1,"43":1,"49":1}}],["ars",{"2":{"26":1,"34":2}}],["aro",{"2":{"26":1,"34":2}}],["arabian",{"2":{"26":2,"34":4}}],["arp",{"2":{"26":1,"34":2}}],["arctic",{"2":{"25":1,"26":2,"34":6}}],["arc",{"2":{"25":1,"34":2}}],["argument",{"2":{"16":1,"38":1}}],["arguments",{"2":{"0":12,"1":6,"2":8,"3":3,"4":1,"11":4,"32":1}}],["arbitrary",{"2":{"14":2}}],["ar6=true",{"2":{"26":1}}],["ar6=false",{"2":{"25":1}}],["ar6",{"0":{"21":1,"26":1},"2":{"11":4,"13":4,"15":4,"21":5,"26":118,"33":1,"34":232,"44":1,"48":1}}],["are",{"0":{"10":1},"2":{"2":2,"3":1,"5":2,"6":1,"10":1,"13":3,"14":2,"16":3,"17":1,"18":1,"19":2,"20":3,"21":2,"24":2,"25":3,"26":2,"28":3,"34":1,"36":2,"42":1,"50":3}}],["again",{"2":{"1":1}}],["appear",{"2":{"33":2}}],["append",{"2":{"1":1}}],["api",{"0":{"0":1,"1":1,"2":1,"3":1,"4":1,"11":1},"2":{"6":1,"7":1,"8":1,"13":1,"14":1,"16":1,"17":2,"32":1,"34":4,"38":2,"39":1,"40":1,"41":1,"43":1,"44":1,"49":1,"50":1,"51":1}}],["assume",{"2":{"48":1}}],["associate",{"2":{"42":1}}],["associated",{"2":{"0":3,"41":3}}],["association",{"2":{"41":1}}],["ask",{"2":{"36":1}}],["asia",{"2":{"21":1,"24":5,"25":6,"26":5,"34":32}}],["aspect",{"2":{"13":2,"16":2}}],["as",{"2":{"0":1,"5":1,"6":2,"7":1,"8":2,"12":1,"13":1,"14":2,"19":1,"20":1,"21":1,"24":1,"25":1,"26":1,"32":1,"35":2,"38":2,"48":1,"50":1}}],["a",{"0":{"2":1,"12":1,"13":2,"14":2,"15":1,"16":1,"27":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":2,"51":1},"1":{"13":1,"14":1,"16":1,"28":1,"29":1,"30":1,"31":1,"43":1,"44":1,"47":2},"2":{"0":5,"1":11,"2":17,"4":4,"5":1,"7":1,"8":4,"12":3,"13":8,"14":4,"15":1,"16":1,"17":4,"18":1,"27":13,"29":2,"30":8,"31":2,"32":3,"33":2,"35":1,"37":1,"38":2,"41":1,"42":4,"43":2,"44":2,"48":5,"50":4}}],["angle",{"2":{"30":2}}],["antarctica",{"2":{"25":1,"26":2,"34":6}}],["ant",{"2":{"25":1,"34":2}}],["another",{"2":{"2":1,"12":1,"14":1,"41":5}}],["anymore",{"2":{"42":1}}],["anyway",{"2":{"13":1}}],["any",{"2":{"0":2,"3":1,"7":1,"14":1,"36":1,"49":1,"50":1}}],["an",{"2":{"0":5,"1":3,"2":4,"6":1,"8":1,"12":1,"13":1,"14":1,"27":1,"36":1,"41":1,"44":1}}],["and",{"0":{"0":1,"40":1},"2":{"1":1,"2":9,"4":1,"5":2,"6":2,"7":5,"8":2,"11":1,"13":1,"14":6,"16":2,"17":2,"26":1,"27":1,"30":1,"32":3,"33":1,"34":5,"35":1,"36":1,"37":1,"39":1,"41":1,"42":1,"43":2,"45":2,"48":2,"49":1,"50":2,"51":1}}]],"serializationVersion":2}';export{e as default}; diff --git a/dev/assets/chunks/@localSearchIndexroot.BT1dINSA.js b/dev/assets/chunks/@localSearchIndexroot.BT1dINSA.js new file mode 100644 index 00000000..4cf26605 --- /dev/null +++ b/dev/assets/chunks/@localSearchIndexroot.BT1dINSA.js @@ -0,0 +1 @@ +const e='{"documentCount":57,"nextId":57,"documentIds":{"0":"/GeoRegions.jl/dev/api/addreadrm#API-for-Adding,-Reading-and-Removing-GeoRegions","1":"/GeoRegions.jl/dev/api/create#API-for-Creating-GeoRegions","2":"/GeoRegions.jl/dev/api/isinon#API-for-Is-it-in/on-a-GeoRegion?","3":"/GeoRegions.jl/dev/api/project#API-for-Project-Handling-in-GeoRegions.jl","4":"/GeoRegions.jl/dev/api/properties#API-for-Different-GeoRegion-Properties","5":"/GeoRegions.jl/dev/basics/create#Creating-Custom-GeoRegions","6":"/GeoRegions.jl/dev/basics/create#Defining-New-RectRegions","7":"/GeoRegions.jl/dev/basics/create#Defining-New-PolyRegions","8":"/GeoRegions.jl/dev/basics/create#Defining-New-TiltRegions","9":"/GeoRegions.jl/dev/basics/properties/isequal#Comparing-GeoRegions","10":"/GeoRegions.jl/dev/basics/properties/isequal#1.-Are-two-GeoRegions-Equivalent","11":"/GeoRegions.jl/dev/api/tables#API-for-Tables-in-GeoRegions.jl","12":"/GeoRegions.jl/dev/basics/properties/isin#Is-it-in-a-GeoRegion?","13":"/GeoRegions.jl/dev/basics/properties/isin#Is-a-Point-in-a-GeoRegion?","14":"/GeoRegions.jl/dev/basics/properties/isin#Is-a-GeoRegion-inside-a-GeoRegion?","15":"/GeoRegions.jl/dev/basics/properties/ison#Is-it-on-a-GeoRegion-Boundary?","16":"/GeoRegions.jl/dev/basics/properties/ison#Is-a-Point-on-a-GeoRegion-Boundary?","17":"/GeoRegions.jl/dev/basics/properties/ison#Is-a-GeoRegion-on-a-GeoRegion?-(i.e.,-Are-their-Shapes-the-Same?)","18":"/GeoRegions.jl/dev/basics/properties/ison#1.-circshift()-the-points-defining-the-GeoRegion","19":"/GeoRegions.jl/dev/basics/properties/ison#2.-Shifting-the-GeoRegion-by-360º","20":"/GeoRegions.jl/dev/basics/read/overview#Reading-Predefined-GeoRegions","21":"/GeoRegions.jl/dev/basics/read/listall#Default-List-of-Predefined-GeoRegions","22":"/GeoRegions.jl/dev/basics/read/listall#GeoRegions.jl\'s-default-region-is-the-Globe","23":"/GeoRegions.jl/dev/basics/read/listall#Giorgi-and-Francisco-[2000]","24":"/GeoRegions.jl/dev/basics/read/listall#SREX-Regions-from-Seneviratne-et-al.-[2012]","25":"/GeoRegions.jl/dev/basics/read/listall#IPCC-AR6-Regions-from-Iturbide-et-al.,-[2020]","26":"/GeoRegions.jl/dev/basics/properties/shape#The-Shape-of-a-GeoRegion","27":"/GeoRegions.jl/dev/basics/properties/shape#Retrieving-the-coordinates-of-a-GeoRegion","28":"/GeoRegions.jl/dev/basics/read/predefined#Predefined-GeoRegions-in-GeoRegions.jl","29":"/GeoRegions.jl/dev/basics/read/predefined#Adapted-from-Giorgi-and-Francisco-[2000]","30":"/GeoRegions.jl/dev/basics/read/predefined#SREX-Regions-adapted-from-Seneviratne-et-al.-[2012]","31":"/GeoRegions.jl/dev/basics/read/predefined#AR6-Regions-adapted-from-Iturbide-et-al.,-[2020]","32":"/GeoRegions.jl/dev/basics/read/tables#Tabular-Listings-of-GeoRegions","33":"/GeoRegions.jl/dev/basics/read/tables#More-specific-lists-of-GeoRegions","34":"/GeoRegions.jl/dev/basics/read/tables#Use-Case-Examples","35":"/GeoRegions.jl/dev/georegions#What-is-a-GeoRegion?","36":"/GeoRegions.jl/dev/georegions#Types-of-GeoRegions","37":"/GeoRegions.jl/dev/georegions#rectregions","38":"/GeoRegions.jl/dev/georegions#tiltregions","39":"/GeoRegions.jl/dev/georegions#polyregions","40":"/GeoRegions.jl/dev/#Installation-Instructions","41":"/GeoRegions.jl/dev/#Getting-help","42":"/GeoRegions.jl/dev/tutorials/addreadrm#Manipulation-of-User-Defined-GeoRegions.jl-for-your-Project","43":"/GeoRegions.jl/dev/tutorials/addreadrm#1.-Adding-custom-GeoRegions-to-your-Project","44":"/GeoRegions.jl/dev/tutorials/addreadrm#2.-Check-if-GeoRegions-have-been-added","45":"/GeoRegions.jl/dev/tutorials/addreadrm#3.-Reading-and-Retrieving-GeoRegions-for-your-Project","46":"/GeoRegions.jl/dev/tutorials/addreadrm#4.-Overwriting-Information-for-a-Previously-Defined-GeoRegion","47":"/GeoRegions.jl/dev/tutorials/addreadrm#5.-Removing-a-custom-GeoRegions-from-your-Project","48":"/GeoRegions.jl/dev/tutorials/addreadrm#5.1-Removing-a-GeoRegion-that-has-been-loaded","49":"/GeoRegions.jl/dev/tutorials/addreadrm#5.2-Removing-a-GeoRegion-based-on-its-ID","50":"/GeoRegions.jl/dev/tutorials/addreadrm#6.-Removing-a-the-custom-GeoRegions-lists-from-your-Project","51":"/GeoRegions.jl/dev/tutorials/files#Reading-in-a-file-with-a-list-of-Custom-GeoRegion","52":"/GeoRegions.jl/dev/tutorials/files#Listing-GeoRegions-inside-Custom-Files","53":"/GeoRegions.jl/dev/tutorials/projects#GeoRegions.jl-for-your-Research-Project","54":"/GeoRegions.jl/dev/tutorials/projects#1.-Setup-GeoRegions.jl-for-your-Project","55":"/GeoRegions.jl/dev/tutorials/projects#2.-Listing-out-the-custom-GeoRegions-for-your-Project","56":"/GeoRegions.jl/dev/tutorials/projects#3.-Removing-a-the-custom-GeoRegions-list-from-your-Project"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[7,1,121],"1":[4,1,129],"2":[9,1,93],"3":[7,1,71],"4":[5,1,40],"5":[3,1,53],"6":[3,3,86],"7":[3,3,94],"8":[3,3,93],"9":[2,1,14],"10":[5,2,20],"11":[6,1,77],"12":[6,1,78],"13":[6,6,156],"14":[5,6,139],"15":[7,1,87],"16":[7,7,156],"17":[12,7,50],"18":[6,14,122],"19":[6,14,71],"20":[3,1,88],"21":[5,1,5],"22":[9,5,22],"23":[5,5,127],"24":[8,5,178],"25":[9,5,233],"26":[5,1,93],"27":[6,5,114],"28":[4,1,10],"29":[7,4,75],"30":[9,4,82],"31":[9,4,81],"32":[4,1,84],"33":[5,4,49],"34":[3,4,314],"35":[5,1,93],"36":[3,5,29],"37":[1,7,22],"38":[1,7,67],"39":[1,7,23],"40":[2,1,69],"41":[2,1,36],"42":[9,1,27],"43":[7,9,151],"44":[7,9,131],"45":[8,9,71],"46":[8,9,109],"47":[8,9,39],"48":[9,14,65],"49":[9,14,68],"50":[10,9,121],"51":[9,1,1],"52":[5,9,22],"53":[6,1,80],"54":[7,6,97],"55":[9,6,99],"56":[10,6,85]},"averageFieldLength":[5.947368421052632,4.666666666666666,84.3859649122807],"storedFields":{"0":{"title":"API for Adding, Reading and Removing GeoRegions","titles":[]},"1":{"title":"API for Creating GeoRegions","titles":[]},"2":{"title":"API for Is it in/on a GeoRegion?","titles":[]},"3":{"title":"API for Project-Handling in GeoRegions.jl","titles":[]},"4":{"title":"API for Different GeoRegion Properties","titles":[]},"5":{"title":"Creating Custom GeoRegions","titles":[]},"6":{"title":"Defining New RectRegions","titles":["Creating Custom GeoRegions"]},"7":{"title":"Defining New PolyRegions","titles":["Creating Custom GeoRegions"]},"8":{"title":"Defining New TiltRegions","titles":["Creating Custom GeoRegions"]},"9":{"title":"Comparing GeoRegions","titles":[]},"10":{"title":"1. Are two GeoRegions Equivalent","titles":["Comparing GeoRegions"]},"11":{"title":"API for Tables in GeoRegions.jl","titles":[]},"12":{"title":"Is it in a GeoRegion?","titles":[]},"13":{"title":"Is a Point in a GeoRegion?","titles":["Is it in a GeoRegion?"]},"14":{"title":"Is a GeoRegion inside a GeoRegion?","titles":["Is it in a GeoRegion?"]},"15":{"title":"Is it on a GeoRegion Boundary?","titles":[]},"16":{"title":"Is a Point on a GeoRegion Boundary?","titles":["Is it on a GeoRegion Boundary?"]},"17":{"title":"Is a GeoRegion on a GeoRegion? (i.e., Are their Shapes the Same?)","titles":["Is it on a GeoRegion Boundary?"]},"18":{"title":"1. circshift() the points defining the GeoRegion","titles":["Is it on a GeoRegion Boundary?","Is a GeoRegion on a GeoRegion? (i.e., Are their Shapes the Same?)"]},"19":{"title":"2. Shifting the GeoRegion by 360º","titles":["Is it on a GeoRegion Boundary?","Is a GeoRegion on a GeoRegion? (i.e., Are their Shapes the Same?)"]},"20":{"title":"Reading Predefined GeoRegions","titles":[]},"21":{"title":"Default List of Predefined GeoRegions","titles":[]},"22":{"title":"GeoRegions.jl's default region is the Globe","titles":["Default List of Predefined GeoRegions"]},"23":{"title":"Giorgi & Francisco [2000]","titles":["Default List of Predefined GeoRegions"]},"24":{"title":"SREX Regions from Seneviratne et al. [2012]","titles":["Default List of Predefined GeoRegions"]},"25":{"title":"IPCC AR6 Regions from Iturbide et al., [2020]","titles":["Default List of Predefined GeoRegions"]},"26":{"title":"The Shape of a GeoRegion","titles":[]},"27":{"title":"Retrieving the coordinates of a GeoRegion","titles":["The Shape of a GeoRegion"]},"28":{"title":"Predefined GeoRegions in GeoRegions.jl","titles":[]},"29":{"title":"Adapted from Giorgi & Francisco [2000]","titles":["Predefined GeoRegions in GeoRegions.jl"]},"30":{"title":"SREX Regions adapted from Seneviratne et al. [2012]","titles":["Predefined GeoRegions in GeoRegions.jl"]},"31":{"title":"AR6 Regions adapted from Iturbide et al., [2020]","titles":["Predefined GeoRegions in GeoRegions.jl"]},"32":{"title":"Tabular Listings of GeoRegions","titles":[]},"33":{"title":"More specific lists of GeoRegions","titles":["Tabular Listings of GeoRegions"]},"34":{"title":"Use Case Examples","titles":["Tabular Listings of GeoRegions"]},"35":{"title":"What is a GeoRegion?","titles":[]},"36":{"title":"Types of GeoRegions","titles":["What is a GeoRegion?"]},"37":{"title":"RectRegions","titles":["What is a GeoRegion?","Types of GeoRegions"]},"38":{"title":"TiltRegions","titles":["What is a GeoRegion?","Types of GeoRegions"]},"39":{"title":"PolyRegions","titles":["What is a GeoRegion?","Types of GeoRegions"]},"40":{"title":"Installation Instructions","titles":[]},"41":{"title":"Getting help","titles":[]},"42":{"title":"Manipulation of User-Defined GeoRegions.jl for your Project","titles":[]},"43":{"title":"1. Adding custom GeoRegions to your Project","titles":["Manipulation of User-Defined GeoRegions.jl for your Project"]},"44":{"title":"2. Check if GeoRegions have been added","titles":["Manipulation of User-Defined GeoRegions.jl for your Project"]},"45":{"title":"3. Reading and Retrieving GeoRegions for your Project","titles":["Manipulation of User-Defined GeoRegions.jl for your Project"]},"46":{"title":"4. Overwriting Information for a Previously Defined GeoRegion","titles":["Manipulation of User-Defined GeoRegions.jl for your Project"]},"47":{"title":"5. Removing a custom GeoRegions from your Project","titles":["Manipulation of User-Defined GeoRegions.jl for your Project"]},"48":{"title":"5.1 Removing a GeoRegion that has been loaded","titles":["Manipulation of User-Defined GeoRegions.jl for your Project","5. Removing a custom GeoRegions from your Project"]},"49":{"title":"5.2 Removing a GeoRegion based on its ID","titles":["Manipulation of User-Defined GeoRegions.jl for your Project","5. Removing a custom GeoRegions from your Project"]},"50":{"title":"6. Removing a the custom GeoRegions lists from your Project","titles":["Manipulation of User-Defined GeoRegions.jl for your Project"]},"51":{"title":"Reading in a file with a list of Custom GeoRegion","titles":[]},"52":{"title":"Listing GeoRegions inside Custom Files","titles":["Reading in a file with a list of Custom GeoRegion"]},"53":{"title":"GeoRegions.jl for your Research Project","titles":[]},"54":{"title":"1. Setup GeoRegions.jl for your Project","titles":["GeoRegions.jl for your Research Project"]},"55":{"title":"2. Listing out the custom GeoRegions for your Project","titles":["GeoRegions.jl for your Research Project"]},"56":{"title":"3. Removing a the custom GeoRegions list from your Project","titles":["GeoRegions.jl for your Research Project"]}},"dirtCount":0,"index":[["⋮",{"2":{"44":6}}],["$path",{"2":{"43":3}}],["questions",{"2":{"41":2}}],["quot",{"2":{"2":4,"20":2,"32":4,"34":2,"43":4,"54":2}}],["~",{"2":{"34":3,"50":1,"54":3,"56":1}}],["└",{"2":{"34":3,"50":1,"54":3,"56":1}}],["`",{"2":{"34":3}}],["`setupgeoregions",{"2":{"34":3}}],["┌",{"2":{"34":3,"50":1,"54":3,"56":1}}],["unless",{"2":{"55":1}}],["universally",{"2":{"53":1}}],["update",{"2":{"40":3}}],["ultimate",{"2":{"33":1}}],["us",{"2":{"8":1,"12":1,"13":2,"14":2,"15":1,"16":2,"17":1,"26":1,"44":1}}],["using",{"2":{"6":1,"7":2,"8":1,"12":2,"13":1,"15":2,"16":1,"20":1,"26":2,"27":2,"32":1,"35":2,"40":2,"41":1,"44":2,"52":1,"53":2,"55":1}}],["uses",{"2":{"20":1}}],["useful",{"2":{"15":1,"35":1}}],["use",{"0":{"34":1},"2":{"1":3,"5":1,"10":1,"12":2,"15":2,"17":1,"18":1,"32":1,"34":3,"41":1,"43":1,"46":1,"48":2,"49":1,"50":1,"54":2}}],["user",{"0":{"42":1},"1":{"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1},"2":{"0":1,"1":3,"11":7,"32":5,"44":1,"45":1,"50":1,"53":2,"54":2,"55":2}}],["used",{"2":{"0":6,"1":6,"18":1,"46":1}}],["zealand",{"2":{"25":1,"34":2}}],["≥v2",{"2":{"36":1}}],["≥v6",{"2":{"36":1}}],["≥",{"2":{"29":1,"30":1,"31":1}}],["≥2",{"2":{"24":1,"25":1,"30":1,"31":1}}],["≥1",{"2":{"23":1,"29":1}}],["≧",{"2":{"24":1,"25":1}}],["know",{"2":{"15":1,"18":1}}],["keywords",{"2":{"32":1}}],["keyword",{"2":{"0":8,"1":6,"2":4,"3":2,"11":4,"27":1,"43":2,"53":1,"54":1,"55":1}}],["99",{"2":{"44":1}}],["9",{"2":{"25":1,"27":2,"34":2}}],["935",{"2":{"46":1}}],["93",{"2":{"25":3,"34":6}}],["95",{"2":{"14":1,"24":1,"34":2}}],["98",{"2":{"14":1}}],["90",{"2":{"6":2,"14":6,"20":7,"22":2,"23":3,"24":4,"25":10,"34":30,"35":2,"44":2,"46":5,"55":2}}],["83",{"2":{"25":2,"34":4}}],["81",{"2":{"25":1,"26":2,"34":2}}],["82",{"2":{"24":1,"25":2,"34":6}}],["85",{"2":{"14":1,"23":2,"24":4,"25":2,"30":4,"34":16,"44":1}}],["80",{"2":{"14":3}}],["8",{"2":{"13":3,"14":1,"16":3,"18":4,"24":2,"25":8,"27":2,"34":20}}],["76",{"2":{"25":1,"34":2}}],["77",{"2":{"25":1,"26":1,"34":2}}],["79",{"2":{"24":1,"25":3,"34":8}}],["72",{"2":{"24":2,"25":5,"26":2,"34":14}}],["70",{"2":{"14":1,"24":1,"25":1,"34":4}}],["75",{"2":{"14":1,"23":4,"24":4,"25":5,"34":26,"44":2}}],["7",{"2":{"13":4,"16":7,"18":3,"19":3,"24":3,"25":11,"34":28}}],["62",{"2":{"25":2,"34":4}}],["64",{"2":{"25":1,"34":2}}],["67",{"2":{"24":1,"34":2}}],["679491924311229",{"2":{"8":3,"50":3}}],["66",{"2":{"24":1,"25":1,"34":4}}],["61",{"2":{"24":1,"25":1,"34":4}}],["68",{"2":{"24":1,"34":2}}],["65",{"2":{"23":2,"25":6,"34":16}}],["60",{"2":{"14":2,"23":2,"24":7,"25":4,"34":26,"43":5,"44":3}}],["6",{"0":{"50":1},"2":{"13":3,"16":5,"18":3,"19":3,"24":4,"25":7,"26":3,"30":3,"34":22}}],["63",{"2":{"8":2,"50":2}}],["46",{"2":{"25":3,"34":6,"43":1,"46":2}}],["42",{"2":{"25":1,"34":2}}],["48",{"2":{"24":1,"25":1,"34":4}}],["44",{"2":{"14":1}}],["4",{"0":{"46":1},"2":{"14":6,"24":7,"25":3,"34":20}}],["451",{"2":{"46":1}}],["45",{"2":{"13":1,"14":4,"16":2,"23":1,"24":2,"25":9,"31":3,"34":24,"44":1}}],["43",{"2":{"8":4,"14":1,"50":4,"54":3}}],["47",{"2":{"8":2,"25":1,"34":2,"48":2,"49":2,"50":3,"54":3,"56":1}}],["400",{"2":{"27":1}}],["401",{"2":{"27":2}}],["40",{"2":{"7":6,"14":2,"23":4,"24":6,"25":8,"34":36,"43":5,"44":3}}],["53",{"2":{"25":3,"34":6}}],["58",{"2":{"25":1,"26":1,"34":2}}],["56",{"2":{"24":2,"25":6,"34":16,"43":1,"46":2,"48":2,"49":2,"50":1,"54":3,"56":1}}],["52",{"2":{"24":3,"26":1,"34":6}}],["55",{"2":{"14":1,"23":2,"25":1,"34":6,"44":1}}],["5",{"0":{"47":1,"48":1,"49":1},"1":{"48":1,"49":1},"2":{"8":2,"13":5,"14":4,"16":3,"23":1,"24":8,"25":12,"26":1,"31":4,"34":42,"50":2}}],["50",{"2":{"6":4,"7":4,"8":2,"13":3,"14":2,"16":3,"18":4,"23":10,"24":12,"25":13,"26":4,"27":1,"30":4,"34":70,"43":1,"44":7,"45":3,"46":5,"50":2}}],["09",{"2":{"43":1,"46":2,"48":2,"49":2,"50":1,"54":3,"56":1}}],["0",{"2":{"6":14,"7":14,"8":5,"13":21,"14":7,"16":22,"18":22,"19":21,"20":18,"22":5,"23":89,"24":117,"25":203,"26":18,"29":14,"30":11,"31":16,"34":808,"35":1,"43":15,"44":66,"45":23,"46":29,"50":5,"55":5}}],["31",{"2":{"25":1,"34":2}}],["310",{"2":{"19":3}}],["38",{"2":{"25":1,"34":2}}],["33",{"2":{"25":3,"34":6}}],["330",{"2":{"14":2,"23":1,"34":2,"44":1}}],["36",{"2":{"25":5,"34":10}}],["368",{"2":{"19":3}}],["360º",{"0":{"19":1},"2":{"13":1,"16":1,"19":1}}],["360",{"2":{"6":2,"13":1,"14":1,"16":1,"19":2,"20":3,"22":1,"23":1,"24":1,"25":1,"34":4,"35":1,"44":1,"55":1}}],["358",{"2":{"54":3}}],["350",{"2":{"23":1,"34":2,"44":1}}],["35",{"2":{"14":1,"23":1,"24":1,"34":4}}],["355",{"2":{"14":1}}],["3",{"0":{"45":1,"56":1},"2":{"14":5,"23":1,"24":3,"25":5,"29":1,"30":1,"31":1,"34":12}}],["326",{"2":{"19":3}}],["320",{"2":{"14":1,"23":1,"34":2,"44":1}}],["32050807568877",{"2":{"8":4,"50":4}}],["325",{"2":{"14":2}}],["32",{"2":{"14":1,"25":1,"34":2}}],["345",{"2":{"16":1}}],["34",{"2":{"13":3,"16":3,"18":3,"24":1,"25":2,"34":6}}],["340",{"2":{"13":2,"19":1}}],["371",{"2":{"56":1}}],["37",{"2":{"8":2,"25":2,"31":2,"34":4,"50":2}}],["300",{"2":{"14":2,"23":1,"34":2,"44":1}}],["30127018922193",{"2":{"8":7,"50":7}}],["30",{"2":{"6":5,"7":11,"8":2,"13":1,"14":5,"23":8,"24":7,"25":6,"34":42,"44":4,"50":2}}],["39",{"0":{"22":1},"2":{"0":1,"1":3,"11":4,"15":1,"24":1,"34":2,"40":1,"45":2,"47":2,"50":1}}],["≤v6",{"2":{"53":1}}],["≤",{"2":{"6":4}}],["getting",{"0":{"41":1}}],["get",{"2":{"40":1,"41":1,"54":1}}],["generally",{"2":{"35":1,"40":1}}],["geo3",{"2":{"19":2}}],["geoplottingdata",{"2":{"12":1,"15":1,"26":1}}],["geometry",{"2":{"35":1}}],["geometryops",{"2":{"12":1,"15":1,"35":1}}],["geometrybasics",{"2":{"12":1,"15":1,"35":2}}],["geographic",{"2":{"12":1,"14":1}}],["geographical",{"2":{"2":4,"35":2}}],["geo2",{"2":{"2":3,"18":5}}],["geo1",{"2":{"2":3}}],["geodir",{"2":{"0":5}}],["geo",{"2":{"0":15,"1":6,"2":14,"4":2,"13":5,"14":17,"16":5,"17":2,"18":5,"19":3,"20":1,"27":2,"43":2,"46":3,"48":1}}],["georegion",{"0":{"2":1,"4":1,"12":1,"13":1,"14":2,"15":1,"16":1,"17":2,"18":1,"19":1,"26":1,"27":1,"35":1,"46":1,"48":1,"49":1,"51":1},"1":{"13":1,"14":1,"16":1,"17":1,"18":3,"19":3,"27":1,"36":1,"37":1,"38":1,"39":1,"52":1},"2":{"0":21,"1":18,"2":18,"3":2,"4":5,"5":3,"6":1,"7":1,"12":1,"13":7,"14":5,"15":3,"16":5,"17":2,"18":1,"20":7,"26":3,"27":1,"29":1,"30":1,"31":1,"33":3,"34":1,"35":11,"37":1,"38":2,"39":1,"43":4,"45":1,"46":9,"47":2,"48":5,"49":4,"50":1,"53":2,"56":1}}],["georegions",{"0":{"0":1,"1":1,"3":1,"5":1,"9":1,"10":1,"11":1,"20":1,"21":1,"22":1,"28":2,"32":1,"33":1,"36":1,"42":1,"43":1,"44":1,"45":1,"47":1,"50":1,"52":1,"53":1,"54":1,"55":1,"56":1},"1":{"6":1,"7":1,"8":1,"10":1,"22":1,"23":1,"24":1,"25":1,"29":2,"30":2,"31":2,"33":1,"34":1,"37":1,"38":1,"39":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":2,"49":2,"50":1,"54":1,"55":1,"56":1},"2":{"0":11,"1":9,"2":5,"3":7,"4":1,"5":2,"6":1,"7":1,"8":1,"9":1,"10":1,"11":8,"12":3,"13":2,"14":2,"15":3,"16":2,"17":1,"18":4,"19":2,"20":5,"21":1,"23":3,"24":3,"25":3,"26":1,"28":2,"29":5,"30":5,"31":5,"32":8,"33":3,"34":17,"35":3,"36":6,"37":1,"38":1,"39":1,"40":5,"41":1,"42":2,"43":4,"44":1,"45":2,"46":2,"48":2,"49":4,"50":10,"52":1,"53":6,"54":30,"55":5,"56":9}}],["go",{"2":{"26":1,"29":1,"30":1,"31":1}}],["global",{"2":{"22":1,"23":1,"24":1,"25":1,"34":4,"35":2,"44":1,"55":1}}],["globe",{"0":{"22":1},"2":{"20":2,"22":1,"23":1,"24":1,"25":1,"34":4,"44":1,"55":1}}],["glb",{"2":{"6":3,"7":2,"8":3,"13":1,"14":5,"16":1,"20":5,"22":2,"23":23,"24":35,"25":60,"26":1,"29":1,"30":1,"31":1,"33":3,"34":233,"35":2,"43":3,"44":17,"45":1,"46":3,"49":1,"50":2,"55":2}}],["gf",{"2":{"11":1,"23":23,"29":5,"34":42,"44":13,"49":1,"53":1}}],["github",{"2":{"40":1}}],["githubusercontent",{"2":{"12":1,"15":1,"26":1}}],["gic",{"2":{"25":1,"34":2}}],["giorgi=true",{"2":{"23":1}}],["giorgi",{"0":{"23":1,"29":1},"2":{"11":3,"23":22,"29":2,"33":1,"34":42,"44":13}}],["given",{"2":{"4":1,"13":1,"20":1,"23":1,"24":1,"25":1,"29":1,"30":1,"31":1,"32":1,"35":1}}],["grl",{"2":{"23":1,"34":2,"44":1}}],["greenland",{"2":{"23":1,"24":1,"25":1,"34":6,"44":1}}],["green",{"2":{"14":2}}],["grid",{"2":{"7":1,"19":2,"37":1,"38":1,"39":1}}],["grants",{"2":{"7":1}}],["gt",{"2":{"6":2,"23":1,"54":1}}],["132",{"2":{"25":2,"31":2,"34":4}}],["130",{"2":{"24":1,"25":3,"26":1,"34":8}}],["197",{"2":{"49":1}}],["19",{"2":{"25":3,"31":4,"34":6}}],["192",{"2":{"25":1,"34":2}}],["149",{"2":{"43":1}}],["143",{"2":{"26":1}}],["14",{"2":{"25":3,"34":6,"43":4,"44":1}}],["145",{"2":{"23":1,"24":1,"25":2,"34":8}}],["169",{"2":{"49":1}}],["164",{"2":{"48":1}}],["161",{"2":{"48":1,"50":1,"56":1}}],["167",{"2":{"34":1}}],["16",{"2":{"25":1,"34":2}}],["168",{"2":{"24":1,"25":1,"26":3,"34":4}}],["165",{"2":{"23":1,"34":2}}],["117",{"2":{"25":1,"31":1,"34":2}}],["118",{"2":{"24":1,"34":2}}],["11",{"2":{"24":5,"34":10}}],["110",{"2":{"14":4,"23":1,"24":2,"25":4,"34":14,"44":1}}],["115",{"2":{"14":1}}],["152",{"2":{"25":1,"31":2,"34":2}}],["155",{"2":{"23":1,"24":5,"25":6,"34":24,"44":1}}],["15",{"2":{"13":1,"14":3,"23":5,"24":4,"25":4,"29":3,"34":26,"44":3}}],["125",{"2":{"26":1}}],["129",{"2":{"26":1}}],["122",{"2":{"25":1,"34":2}}],["120",{"2":{"14":3}}],["12",{"2":{"8":1,"14":1,"25":4,"34":8,"50":1}}],["108",{"2":{"31":1}}],["104",{"2":{"25":1,"34":2}}],["105",{"2":{"14":1,"24":4,"25":4,"26":4,"30":3,"34":16}}],["10",{"2":{"6":5,"7":4,"8":2,"13":4,"14":6,"16":4,"18":4,"19":4,"23":6,"24":7,"25":18,"34":62,"40":3,"43":3,"44":4,"45":6,"46":9,"50":2}}],["100",{"2":{"2":3,"14":3,"23":3,"24":3,"25":3,"31":4,"34":18,"43":1,"44":1,"45":3}}],["180",{"2":{"6":1,"13":2,"14":2,"19":2,"23":2,"24":6,"25":9,"34":34,"44":1}}],["1",{"0":{"10":1,"18":1,"43":1,"48":1,"54":1},"2":{"4":1,"12":1,"13":2,"14":7,"15":1,"16":2,"18":2,"23":3,"24":2,"25":1,"26":1,"27":4,"29":2,"32":1,"34":6,"43":1}}],["+2",{"2":{"13":2,"16":2,"27":2}}],["+",{"2":{"3":1,"19":1,"27":2}}],["29t05",{"2":{"43":1,"46":2,"48":2,"49":2,"50":1,"54":3,"56":1}}],["292",{"2":{"34":1}}],["227",{"2":{"34":1}}],["268",{"2":{"25":1,"34":2,"50":1}}],["26",{"2":{"25":1,"34":2}}],["276",{"2":{"25":1,"34":2}}],["27",{"2":{"25":4,"34":8}}],["275",{"2":{"23":3,"34":6,"44":3}}],["210",{"2":{"24":2,"34":4}}],["285",{"2":{"25":1,"34":2}}],["28",{"2":{"24":3,"30":3,"34":6}}],["280",{"2":{"23":2,"34":4,"44":2}}],["240",{"2":{"23":1,"34":2,"44":1}}],["255",{"2":{"23":4,"34":8,"44":4}}],["25",{"2":{"14":1,"16":1,"23":2,"24":7,"25":6,"29":3,"31":1,"34":30,"44":2}}],["230",{"2":{"23":1,"24":1,"34":4,"44":1}}],["23",{"2":{"8":1,"25":2,"34":4,"50":1}}],["2024",{"2":{"43":1,"46":2,"48":2,"49":2,"50":1,"54":3,"56":1}}],["2020",{"0":{"25":1,"31":1},"2":{"25":1,"31":2}}],["2012",{"0":{"24":1,"30":1},"2":{"24":1,"30":2}}],["2000",{"0":{"23":1,"29":1},"2":{"23":1,"29":2}}],["20",{"2":{"6":4,"7":9,"8":2,"13":3,"14":9,"16":2,"18":1,"23":9,"24":7,"25":8,"29":8,"34":48,"43":6,"44":8,"45":5,"46":8,"50":2}}],["2",{"0":{"19":1,"44":1,"49":1,"55":1},"2":{"2":1,"6":1,"7":1,"8":3,"12":1,"13":3,"14":6,"15":1,"16":6,"18":3,"19":1,"20":1,"24":2,"25":7,"26":2,"27":2,"29":1,"30":1,"31":1,"34":14,"43":1,"45":1,"46":5,"50":3}}],["just",{"2":{"15":1,"18":1,"43":1,"56":1}}],["juliaply",{"2":{"45":1,"46":1}}],["juliapolyregion",{"2":{"1":1,"7":1,"39":1}}],["julia",{"2":{"40":5}}],["julianlon",{"2":{"27":1}}],["juliausing",{"2":{"20":1,"21":1,"29":1,"30":1,"31":1,"34":4,"42":1,"54":1}}],["julialon",{"2":{"18":1,"19":1,"45":1}}],["juliageo",{"2":{"16":1,"20":1,"26":1,"43":2}}],["juliageoregion",{"2":{"0":1,"35":1}}],["juliaa",{"2":{"13":1,"16":1}}],["juliaadd",{"2":{"0":1}}],["julia>",{"2":{"6":1,"7":1,"8":1,"46":1}}],["juliajulia>",{"2":{"6":1,"7":1,"8":1,"40":1,"46":1,"48":1,"49":1,"50":1}}],["juliacoordinates",{"2":{"4":1}}],["juliatablepolyregions",{"2":{"11":1,"24":1,"25":1}}],["juliatabletiltregions",{"2":{"11":1}}],["juliatablerectregions",{"2":{"11":1,"23":1,"33":1}}],["juliatablegeoregions",{"2":{"3":1,"11":1,"22":1,"32":1,"44":1,"55":2}}],["juliatiltregion",{"2":{"1":1,"8":1,"38":1,"50":1}}],["juliadeletegeoregions",{"2":{"3":1,"50":1,"56":1}}],["juliasetupgeoregions",{"2":{"3":1,"54":1}}],["juliaon",{"2":{"2":2,"16":2,"17":1,"18":1,"19":1}}],["juliaoverwrite",{"2":{"0":1,"46":1}}],["juliaisfile",{"2":{"54":1,"56":1}}],["juliaisid",{"2":{"0":1,"44":1}}],["juliain",{"2":{"2":2,"13":2,"14":1}}],["juliarectregion",{"2":{"1":1,"5":1,"6":1,"37":1,"43":1}}],["juliarmid",{"2":{"0":1,"49":1}}],["juliarm",{"2":{"0":1,"48":1}}],["jl",{"0":{"3":1,"11":1,"22":1,"28":1,"42":1,"53":1,"54":1},"1":{"29":1,"30":1,"31":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"54":1,"55":1,"56":1},"2":{"8":1,"12":4,"13":2,"15":3,"16":2,"20":2,"28":1,"29":1,"30":1,"31":1,"32":1,"34":10,"35":4,"36":2,"40":1,"41":1,"43":2,"46":2,"48":2,"49":3,"50":7,"53":2,"54":24,"56":7}}],["joinpath",{"2":{"32":1,"42":1,"43":1,"54":3,"56":3}}],["join",{"2":{"1":2}}],["θ",{"2":{"1":2,"8":2,"38":2,"50":1}}],["δy",{"2":{"1":2,"8":2,"38":2,"50":1}}],["δx",{"2":{"1":2,"8":2,"38":2,"50":1}}],["yes",{"2":{"44":1}}],["yet",{"2":{"20":1,"43":1}}],["your",{"0":{"42":1,"43":1,"45":1,"47":1,"50":1,"53":1,"54":1,"55":1,"56":1},"1":{"43":1,"44":1,"45":1,"46":1,"47":1,"48":2,"49":2,"50":1,"54":1,"55":1,"56":1},"2":{"54":1,"56":1}}],["you",{"2":{"6":1,"7":1,"10":1,"12":1,"18":1,"20":1,"32":1,"40":3,"41":2,"42":1,"43":4,"46":2,"47":2,"49":1,"50":2,"55":1,"56":3}}],["y",{"2":{"1":2,"8":2,"38":2,"50":1}}],["x",{"2":{"1":2,"8":2,"38":2,"50":1}}],["x3c",{"2":{"1":3,"2":2,"4":2,"37":1,"38":1,"39":1}}],["cgi",{"2":{"24":1,"34":2}}],["cgeo",{"2":{"2":6}}],["certain",{"2":{"47":1}}],["ceu",{"2":{"24":1,"34":2}}],["central",{"2":{"23":3,"24":4,"25":8,"30":1,"34":30,"44":2}}],["centre",{"2":{"1":2,"38":3}}],["cna",{"2":{"23":1,"24":1,"25":1,"30":3,"34":6,"44":1}}],["circshifted",{"2":{"18":1}}],["circshift",{"0":{"18":1},"2":{"18":3}}],["clear",{"2":{"56":1}}],["clat",{"2":{"12":1,"13":1,"14":1,"15":1,"16":1,"26":1,"27":1}}],["clockwise",{"2":{"38":2}}],["clon",{"2":{"12":1,"13":1,"14":1,"15":1,"16":1,"26":1,"27":1}}],["closed",{"2":{"7":1}}],["close",{"2":{"1":1,"27":2}}],["cst",{"2":{"12":2,"15":2,"26":2}}],["cause",{"2":{"53":1}}],["cau",{"2":{"25":1,"34":2}}],["caf",{"2":{"25":1,"34":2}}],["caribbean",{"2":{"24":1,"25":1,"34":4}}],["car",{"2":{"24":1,"25":1,"34":4}}],["cas",{"2":{"23":1,"24":1,"34":4}}],["cases",{"2":{"18":1}}],["case",{"0":{"34":1},"2":{"13":1,"14":1,"18":2,"19":1}}],["cam",{"2":{"23":1,"24":1,"34":4,"44":1}}],["calling",{"2":{"34":1}}],["called",{"2":{"32":1}}],["call",{"2":{"23":1,"24":1,"25":1,"29":1,"30":1,"31":1}}],["calculate",{"2":{"13":1}}],["cairomakie",{"2":{"12":1,"15":1,"26":1}}],["cannot",{"2":{"46":2,"49":2,"50":1}}],["canada",{"2":{"24":2,"34":4}}],["can",{"2":{"1":6,"7":1,"10":1,"13":1,"14":1,"16":1,"17":1,"20":1,"27":1,"32":2,"40":2,"43":3,"44":3,"45":1,"46":1,"50":1,"52":1,"53":2,"55":1,"56":2}}],["crop=true",{"2":{"44":1}}],["crop",{"2":{"11":3}}],["created",{"2":{"43":1}}],["create",{"2":{"4":1,"5":1,"55":2}}],["creates",{"2":{"1":3}}],["creating",{"0":{"1":1,"5":1},"1":{"6":1,"7":1,"8":1}}],["c",{"2":{"5":1,"13":7,"16":5}}],["choose",{"2":{"32":1}}],["change",{"2":{"18":1}}],["child",{"2":{"2":2}}],["check",{"0":{"44":1},"2":{"2":4,"10":1,"12":2,"44":1,"48":1}}],["checks",{"2":{"0":1,"35":1}}],["copy",{"2":{"34":3,"54":2}}],["copied",{"2":{"3":1}}],["correctly",{"2":{"27":1}}],["corroborate",{"2":{"13":1,"16":1}}],["color=",{"2":{"13":1,"14":6,"16":1,"27":1}}],["coast",{"2":{"12":5,"15":5,"24":1,"26":5,"34":2}}],["coastline",{"2":{"12":1,"15":1,"26":1}}],["come",{"2":{"53":1}}],["comments",{"2":{"41":1}}],["comments=true",{"2":{"12":1,"15":1,"26":1}}],["command",{"2":{"40":1}}],["common",{"2":{"38":1}}],["completely",{"2":{"56":1}}],["complicated",{"2":{"17":1,"43":1}}],["compared",{"2":{"18":1}}],["compare",{"2":{"18":1,"19":1}}],["comparing",{"0":{"9":1},"1":{"10":1},"2":{"17":1}}],["com",{"2":{"12":1,"15":1,"26":1}}],["confirm",{"2":{"44":1}}],["considered",{"2":{"35":1}}],["consider",{"2":{"14":1}}],["constructed",{"2":{"9":1}}],["construct",{"2":{"6":1,"7":1,"8":1}}],["constraints",{"2":{"6":2}}],["concern",{"2":{"13":1,"16":1}}],["contain",{"2":{"35":1,"38":1}}],["container",{"2":{"2":2}}],["containing",{"2":{"1":2,"2":1,"3":2,"38":1}}],["coordinate",{"2":{"1":4,"27":2,"38":2}}],["coordinates",{"0":{"27":1},"2":{"1":3,"4":1,"13":6,"14":5,"16":2,"18":2,"19":1,"27":4,"35":1,"38":3,"39":1,"45":1}}],["currently",{"2":{"6":1,"7":1}}],["current",{"2":{"0":1,"3":2,"55":1,"56":1}}],["customized",{"2":{"32":1}}],["custom=false",{"2":{"22":1,"23":1,"24":1,"25":1}}],["custom",{"0":{"5":1,"43":1,"47":1,"50":1,"51":1,"52":1,"55":1,"56":1},"1":{"6":1,"7":1,"8":1,"48":1,"49":1,"52":1},"2":{"0":12,"1":6,"3":3,"11":14,"20":1,"32":1,"33":2,"34":6,"43":3,"44":1,"50":3,"54":1,"55":3,"56":2}}],["https",{"2":{"12":1,"15":1,"26":1}}],["how",{"2":{"32":1,"41":1}}],["however",{"2":{"13":1,"16":1,"17":1,"27":1,"53":1}}],["hovmoller",{"2":{"8":1}}],["home",{"2":{"0":2,"1":3,"11":4,"34":6,"50":1,"54":6,"56":1}}],["homedir",{"2":{"0":4,"1":3,"11":8,"53":1}}],["heavy",{"2":{"43":1}}],["header",{"2":{"7":1}}],["help",{"0":{"41":1}}],["height=750",{"2":{"13":1,"14":1,"16":1,"27":1}}],["here",{"2":{"6":1,"7":1,"8":1,"13":2,"14":1,"16":2,"17":1,"18":1,"20":2,"27":1,"29":1,"30":1,"31":1,"32":1,"34":4,"43":2,"44":1,"45":1,"46":1,"48":1,"49":1,"54":1,"55":1,"56":1}}],["has",{"0":{"48":1},"2":{"6":1,"7":1,"8":1,"13":1,"16":1,"18":1,"19":1,"20":1,"26":1,"29":1,"30":1,"31":1,"43":1,"45":1,"46":4,"48":1,"50":1}}],["handling",{"0":{"3":1}}],["half",{"2":{"1":2,"38":2}}],["have",{"0":{"44":1},"2":{"0":1,"2":1,"5":1,"9":2,"18":1,"27":1,"41":1,"43":1,"44":2,"45":1,"49":1,"50":1,"53":2,"55":2}}],["mkpath",{"2":{"42":1}}],["mdg",{"2":{"25":1,"34":2}}],["means",{"2":{"53":1}}],["meant",{"2":{"53":1}}],["method",{"2":{"48":1,"49":1}}],["meta",{"2":{"1":3}}],["mexico",{"2":{"24":1,"34":2}}],["mediterranean",{"2":{"23":1,"24":1,"25":1,"34":6,"44":1}}],["med",{"2":{"23":1,"24":1,"25":1,"34":6,"44":1}}],["me",{"2":{"18":1,"40":1,"41":1}}],["minimum",{"2":{"13":4,"16":4,"27":4}}],["may",{"2":{"40":1}}],["make",{"2":{"40":1}}],["manually",{"2":{"43":1}}],["manipulation",{"0":{"42":1},"1":{"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1}}],["manager",{"2":{"40":1}}],["manner",{"2":{"33":1}}],["many",{"2":{"24":1,"27":1,"30":1}}],["madagascar",{"2":{"25":1,"34":2}}],["matter",{"2":{"18":2}}],["match",{"2":{"1":1}}],["maps",{"2":{"27":1}}],["map",{"2":{"14":1,"27":1}}],["markersize=20",{"2":{"13":2,"16":3}}],["maximum",{"2":{"13":4,"16":4,"27":4}}],["main",{"2":{"12":1,"15":1,"26":1,"40":2}}],["modify",{"2":{"43":1}}],["modification",{"2":{"43":1}}],["modulelog",{"2":{"34":3}}],["monsoon",{"2":{"25":1,"34":2}}],["monitoring",{"2":{"0":4,"1":3}}],["more",{"0":{"33":1},"2":{"8":1,"17":1,"20":1,"32":1}}],["most",{"2":{"6":1,"7":1,"20":3,"43":1,"55":1}}],["must",{"2":{"0":2,"7":2,"35":1}}],["right",{"2":{"55":1}}],["rows",{"2":{"44":1}}],["ropes",{"2":{"42":1}}],["rotation",{"2":{"38":1}}],["rotated",{"2":{"8":1}}],["rfe",{"2":{"25":1,"34":2}}],["runner",{"2":{"34":6,"50":1,"54":6,"56":1}}],["running",{"2":{"2":4}}],["russia",{"2":{"25":2,"34":4}}],["rar",{"2":{"25":1,"34":2}}],["raw",{"2":{"12":1,"15":1,"26":1}}],["rmid",{"2":{"0":1,"49":1}}],["rm",{"2":{"0":1,"48":1}}],["require",{"2":{"53":1}}],["relevant",{"2":{"55":1}}],["release",{"2":{"40":2}}],["reload",{"2":{"46":1}}],["replacing",{"2":{"56":1}}],["replace",{"2":{"46":1,"47":1}}],["repository",{"2":{"40":1}}],["refer",{"2":{"32":1}}],["red",{"2":{"14":2}}],["reexported",{"2":{"12":1,"15":1}}],["registry",{"2":{"40":1}}],["regions",{"0":{"24":1,"25":1,"30":1,"31":1},"2":{"35":1,"53":1}}],["regiongrids",{"2":{"8":1}}],["region",{"0":{"22":1},"2":{"1":4,"6":5,"7":4,"8":7,"12":2,"13":2,"14":7,"16":2,"18":3,"19":2,"20":2,"26":2,"29":2,"30":2,"31":2,"33":1,"35":1,"37":1,"38":4,"39":1,"43":2,"45":2,"46":4,"50":2}}],["regardless",{"2":{"5":1}}],["research",{"0":{"53":1},"1":{"54":1,"55":1,"56":1}}],["reset",{"2":{"3":1}}],["resize",{"2":{"13":1,"14":1,"16":1,"27":1}}],["resl",{"2":{"12":1,"15":1,"26":1}}],["respectively",{"2":{"7":1,"54":1}}],["respective",{"2":{"5":3,"8":1,"32":1,"43":1}}],["recommended",{"2":{"43":1}}],["recall",{"2":{"5":1}}],["rectlist",{"2":{"34":1,"43":1,"44":1,"54":4,"55":1,"56":2}}],["rectangle",{"2":{"6":3,"8":1}}],["rectangular",{"2":{"1":3,"8":1,"36":1,"37":1,"38":2}}],["rectilinear",{"2":{"1":2,"6":1,"7":1,"8":1,"20":1,"24":1,"29":1,"30":1,"35":1,"36":1,"37":1,"38":1,"39":1,"43":1,"50":1}}],["rectregions",{"0":{"6":1,"37":1},"2":{"5":1,"11":4,"54":1}}],["rectregion",{"2":{"1":2,"5":1,"6":3,"7":1,"14":1,"22":1,"23":23,"24":1,"25":1,"29":1,"34":46,"36":1,"37":1,"43":3,"44":16,"48":1,"49":1,"55":1}}],["reason",{"2":{"47":1}}],["read",{"2":{"20":1}}],["readdlm",{"2":{"12":1,"15":1,"26":1}}],["reading",{"0":{"0":1,"20":1,"45":1,"51":1},"1":{"52":1},"2":{"20":1}}],["realize",{"2":{"53":1}}],["realized",{"2":{"47":1}}],["really",{"2":{"47":1}}],["real",{"2":{"1":8,"2":2,"4":2}}],["remove",{"2":{"48":1,"49":2,"50":2}}],["removed",{"2":{"0":1,"49":1}}],["removes",{"2":{"0":2}}],["removing",{"0":{"0":1,"47":1,"48":1,"49":1,"50":1,"56":1},"1":{"48":1,"49":1},"2":{"42":1,"48":1,"49":1,"50":1,"56":1}}],["retrieving",{"0":{"27":1,"45":1},"2":{"42":1,"45":1,"53":1}}],["retrieve",{"2":{"20":2,"27":1,"45":1,"50":1}}],["retrieved",{"2":{"0":6,"1":3,"3":1,"11":4,"50":1,"52":1}}],["return",{"2":{"34":1}}],["returning",{"2":{"0":1}}],["returns",{"2":{"0":2,"1":3,"2":4,"4":1}}],["nlon",{"2":{"27":1}}],["nlat",{"2":{"27":1}}],["n=50",{"2":{"27":1}}],["npo",{"2":{"25":1,"34":2}}],["nz",{"2":{"25":1,"34":2}}],["nsa",{"2":{"25":1,"34":2}}],["nws",{"2":{"25":1,"34":2}}],["nwn",{"2":{"25":1,"26":3,"34":2}}],["nca",{"2":{"25":1,"34":2}}],["ntp",{"2":{"24":1,"34":2}}],["nao",{"2":{"25":1,"34":2}}],["nau",{"2":{"24":1,"25":1,"34":4}}],["nas",{"2":{"23":1,"24":1,"34":4}}],["natural",{"2":{"14":1}}],["natgeo",{"2":{"12":1,"15":1,"26":1}}],["named",{"2":{"46":1}}],["name",{"2":{"1":9,"3":1,"5":5,"6":4,"7":3,"8":4,"13":2,"16":2,"18":2,"19":2,"20":2,"22":1,"23":1,"24":1,"25":1,"26":2,"29":2,"30":2,"31":2,"34":4,"35":2,"43":6,"44":1,"45":2,"46":4,"50":2,"55":1}}],["necessary",{"2":{"40":1,"54":1}}],["neaf",{"2":{"25":1,"34":2}}],["nes",{"2":{"25":1,"34":2}}],["nen",{"2":{"25":1,"34":2}}],["neb",{"2":{"24":1,"34":2}}],["neu",{"2":{"23":1,"24":1,"25":1,"34":6,"44":1}}],["next",{"2":{"16":1}}],["need",{"2":{"6":1,"46":1,"47":1}}],["newzealand",{"2":{"24":1,"34":2}}],["new",{"0":{"6":1,"7":1,"8":1},"2":{"0":1,"5":1,"25":1,"34":2,"40":1,"43":1,"47":1,"56":1}}],["number",{"2":{"2":2,"4":1,"27":2}}],["n",{"2":{"1":1,"2":4,"4":2,"6":6,"7":1,"8":1,"13":1,"16":1,"18":1,"19":1,"20":1,"22":1,"23":1,"24":2,"25":1,"26":1,"27":2,"29":1,"30":1,"31":1,"34":6,"35":1,"37":1,"43":1,"44":1,"45":1,"46":2,"50":1,"55":1}}],["non",{"2":{"35":1}}],["now",{"2":{"9":1,"13":2,"14":2,"16":2,"18":1,"26":1,"44":1,"45":1,"47":1,"48":2,"50":1,"55":1}}],["northwest",{"2":{"24":1,"25":2,"26":2,"34":6}}],["northeast",{"2":{"24":1,"25":2,"34":6}}],["northern",{"2":{"23":1,"25":7,"34":16,"44":1}}],["north",{"2":{"6":1,"23":4,"24":5,"25":5,"26":2,"30":1,"34":28,"35":1,"44":3}}],["note",{"2":{"13":1,"16":1,"55":1}}],["nothing",{"2":{"0":4,"3":3,"11":4,"12":1,"15":1,"26":1,"55":1}}],["not",{"2":{"0":7,"1":1,"2":4,"11":1,"13":1,"14":1,"16":1,"18":3,"34":3,"43":3,"48":2,"49":1,"54":1,"55":1}}],["no",{"2":{"0":1,"13":1,"16":1,"34":2,"46":1,"55":1}}],["pkg>",{"2":{"40":3}}],["peninsular",{"2":{"25":1,"34":2}}],["permanently",{"2":{"50":1,"56":1}}],["perimeter",{"2":{"16":2,"17":2}}],["perform",{"2":{"12":1}}],["ply",{"2":{"45":1,"48":1}}],["please",{"2":{"18":1,"41":2,"46":1}}],["plotted",{"2":{"27":1}}],["plotting",{"2":{"27":2}}],["plot",{"2":{"14":1,"27":1}}],["plon",{"2":{"2":4}}],["plateau",{"2":{"24":1,"25":1,"34":4}}],["plat",{"2":{"2":4}}],["possible",{"2":{"32":1,"33":1,"43":1,"52":1}}],["postulate",{"2":{"2":2}}],["pop",{"2":{"18":2}}],["point2",{"2":{"2":2,"12":2,"15":2,"35":1}}],["point",{"0":{"13":1,"16":1},"2":{"2":18,"6":1,"7":1,"8":1,"12":2,"13":14,"15":2,"16":15,"18":1,"19":1,"20":1,"26":1,"29":1,"30":1,"31":1,"40":1,"43":1,"45":1,"46":2,"50":1}}],["points",{"0":{"18":1},"2":{"1":3,"4":2,"12":1,"13":2,"15":1,"18":3,"27":4}}],["polylist",{"2":{"34":1,"43":2,"44":1,"54":4,"55":1,"56":1}}],["polygons",{"2":{"35":1}}],["polygon",{"2":{"7":1,"27":2,"35":1}}],["polygonal",{"2":{"1":2,"7":3,"13":1,"16":1,"18":1,"19":1,"26":1,"30":1,"31":1,"36":1,"39":1,"45":1,"46":2}}],["polyregions",{"0":{"7":1,"39":1},"2":{"5":1,"11":5,"54":1}}],["polyregion",{"2":{"1":2,"5":2,"7":2,"14":4,"18":1,"19":1,"24":34,"25":59,"30":1,"31":1,"34":182,"36":1,"39":1,"43":4,"44":2,"45":2,"46":4,"48":1,"49":1}}],["pid",{"2":{"1":6,"5":4,"6":3,"7":2,"8":3,"13":1,"16":1,"18":1,"19":1,"20":1,"26":1,"29":1,"30":1,"31":1,"35":2,"43":5,"45":1,"46":2,"50":1}}],["pwd",{"2":{"0":1,"1":3,"3":4,"42":2,"43":2,"44":3,"45":1,"46":3,"48":2,"49":2,"50":3,"54":3,"55":1,"56":5}}],["present",{"2":{"55":1}}],["pressing",{"2":{"40":1}}],["previous",{"2":{"53":1}}],["previously",{"0":{"46":1}}],["pretty",{"2":{"43":1}}],["pre",{"2":{"38":1}}],["prefix",{"2":{"23":1,"24":1,"25":1,"29":1,"30":1,"31":1}}],["predefined=false",{"2":{"22":1,"55":1}}],["predefined",{"0":{"20":1,"21":1,"28":1},"1":{"22":1,"23":1,"24":1,"25":1,"29":1,"30":1,"31":1},"2":{"11":6,"20":1,"26":1,"28":1,"29":1,"30":1,"31":1,"32":3,"34":2,"49":2,"53":1,"55":1}}],["preexisting",{"2":{"0":2,"3":1,"46":1,"54":1}}],["print",{"2":{"2":2}}],["problems",{"2":{"53":1}}],["prompt",{"2":{"40":1}}],["process",{"2":{"26":1}}],["prove",{"2":{"15":1}}],["projects",{"2":{"50":1,"53":1}}],["projections",{"2":{"27":1}}],["projection",{"2":{"27":2}}],["project",{"0":{"3":1,"42":1,"43":1,"45":1,"47":1,"50":1,"53":1,"54":1,"55":1,"56":1},"1":{"43":1,"44":1,"45":1,"46":1,"47":1,"48":2,"49":2,"50":1,"54":1,"55":1,"56":1},"2":{"32":2,"42":1,"46":2,"50":2,"53":6,"54":3,"55":1,"56":2}}],["program",{"2":{"2":4}}],["properties",{"0":{"4":1},"2":{"0":1,"6":1,"7":1,"8":1,"13":1,"16":1,"18":1,"19":1,"20":2,"26":1,"29":1,"30":1,"31":1,"32":1,"43":1,"45":1,"46":2,"50":1}}],["patch",{"2":{"40":1}}],["path=pwd",{"2":{"54":2,"55":1}}],["path=joinpath",{"2":{"42":1,"43":2,"44":3,"45":1,"46":3,"48":2,"49":2,"50":3}}],["paths",{"2":{"32":1}}],["path",{"2":{"0":27,"1":15,"3":8,"11":12,"32":2,"43":9,"46":1,"53":3,"54":2,"55":2,"56":2}}],["particular",{"2":{"47":1,"53":1}}],["part",{"2":{"32":1,"53":1}}],["parent",{"2":{"1":3,"2":1,"5":1,"6":1,"7":1,"8":1,"13":1,"16":1,"18":1,"19":1,"20":1,"22":1,"23":1,"24":1,"25":1,"26":1,"29":1,"30":1,"31":1,"33":1,"34":4,"35":2,"43":1,"44":1,"45":1,"46":2,"50":1,"55":1}}],["pacific",{"2":{"24":3,"25":3,"34":12}}],["package",{"2":{"0":3,"12":2,"15":2,"40":1,"53":1}}],["paper",{"2":{"23":1,"24":1,"25":1,"29":1,"30":1,"31":1}}],["pass",{"2":{"2":2}}],["over",{"2":{"54":2}}],["overwritten",{"2":{"3":1,"54":1}}],["overwriting",{"0":{"46":1},"2":{"0":1,"54":3}}],["overwrite=true",{"2":{"21":1,"54":1}}],["overwrites",{"2":{"0":1}}],["overwrite",{"2":{"0":1,"3":4,"46":2,"54":2}}],["omitted",{"2":{"44":1}}],["open",{"2":{"41":1}}],["other",{"2":{"14":2,"15":1,"18":1,"33":1}}],["obviously",{"2":{"16":1}}],["obvious",{"2":{"13":1,"17":1}}],["obtain",{"2":{"8":1}}],["ocean",{"2":{"13":2,"16":1,"24":1,"25":10,"34":22}}],["out",{"0":{"55":1},"2":{"6":1,"7":1,"41":1}}],["original",{"2":{"54":3}}],["order",{"2":{"5":1,"6":1,"18":2,"27":1,"46":1,"54":1}}],["or",{"2":{"2":2,"10":1,"12":1,"17":1,"32":1,"40":1,"41":1,"43":1,"47":1,"48":1,"49":3,"56":1}}],["once",{"2":{"46":1}}],["only",{"2":{"23":1,"24":1,"25":1,"29":1,"30":1,"31":1,"32":1,"34":1}}],["one",{"2":{"0":1}}],["on",{"0":{"2":1,"15":1,"16":1,"17":1,"49":1},"1":{"16":1,"17":1,"18":2,"19":2},"2":{"0":1,"2":3,"4":1,"6":2,"7":1,"14":1,"15":3,"16":6,"17":2,"18":5,"19":1,"20":1,"26":1,"27":3,"32":1,"35":1,"37":1,"38":1,"39":1,"45":2,"49":1,"53":1}}],["often",{"2":{"12":1}}],["of",{"0":{"21":1,"26":1,"27":1,"32":1,"33":1,"36":1,"42":1,"51":1},"1":{"22":1,"23":1,"24":1,"25":1,"27":1,"33":1,"34":1,"37":1,"38":1,"39":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"52":1},"2":{"0":12,"1":15,"2":11,"3":3,"4":7,"5":5,"6":1,"7":5,"8":2,"9":1,"11":7,"13":7,"15":2,"16":5,"17":2,"18":4,"19":3,"20":5,"24":1,"25":1,"26":2,"27":5,"28":1,"29":1,"30":2,"31":1,"32":2,"33":3,"34":2,"35":8,"36":2,"38":6,"39":1,"40":2,"42":2,"43":2,"45":1,"46":2,"47":1,"53":4,"54":1,"55":3,"56":1}}],["lifting",{"2":{"43":1}}],["linewidth=5",{"2":{"13":1,"14":5,"16":1,"27":1}}],["linewidth=3",{"2":{"13":1,"14":1,"16":1,"27":1}}],["lines",{"2":{"13":2,"14":6,"16":2,"27":2}}],["limits=",{"2":{"13":1,"14":1,"16":1,"27":1}}],["listing",{"0":{"52":1,"55":1},"2":{"33":1}}],["listings",{"0":{"32":1},"1":{"33":1,"34":1}}],["listed",{"2":{"3":1,"20":1,"44":1}}],["lists",{"0":{"33":1,"50":1},"2":{"0":5,"32":1,"34":3,"43":4,"50":1,"56":1}}],["list",{"0":{"21":1,"51":1,"56":1},"1":{"22":1,"23":1,"24":1,"25":1,"52":1},"2":{"0":7,"1":6,"3":2,"11":6,"29":1,"30":1,"31":1,"32":4,"33":1,"43":1,"46":1,"48":1,"49":1,"52":1,"55":1}}],["letter",{"2":{"23":1,"24":1,"25":1,"29":1,"30":1,"31":1}}],["let",{"2":{"13":2,"14":2,"16":2,"17":1,"18":1,"26":1,"43":1,"44":1,"45":2,"50":1}}],["length",{"2":{"7":2,"27":2}}],["lt",{"2":{"6":1,"54":1}}],["larger",{"2":{"32":1}}],["layout",{"2":{"13":1,"14":1,"16":1,"27":1}}],["last",{"2":{"1":1}}],["latest",{"2":{"40":3}}],["lat",{"2":{"1":2,"4":2,"7":4,"18":9,"19":2,"27":2,"38":1,"39":2,"45":1}}],["latitudes",{"2":{"2":2}}],["latitude",{"2":{"1":3,"4":2,"7":2,"27":1,"38":3}}],["lost",{"2":{"50":1,"56":1}}],["loaded",{"0":{"48":1},"2":{"48":1}}],["load",{"2":{"26":1}}],["look",{"2":{"18":1}}],["logs",{"2":{"2":2}}],["logging",{"2":{"0":4,"1":6}}],["longer",{"2":{"46":1}}],["longitude",{"2":{"1":3,"2":2,"4":2,"7":2,"13":1,"16":1,"27":1,"38":3}}],["lon",{"2":{"1":2,"4":2,"7":4,"18":8,"19":4,"27":2,"38":1,"39":2}}],["local",{"2":{"0":3}}],["during",{"2":{"27":1}}],["d",{"2":{"16":5}}],["data",{"2":{"12":1}}],["diagrams",{"2":{"8":1}}],["differentiate",{"2":{"36":1}}],["different",{"0":{"4":1},"2":{"5":1,"9":2,"15":1,"18":1,"27":1,"33":1,"36":1,"53":2}}],["displayed",{"2":{"11":2}}],["display",{"2":{"3":1,"11":10}}],["directly",{"2":{"43":1,"56":1}}],["direction",{"2":{"38":1}}],["directions",{"2":{"38":1}}],["directories",{"2":{"32":1}}],["directory",{"2":{"0":4,"1":3,"3":3,"11":4,"43":3,"46":1,"53":2,"54":1,"55":1,"56":1}}],["dirname",{"2":{"0":2}}],["docs",{"2":{"50":1,"54":3,"56":1}}],["documentation",{"2":{"32":1}}],["doing",{"2":{"35":1}}],["does",{"2":{"18":1,"34":3,"48":1}}],["don",{"2":{"15":1,"47":1}}],["download",{"2":{"12":1,"15":1,"26":1}}],["domains",{"2":{"23":1,"24":1,"25":1,"29":1,"30":1,"31":1}}],["domain",{"2":{"7":1,"35":1}}],["do",{"2":{"1":1,"6":1,"11":1,"43":4,"47":1,"48":1,"49":1,"56":1}}],["depot",{"2":{"32":1,"43":1}}],["determining",{"2":{"15":1}}],["determine",{"2":{"12":1,"14":1,"15":1,"17":1}}],["detect",{"2":{"13":1,"16":1}}],["deleted",{"2":{"50":1}}],["delete",{"2":{"47":1,"56":1}}],["deletegeoregions",{"2":{"3":1,"50":1,"56":2}}],["delimitedfiles",{"2":{"12":1,"15":1,"26":1}}],["denoted",{"2":{"36":3}}],["denote",{"2":{"12":1,"15":1}}],["dealing",{"2":{"12":1}}],["degrees",{"2":{"1":1,"38":2}}],["define",{"2":{"6":1,"13":1,"17":1,"18":2,"19":1,"27":1}}],["defined",{"0":{"42":1,"46":1},"1":{"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1},"2":{"0":1,"2":5,"11":3,"13":1,"14":2,"16":1,"23":3,"24":3,"25":3,"27":1,"29":3,"30":3,"31":3,"32":4,"37":1,"38":1,"39":1,"43":1,"44":1,"45":1,"46":1,"50":1,"53":2,"54":2,"55":2}}],["defining",{"0":{"6":1,"7":1,"8":1,"18":1},"2":{"1":1,"9":1,"18":1,"35":2}}],["default",{"0":{"21":1,"22":1},"1":{"22":1,"23":1,"24":1,"25":1},"2":{"0":4,"1":3,"2":2,"3":1,"11":6,"20":1,"27":1,"32":1,"35":2,"43":2,"53":1,"56":2}}],["defaults",{"2":{"0":6,"1":3,"3":2,"11":4}}],["sws",{"2":{"25":1,"34":2}}],["src",{"2":{"34":3,"50":1,"54":6,"56":1}}],["srx",{"2":{"24":35,"30":5,"34":66,"49":1}}],["srex=false",{"2":{"25":1}}],["srex=true",{"2":{"24":1}}],["srex",{"0":{"24":1,"30":1},"2":{"11":4,"24":33,"33":1,"34":66,"53":1}}],["ssa",{"2":{"23":1,"24":1,"25":1,"34":6,"44":1}}],["some",{"2":{"33":1,"44":1,"47":1}}],["something",{"2":{"15":1,"17":1}}],["sometimes",{"2":{"15":2}}],["soon",{"2":{"40":1}}],["soo",{"2":{"25":1,"34":2}}],["so",{"2":{"18":2,"19":1,"27":1,"34":1,"43":1,"45":1,"53":1,"55":1}}],["soneto",{"2":{"16":1}}],["southwest",{"2":{"25":1,"34":2}}],["southeastern",{"2":{"24":1,"34":2}}],["southeast",{"2":{"23":1,"24":1,"25":2,"34":8}}],["southern",{"2":{"23":2,"24":2,"25":8,"34":24,"44":1}}],["south",{"2":{"6":1,"23":2,"24":5,"25":10,"34":34,"35":1,"44":1}}],["source",{"2":{"0":6,"1":3,"2":4,"3":3,"4":1,"11":4,"35":1,"37":1,"38":1,"39":1}}],["smaller",{"2":{"14":1}}],["shared",{"2":{"53":1}}],["shapes",{"0":{"17":1},"1":{"18":1,"19":1},"2":{"15":1,"18":1,"19":1}}],["shape",{"0":{"26":1},"1":{"27":1},"2":{"1":1,"2":2,"4":4,"6":2,"7":3,"8":2,"13":2,"16":2,"17":1,"18":3,"19":2,"20":2,"26":3,"27":3,"29":2,"30":2,"31":2,"35":2,"43":2,"45":3,"46":4,"50":2}}],["shown",{"2":{"55":1}}],["show",{"2":{"42":1}}],["should",{"2":{"18":1,"35":1,"43":1,"53":1}}],["shift",{"2":{"19":1}}],["shifting",{"0":{"19":1}}],["shifted",{"2":{"13":1,"16":1}}],["similar",{"2":{"53":1}}],["simultaneously",{"2":{"43":1}}],["simpler",{"2":{"17":1}}],["simply",{"2":{"13":1,"16":1}}],["sio",{"2":{"25":1,"34":2}}],["siberia",{"2":{"25":2,"34":4}}],["since",{"2":{"14":1,"40":1}}],["sides",{"2":{"27":1}}],["side",{"2":{"4":1,"27":2}}],["sca",{"2":{"25":1,"34":2}}],["scatter",{"2":{"13":2,"16":3}}],["screen",{"2":{"2":2}}],["slon",{"2":{"13":5,"14":10,"16":5,"27":4}}],["slat",{"2":{"13":6,"14":10,"16":6,"27":4}}],["suggestions",{"2":{"41":1}}],["supertype",{"2":{"35":1}}],["suppose",{"2":{"9":1}}],["subregion",{"2":{"35":1}}],["subtypes",{"2":{"33":1}}],["subset",{"2":{"2":1,"33":1,"35":1}}],["such",{"2":{"13":1,"16":1,"18":1}}],["ses",{"2":{"25":1,"34":2}}],["seneviratne",{"0":{"24":1,"30":1},"2":{"24":1,"30":2}}],["seaf",{"2":{"25":1,"34":2}}],["sea",{"2":{"23":1,"24":1,"25":2,"34":8}}],["setting",{"2":{"32":1}}],["set",{"2":{"28":1,"46":1,"55":1}}],["sets",{"2":{"20":1}}],["setup",{"0":{"54":1},"2":{"3":1,"26":1,"32":1}}],["setupgeoregions",{"2":{"3":1,"21":1,"42":1,"52":1,"54":2}}],["select",{"2":{"16":1}}],["several",{"2":{"9":1,"20":1,"36":1}}],["see",{"2":{"6":1,"7":1,"8":1,"13":4,"14":3,"16":4,"17":1,"18":1,"19":1,"20":2,"27":1,"29":1,"30":1,"31":1,"34":4,"35":2,"43":2,"44":3,"45":2,"46":2,"48":2,"49":1,"50":1,"54":1,"55":1,"56":2}}],["seen",{"2":{"5":1}}],["section",{"2":{"20":1,"26":1}}],["sections",{"2":{"5":1}}],["second",{"2":{"2":1,"49":1}}],["segments",{"2":{"2":2,"4":1,"27":2}}],["spo",{"2":{"25":1,"34":2}}],["spans",{"2":{"20":1}}],["specify",{"2":{"6":1,"7":1,"27":2,"43":2,"55":1}}],["specifically",{"2":{"53":1,"54":1}}],["specification",{"2":{"7":1,"8":1,"53":2}}],["specific",{"0":{"33":1},"2":{"5":1,"32":1}}],["specifies",{"2":{"3":1}}],["specified",{"2":{"0":3,"1":3,"3":1,"35":1,"43":1,"52":1,"55":1}}],["split",{"2":{"2":2}}],["stored",{"2":{"54":1}}],["store",{"2":{"54":1}}],["stops",{"2":{"2":4}}],["still",{"2":{"53":1}}],["stp",{"2":{"24":1,"34":2}}],["started",{"2":{"54":1}}],["start",{"2":{"18":3}}],["starting",{"2":{"18":1}}],["state",{"2":{"7":1}}],["straightforward",{"2":{"6":1}}],["struct",{"2":{"2":2}}],["string",{"2":{"1":3,"20":1,"35":3,"49":1}}],["st",{"2":{"1":6}}],["say",{"2":{"56":1}}],["saving",{"2":{"32":1}}],["save=true",{"2":{"43":1}}],["save",{"2":{"1":9,"43":8,"44":2,"45":1,"46":4,"50":2}}],["saved",{"2":{"0":2,"32":1,"43":3,"45":1,"46":1,"50":1,"53":1,"55":1,"56":1}}],["saves",{"2":{"0":1}}],["sao",{"2":{"25":1,"34":2}}],["sau",{"2":{"24":1,"25":1,"34":4}}],["sas",{"2":{"23":1,"24":1,"25":1,"34":6}}],["sahara",{"2":{"23":1,"24":1,"25":1,"34":6}}],["sah",{"2":{"23":1,"24":1,"25":1,"34":6}}],["saf",{"2":{"23":1,"24":1,"34":4}}],["sam",{"2":{"25":1,"34":2}}],["sample",{"2":{"6":1,"7":1,"8":1}}],["same",{"0":{"17":1},"1":{"18":1,"19":1},"2":{"0":1,"2":1,"5":1,"7":2,"10":1,"17":1,"18":2,"19":1,"46":1}}],["s",{"0":{"22":1},"2":{"0":1,"1":4,"6":6,"7":1,"8":1,"11":4,"13":1,"16":1,"18":1,"19":1,"20":1,"22":1,"23":1,"24":1,"25":1,"26":1,"29":1,"30":1,"31":1,"34":4,"35":1,"37":1,"43":1,"44":1,"45":3,"46":2,"50":2,"55":1}}],["writes",{"2":{"43":3}}],["wca",{"2":{"25":1,"34":2}}],["wce",{"2":{"25":1,"34":2}}],["wsb",{"2":{"25":1,"34":2}}],["wsaf",{"2":{"25":1,"34":2}}],["wsa",{"2":{"24":1,"34":2}}],["wna",{"2":{"23":1,"24":1,"25":1,"34":6,"44":1}}],["work",{"2":{"34":3,"50":2,"54":9,"56":2}}],["workspace",{"2":{"43":1,"48":1}}],["works",{"2":{"27":1,"53":1}}],["working",{"2":{"3":2,"40":1}}],["would",{"2":{"15":1}}],["wong",{"2":{"12":1,"15":1,"26":1}}],["while",{"2":{"43":1}}],["which",{"2":{"12":1,"13":1,"15":1,"16":1,"17":1,"20":1,"32":1,"35":2,"43":2,"54":1}}],["whole",{"2":{"20":1}}],["wholly",{"2":{"14":1}}],["what",{"0":{"35":1},"1":{"36":1,"37":1,"38":1,"39":1},"2":{"13":1,"16":1}}],["whether",{"2":{"15":1}}],["when",{"2":{"12":1,"35":2,"43":1}}],["where",{"2":{"0":6,"1":6,"2":2,"3":2,"11":4,"18":1,"27":1,"38":1}}],["waiting",{"2":{"40":1}}],["wan",{"2":{"25":1,"34":2}}],["want",{"2":{"10":1,"15":1,"40":1,"47":1,"56":1}}],["was",{"2":{"24":1,"34":2}}],["waf",{"2":{"23":1,"24":1,"25":1,"29":3,"34":6,"44":1}}],["way",{"2":{"12":1,"15":1,"54":1}}],["ways",{"2":{"9":1,"47":1}}],["warning",{"2":{"34":3,"50":1,"54":3,"55":1,"56":1}}],["warnings",{"2":{"11":1}}],["warn=false",{"2":{"34":1}}],["warn",{"2":{"11":2,"55":1}}],["were",{"2":{"53":1}}],["western",{"2":{"23":2,"25":5,"29":1,"34":14,"44":2}}],["west",{"2":{"6":1,"24":4,"25":2,"34":12,"35":1}}],["we",{"2":{"2":2,"5":1,"7":1,"9":2,"10":1,"12":2,"13":4,"14":2,"15":2,"16":4,"17":2,"18":4,"19":3,"26":2,"27":5,"36":1,"42":1,"43":2,"44":4,"45":2,"46":3,"47":1,"48":3,"49":1,"50":2,"53":2,"55":3,"56":1}}],["w",{"2":{"1":1,"6":7,"7":1,"8":1,"13":1,"16":1,"18":1,"19":1,"20":1,"22":1,"23":1,"24":2,"25":1,"26":1,"29":1,"30":1,"31":1,"34":6,"35":1,"37":1,"43":1,"44":1,"45":1,"46":2,"50":1,"55":1}}],["wio",{"2":{"24":1,"34":2}}],["wish",{"2":{"12":1,"43":1}}],["width=750",{"2":{"13":1,"14":1,"16":1,"27":1}}],["width",{"2":{"1":2,"38":3}}],["will",{"2":{"0":12,"1":9,"3":2,"11":7,"18":1,"32":1,"33":3,"34":1,"38":1,"42":1,"43":1,"50":2,"53":2,"54":4,"55":1,"56":1}}],["without",{"2":{"40":1}}],["within",{"2":{"2":6,"12":1,"13":3,"14":1,"16":1}}],["with",{"0":{"51":1},"1":{"52":1},"2":{"0":7,"3":1,"6":2,"7":2,"8":2,"12":2,"13":1,"14":1,"16":2,"18":1,"33":1,"46":7,"47":2,"49":1,"54":3,"56":1}}],["v7",{"2":{"53":1}}],["v2",{"2":{"30":1,"31":1}}],["v1",{"2":{"29":1,"40":3}}],["vcat",{"2":{"18":2}}],["ve",{"2":{"47":1}}],["version",{"2":{"36":1,"40":3,"53":1}}],["versions",{"2":{"23":1,"24":1,"25":1,"29":1,"30":1,"31":1,"40":1}}],["vertices",{"2":{"27":1,"39":1}}],["vertical",{"2":{"11":1}}],["verify",{"2":{"14":1}}],["very",{"2":{"13":1,"16":1}}],["verbose",{"2":{"0":12,"1":9,"2":4}}],["vectors",{"2":{"4":1,"7":4}}],["vector",{"2":{"1":5,"4":4,"35":2,"38":1}}],["variety",{"2":{"33":1}}],["variable",{"2":{"0":3,"43":1,"53":1}}],["values",{"2":{"18":1}}],["valid",{"2":{"0":4,"35":1,"48":1,"49":1}}],["tutorials",{"2":{"50":1,"54":3,"56":1}}],["tutorial",{"2":{"42":1}}],["tibetian",{"2":{"25":1,"34":2}}],["tibetan",{"2":{"24":1,"34":2}}],["tibet",{"2":{"23":1,"34":2}}],["tib",{"2":{"23":1,"24":1,"25":1,"34":6}}],["tiltlist",{"2":{"34":1,"43":1,"54":4,"55":1,"56":1}}],["tiltgrid",{"2":{"8":1}}],["tilt",{"2":{"1":1,"8":3,"38":3,"50":1}}],["tilting",{"2":{"1":2,"38":2}}],["tilted",{"2":{"1":2,"8":2,"36":1,"38":1,"50":1}}],["tiltregions",{"0":{"8":1,"38":1},"2":{"5":1,"11":2,"34":2,"38":1,"54":1}}],["tiltregion",{"2":{"1":2,"5":2,"8":4,"36":1,"38":1,"43":1,"48":1,"49":1,"50":2}}],["talks",{"2":{"20":1}}],["tablepolyregions",{"2":{"11":1,"33":2,"34":1}}],["tabletiltregions",{"2":{"11":1,"33":2,"34":2}}],["tablerectregions",{"2":{"11":1,"33":1,"34":1}}],["table",{"2":{"11":1,"33":1,"55":2}}],["tables",{"0":{"11":1},"2":{"34":3}}],["tablegeoregions",{"2":{"3":1,"11":1,"32":4,"34":1,"44":1,"55":1}}],["tabular",{"0":{"32":1},"1":{"33":1,"34":1},"2":{"3":1,"11":4}}],["t",{"2":{"15":1,"40":1,"47":1}}],["tst",{"2":{"50":4}}],["tsr",{"2":{"43":3,"44":2,"49":4}}],["tsp",{"2":{"43":2,"44":2,"45":3,"46":10,"48":4}}],["ts4",{"2":{"14":5}}],["ts3",{"2":{"14":4}}],["ts2",{"2":{"14":5}}],["ts1",{"2":{"14":5}}],["txt",{"2":{"12":1,"15":1,"22":1,"23":22,"24":34,"25":59,"26":1,"34":231,"43":4,"44":16,"54":12,"55":4,"56":4}}],["ttr",{"2":{"8":4}}],["tpr",{"2":{"7":4}}],["two",{"0":{"10":1},"2":{"7":1,"9":1,"10":1,"15":1,"17":1,"18":1,"19":1,"47":1}}],["terms",{"2":{"7":1,"17":1}}],["test",{"2":{"6":3,"7":2,"8":3,"13":1,"14":4,"16":1,"18":1,"19":1,"42":2,"43":5,"44":5,"45":2,"46":6,"48":2,"49":2,"50":7}}],["templates",{"2":{"34":3}}],["template",{"2":{"3":2,"52":1}}],["tropical",{"2":{"24":2,"34":4}}],["trying",{"2":{"41":1}}],["try",{"2":{"17":1,"45":1}}],["trivial",{"2":{"13":1}}],["trr",{"2":{"6":4}}],["true",{"2":{"0":3,"1":6,"2":10,"3":1,"11":19,"13":2,"14":2,"17":1,"18":2,"19":1,"32":3,"33":5,"43":4,"44":2,"54":4}}],["types",{"0":{"36":1},"1":{"37":1,"38":1,"39":1},"2":{"5":2,"6":1,"7":1,"35":3,"36":1,"38":1}}],["type",{"2":{"2":2,"5":1,"12":2,"15":2,"20":1,"22":1,"23":2,"24":2,"25":2,"29":1,"30":1,"31":1,"34":4,"35":4,"36":3,"38":6,"44":1,"55":1}}],["tf",{"2":{"0":3,"2":8}}],["touch",{"2":{"41":1}}],["to",{"0":{"43":1},"2":{"0":13,"1":7,"2":6,"3":4,"5":1,"6":2,"8":1,"10":1,"11":4,"12":5,"13":5,"14":2,"15":5,"16":4,"17":1,"18":2,"20":1,"23":2,"24":2,"25":2,"27":5,"29":3,"30":3,"31":3,"32":6,"33":1,"34":6,"35":1,"38":2,"40":5,"41":4,"43":10,"44":1,"46":3,"47":2,"48":4,"49":3,"50":1,"52":1,"53":2,"54":4,"55":3,"56":1}}],["those",{"2":{"55":1}}],["though",{"2":{"24":1,"30":1,"55":1}}],["through",{"2":{"26":1}}],["throw=false",{"2":{"50":1}}],["throws",{"2":{"0":1}}],["throw",{"2":{"0":2,"2":8}}],["thrown",{"2":{"0":4,"1":3,"2":4}}],["three",{"2":{"5":2,"6":1,"7":1}}],["that",{"0":{"48":1},"2":{"0":4,"1":3,"2":2,"5":1,"6":1,"8":2,"10":1,"13":6,"14":2,"16":6,"18":2,"19":2,"20":1,"27":2,"43":1,"44":2,"45":1,"46":1,"47":1,"48":2,"49":1,"53":4,"54":1,"55":1}}],["this",{"2":{"0":1,"3":1,"12":2,"13":3,"14":2,"15":2,"16":2,"18":2,"19":1,"20":1,"23":1,"24":1,"25":1,"26":1,"27":1,"29":1,"30":1,"31":1,"40":1,"42":1,"43":1,"45":1,"46":4,"48":2,"49":2,"53":2,"54":1}}],["they",{"2":{"44":1,"50":1,"54":1}}],["them",{"2":{"14":1,"24":1,"30":1,"32":1,"56":1}}],["these",{"2":{"5":1,"45":1,"50":1,"52":1,"54":1,"56":1}}],["their",{"0":{"17":1},"1":{"18":1,"19":1},"2":{"5":1,"32":2,"44":1,"50":1}}],["therefore",{"2":{"18":1,"27":2,"46":1,"53":1}}],["there",{"2":{"0":1,"5":1,"20":1,"27":2,"28":1,"34":1,"47":1,"55":1}}],["then",{"2":{"0":4,"1":3,"2":4,"3":1,"56":1}}],["the",{"0":{"17":1,"18":2,"19":1,"22":1,"26":1,"27":1,"50":1,"55":1,"56":1},"1":{"18":1,"19":1,"27":1},"2":{"0":49,"1":43,"2":21,"3":12,"4":7,"5":6,"6":10,"7":11,"8":6,"10":2,"11":14,"12":4,"13":18,"14":5,"15":5,"16":15,"17":5,"18":17,"19":7,"20":14,"23":3,"24":3,"25":3,"26":5,"27":16,"29":6,"30":6,"31":6,"32":2,"33":5,"34":8,"35":14,"36":3,"38":13,"39":1,"40":9,"42":2,"43":17,"44":4,"45":6,"46":15,"47":1,"48":7,"49":5,"50":7,"52":3,"53":6,"54":5,"55":6,"56":4}}],["branch",{"2":{"40":1}}],["brazil",{"2":{"24":1,"34":2}}],["build",{"2":{"50":1,"54":3,"56":1}}],["bugs",{"2":{"40":1}}],["but",{"2":{"13":1,"14":1,"16":1}}],["bit",{"2":{"17":1}}],["big",{"2":{"14":10}}],["black",{"2":{"13":1,"14":1,"16":1,"27":1}}],["blue",{"2":{"13":1,"14":1,"16":1}}],["b",{"2":{"5":1,"13":5,"14":4,"16":6}}],["bay",{"2":{"25":1,"34":2}}],["basis",{"2":{"53":1}}],["basin",{"2":{"23":2,"34":4,"44":2}}],["basic",{"2":{"20":2,"32":1}}],["basically",{"2":{"8":1}}],["based",{"0":{"49":1},"2":{"49":1}}],["base",{"2":{"0":1,"2":2}}],["back",{"2":{"3":1}}],["bob",{"2":{"25":1,"34":2}}],["both",{"2":{"18":1,"32":1,"38":1}}],["border",{"2":{"16":1}}],["box",{"2":{"13":1,"16":1}}],["bounding",{"2":{"13":1,"16":1}}],["bounds",{"2":{"6":3,"7":1,"8":1,"13":5,"16":3,"18":1,"19":1,"20":1,"22":1,"23":1,"24":1,"25":1,"26":1,"29":1,"30":1,"31":1,"34":4,"43":1,"44":1,"45":1,"46":2,"50":1,"55":1}}],["boundaries",{"2":{"6":1,"35":1,"37":1}}],["boundary",{"0":{"15":1,"16":1},"1":{"16":1,"17":1,"18":1,"19":1},"2":{"2":1,"15":2}}],["bound",{"2":{"1":2,"35":1}}],["boolean",{"2":{"0":2,"2":4}}],["bool",{"2":{"0":6,"1":7,"2":10,"3":1,"11":9}}],["by",{"0":{"19":1},"2":{"0":2,"1":3,"2":5,"3":1,"12":1,"13":2,"14":1,"15":1,"16":2,"19":1,"27":2,"32":2,"35":4,"36":3,"37":1,"38":1,"39":1,"40":1,"43":1,"53":1}}],["best",{"2":{"54":1}}],["besides",{"2":{"33":1}}],["been",{"0":{"44":1,"48":1},"2":{"44":1,"46":2,"48":1,"49":1,"55":1}}],["between",{"2":{"36":1}}],["bengal",{"2":{"25":1,"34":2}}],["because",{"2":{"17":1,"18":1,"33":1,"55":1}}],["below",{"2":{"5":1,"13":2,"14":1,"16":1,"27":1}}],["before",{"2":{"1":2,"38":2}}],["being",{"2":{"0":3,"18":1}}],["be",{"2":{"0":16,"1":15,"2":2,"3":2,"7":2,"11":6,"14":1,"32":1,"33":1,"35":3,"40":1,"43":1,"44":1,"46":1,"49":1,"50":2,"52":1,"53":3,"54":1,"55":1,"56":1}}],["empty",{"2":{"34":3}}],["eio",{"2":{"25":1,"34":2}}],["epo",{"2":{"25":1,"34":2}}],["eca",{"2":{"25":1,"34":2}}],["especially",{"2":{"43":1}}],["essence",{"2":{"35":1}}],["esb",{"2":{"25":1,"34":2}}],["esaf",{"2":{"25":1,"34":2}}],["eeu",{"2":{"25":1,"34":2}}],["even",{"2":{"24":1,"30":1,"55":1}}],["etc",{"2":{"41":1}}],["etp",{"2":{"24":1,"34":2}}],["et",{"0":{"24":1,"25":1,"30":1,"31":1},"2":{"24":1,"25":1,"30":2,"31":2}}],["europe",{"2":{"23":1,"24":3,"25":3,"34":14,"44":1}}],["entail",{"2":{"53":1}}],["ensure",{"2":{"27":1}}],["ena",{"2":{"23":1,"24":1,"25":1,"34":6,"44":1}}],["end",{"2":{"18":2}}],["ending",{"2":{"18":2}}],["edge",{"2":{"18":1}}],["element",{"2":{"16":1}}],["eye",{"2":{"13":1,"14":1,"16":1}}],["equirectangular",{"2":{"27":1}}],["equivalent",{"0":{"10":1},"2":{"15":1}}],["equivalence",{"2":{"9":1}}],["equatorial",{"2":{"13":2,"16":1,"25":3,"34":6}}],["ean",{"2":{"25":1,"34":2}}],["eau",{"2":{"25":1,"34":2}}],["eaf",{"2":{"23":1,"24":1,"34":4,"44":1}}],["eao",{"2":{"13":4,"16":4,"25":1,"34":2}}],["eas",{"2":{"23":1,"24":1,"25":1,"31":3,"34":6}}],["easy",{"2":{"12":1,"13":1,"15":1,"16":1}}],["easily",{"2":{"8":1,"12":1}}],["eastern",{"2":{"23":2,"24":1,"25":6,"34":18,"44":2}}],["east",{"2":{"6":1,"23":1,"24":3,"25":5,"31":1,"34":18,"35":1}}],["ease",{"2":{"0":4,"1":3}}],["each",{"2":{"2":2,"4":1,"5":1,"15":1,"18":1,"27":1}}],["e",{"0":{"17":1},"1":{"18":1,"19":1},"2":{"0":3,"1":1,"6":7,"7":1,"8":1,"13":1,"16":1,"18":1,"19":1,"20":1,"22":1,"23":1,"24":1,"25":1,"26":1,"29":1,"30":1,"31":1,"34":4,"35":1,"37":1,"43":1,"44":1,"45":1,"46":2,"50":1,"55":1}}],["error",{"2":{"0":5,"1":3,"2":4,"46":1,"48":1,"49":1}}],["explicitly",{"2":{"53":1}}],["extension",{"2":{"14":1}}],["extent",{"2":{"11":1}}],["extracting",{"2":{"26":1}}],["extracted",{"2":{"1":3}}],["extracts",{"2":{"0":1}}],["examples",{"0":{"34":1}}],["exampleslon",{"2":{"13":1,"16":1}}],["examplelon",{"2":{"27":1}}],["examplegeo",{"2":{"14":1}}],["exampleusing",{"2":{"12":1,"15":1,"26":1}}],["example",{"2":{"6":1,"7":1,"8":1,"13":1,"16":1,"17":1,"20":1,"26":1,"27":1,"43":1,"55":1}}],["exact",{"2":{"0":1}}],["exactly",{"2":{"0":1,"10":1}}],["exist",{"2":{"3":1,"11":1,"34":3,"54":1,"55":1}}],["exists",{"2":{"0":2,"48":1,"56":1}}],["iceland",{"2":{"24":1,"25":1,"34":4}}],["important",{"2":{"15":1,"20":1}}],["ipcc",{"0":{"25":1},"2":{"11":1}}],["ippc",{"2":{"11":1}}],["iturbide",{"0":{"25":1,"31":1},"2":{"25":1,"31":2}}],["itself",{"2":{"17":1,"35":1}}],["its",{"0":{"49":1},"2":{"8":1,"20":1,"37":1,"38":1,"39":1,"49":1}}],["it",{"0":{"2":1,"12":1,"15":1},"1":{"13":1,"14":1,"16":1,"17":1,"18":1,"19":1},"2":{"7":1,"13":5,"15":1,"16":4,"18":1,"19":1,"32":2,"33":2,"41":1,"43":4,"47":2,"48":1,"52":1}}],["info",{"2":{"43":1,"46":1,"48":1,"49":1}}],["information",{"0":{"46":1},"2":{"0":5,"1":6,"3":2,"15":1,"20":1,"26":1,"42":1,"43":2,"45":2,"46":2,"47":2,"50":2,"56":1}}],["indian",{"2":{"24":1,"25":2,"34":6}}],["indices",{"2":{"16":1}}],["indeed",{"2":{"14":1}}],["installed",{"2":{"40":1}}],["installation",{"0":{"40":1}}],["instructions",{"0":{"40":1}}],["instead",{"2":{"0":1,"18":1,"19":1,"43":1}}],["inside",{"0":{"14":1,"52":1},"2":{"12":1,"13":1,"15":1}}],["inputs",{"2":{"5":2}}],["interested",{"2":{"41":1}}],["interest",{"2":{"8":1,"35":1}}],["int",{"2":{"2":2,"4":1}}],["into",{"2":{"0":2,"1":3,"2":2,"18":1,"32":1,"43":1,"46":2,"48":1,"50":1,"56":1}}],["in",{"0":{"2":1,"3":1,"11":1,"12":1,"13":1,"28":1,"51":1},"1":{"13":1,"14":1,"29":1,"30":1,"31":1,"52":1},"2":{"0":8,"1":12,"2":2,"3":3,"5":2,"6":1,"7":2,"8":1,"11":4,"13":7,"14":5,"15":1,"16":2,"17":1,"18":3,"19":1,"20":1,"23":3,"24":3,"25":3,"26":1,"27":2,"28":1,"29":3,"30":3,"31":3,"32":1,"33":2,"34":4,"35":1,"36":4,"38":7,"40":1,"41":2,"42":1,"43":3,"46":2,"49":1,"52":1,"53":2,"54":5}}],["i",{"0":{"17":1},"1":{"18":1,"19":1},"2":{"0":3,"18":1,"40":2}}],["isfile",{"2":{"54":2,"56":2}}],["issue",{"2":{"41":1}}],["isn",{"2":{"40":1}}],["islands",{"2":{"24":1,"34":2}}],["isingeoregion",{"2":{"12":1}}],["isid",{"2":{"0":1,"44":2,"48":1,"49":1,"50":1}}],["isequal",{"2":{"10":1}}],["is",{"0":{"2":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"22":1,"35":1},"1":{"13":1,"14":1,"16":1,"17":1,"18":2,"19":2,"36":1,"37":1,"38":1,"39":1},"2":{"0":10,"1":6,"2":13,"6":2,"8":3,"11":6,"12":3,"13":11,"14":3,"15":5,"16":9,"17":2,"18":1,"19":1,"20":4,"27":3,"32":2,"33":2,"35":3,"43":7,"48":2,"49":2,"52":1,"53":1,"54":1,"55":2,"56":2}}],["if",{"0":{"44":1},"2":{"0":7,"1":9,"2":14,"3":2,"10":1,"11":10,"12":2,"13":3,"14":1,"15":3,"16":2,"17":2,"18":1,"27":1,"40":1,"41":2,"43":2,"44":2,"45":1,"48":1,"50":2,"53":1,"54":1,"55":1,"56":1}}],["ids",{"2":{"23":1,"24":1,"25":1,"29":1,"30":1,"31":1,"44":1}}],["identified",{"2":{"35":2}}],["identifiers",{"2":{"53":1}}],["identifier",{"2":{"0":1,"35":2,"46":1,"48":1,"49":2}}],["identify",{"2":{"0":3,"1":3}}],["id",{"0":{"49":1},"2":{"0":25,"1":15,"5":6,"6":5,"7":4,"8":5,"13":3,"16":3,"18":3,"19":3,"20":7,"22":1,"23":1,"24":1,"25":1,"26":3,"29":3,"30":3,"31":3,"34":4,"35":3,"43":7,"44":1,"45":3,"46":12,"47":1,"49":1,"50":3,"53":1,"55":1}}],[">",{"2":{"0":6,"1":3,"2":4,"3":3,"4":1,"11":4}}],["feel",{"2":{"41":2}}],["features",{"2":{"40":1}}],["far",{"2":{"25":1,"34":2}}],["false",{"2":{"0":9,"1":9,"2":10,"3":1,"11":5,"13":1,"14":2,"16":2,"32":3,"33":5,"50":1,"55":1,"56":3}}],["full",{"2":{"20":1,"29":1,"30":1,"31":1,"32":1,"35":1}}],["functionality",{"2":{"20":2,"32":1}}],["function",{"2":{"12":1,"13":1,"16":1,"17":1,"18":1,"20":2,"27":1,"32":1,"44":1,"48":1,"49":1,"52":1}}],["functions",{"2":{"5":2,"10":1}}],["free",{"2":{"41":2}}],["francisco",{"0":{"23":1,"29":1},"2":{"23":1,"29":2}}],["frame",{"2":{"13":1,"16":1}}],["from",{"0":{"24":1,"25":1,"29":1,"30":1,"31":1,"47":1,"50":1,"56":1},"1":{"48":1,"49":1},"2":{"0":9,"1":6,"3":1,"11":4,"12":1,"15":1,"16":1,"23":1,"24":1,"25":1,"29":2,"30":2,"31":2,"50":2,"56":1}}],["float",{"2":{"35":1,"38":6}}],["float64",{"2":{"1":3,"6":1,"7":1,"8":1,"13":1,"16":2,"18":1,"19":1,"20":1,"26":1,"29":1,"30":1,"31":1,"43":1,"45":1,"46":2,"50":1}}],["flexibility",{"2":{"7":1}}],["fname",{"2":{"3":3}}],["follows",{"2":{"43":1,"55":1}}],["following",{"2":{"6":2,"7":1,"8":1,"13":1,"16":1,"18":1,"19":1,"20":1,"26":1,"29":1,"30":1,"31":1,"35":1,"38":1,"43":1,"45":1,"46":2,"50":1,"54":1}}],["folder",{"2":{"3":1}}],["format",{"2":{"3":1,"11":4}}],["for",{"0":{"0":1,"1":1,"2":1,"3":1,"4":1,"11":1,"42":1,"45":1,"46":1,"53":1,"54":1,"55":1},"1":{"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"54":1,"55":1,"56":1},"2":{"0":4,"1":6,"3":1,"4":3,"7":2,"8":1,"17":1,"20":3,"26":1,"32":4,"35":3,"40":1,"42":1,"43":2,"46":1,"47":1,"50":1,"52":1,"53":4,"55":2,"56":1}}],["fix",{"2":{"40":1}}],["field",{"2":{"38":1}}],["fields",{"2":{"35":1,"38":1}}],["find",{"2":{"18":1,"40":1}}],["figure",{"2":{"13":1,"14":1,"16":1,"27":1,"41":1}}],["fig",{"2":{"13":4,"14":4,"16":4,"27":4}}],["file",{"0":{"51":1},"1":{"52":1},"2":{"3":2,"22":1,"23":1,"24":1,"25":1,"34":7,"44":1,"52":1,"54":3,"55":1}}],["files",{"0":{"52":1},"2":{"3":4,"11":1,"32":1,"43":1,"44":1,"50":2,"52":1,"54":6,"55":1,"56":3}}],["filesystem",{"2":{"0":1}}],["first",{"2":{"1":2,"2":1,"5":1,"48":1,"55":2}}],["ft",{"2":{"1":6}}],["==",{"2":{"10":1}}],["=",{"2":{"0":11,"1":16,"2":8,"3":4,"4":1,"11":13,"12":3,"13":8,"14":12,"15":3,"16":9,"18":7,"19":3,"20":3,"26":4,"27":7,"32":2,"33":5,"43":11,"45":2,"46":4,"54":2,"55":2}}],["automatically",{"2":{"43":1}}],["australia",{"2":{"23":1,"24":2,"25":4,"34":14,"44":1}}],["aus",{"2":{"23":1,"34":2,"44":1}}],["accessed",{"2":{"40":1}}],["africa",{"2":{"23":3,"24":3,"25":6,"29":1,"34":24,"44":2}}],["american",{"2":{"25":1,"34":2}}],["america",{"2":{"23":5,"24":6,"25":13,"26":2,"30":1,"34":48,"44":5}}],["amazon",{"2":{"23":1,"24":1,"34":4,"44":1}}],["amz",{"2":{"23":1,"24":1,"34":4,"44":1}}],["amp",{"0":{"23":1,"29":1},"2":{"23":1,"29":2}}],["adapted",{"0":{"29":1,"30":1,"31":1},"2":{"23":1,"24":1,"25":1,"29":1,"30":1,"31":1}}],["advanced",{"2":{"20":1}}],["added",{"0":{"44":1},"2":{"44":2,"55":1}}],["addition",{"2":{"38":1,"44":1}}],["additional",{"2":{"32":1}}],["adding",{"0":{"0":1,"43":1},"2":{"42":1,"43":1,"46":1}}],["add",{"2":{"0":1,"23":1,"24":1,"25":1,"29":1,"30":1,"31":1,"40":3,"43":4,"46":2,"48":1,"49":1}}],["above",{"2":{"53":1}}],["abovementioned",{"2":{"45":1}}],["about",{"2":{"13":1,"16":1,"20":1}}],["abstract",{"2":{"35":1,"38":1}}],["abstractstring",{"2":{"0":9,"1":12,"3":3,"11":4}}],["able",{"2":{"13":1,"16":1,"27":1}}],["axis",{"2":{"13":1,"14":1,"16":1,"27":1}}],["ax",{"2":{"13":5,"14":7,"16":6,"27":3}}],["atlantic",{"2":{"13":2,"16":1,"25":3,"34":6}}],["at",{"2":{"13":3,"18":2}}],["available",{"2":{"3":1,"6":1,"7":1,"11":4,"32":1,"33":1,"36":3,"53":1}}],["alternatively",{"2":{"44":1}}],["although",{"2":{"40":1}}],["al",{"0":{"24":1,"25":1,"30":1,"31":1},"2":{"24":1,"25":1,"30":2,"31":2}}],["alaska",{"2":{"23":1,"24":1,"34":4,"44":1}}],["ala",{"2":{"23":1,"24":1,"34":4,"44":1}}],["along",{"2":{"16":1}}],["also",{"2":{"12":1,"13":1,"15":1,"16":1,"17":1,"32":1,"33":1,"35":1,"38":1,"43":1}}],["always",{"2":{"5":1,"33":3,"55":2}}],["allows",{"2":{"8":1,"12":2,"15":1}}],["all",{"2":{"3":2,"6":2,"7":1,"11":4,"23":2,"24":2,"25":2,"29":2,"30":2,"31":2,"32":1,"33":2,"35":1,"36":1,"38":1,"50":3,"53":2,"54":1,"55":1,"56":1}}],["already",{"2":{"1":3,"46":1,"48":1,"54":1}}],["argument",{"2":{"27":1,"43":1}}],["arguments",{"2":{"0":12,"1":6,"2":8,"3":3,"4":1,"11":4,"32":1}}],["ars",{"2":{"25":1,"34":2}}],["aro",{"2":{"25":1,"34":2}}],["arabian",{"2":{"25":2,"34":4}}],["arp",{"2":{"25":1,"34":2}}],["arctic",{"2":{"24":1,"25":2,"34":6}}],["arc",{"2":{"24":1,"34":2}}],["arbitrary",{"2":{"14":2}}],["ar6=true",{"2":{"25":1}}],["ar6=false",{"2":{"24":1}}],["ar6",{"0":{"25":1,"31":1},"2":{"11":4,"13":4,"16":4,"25":118,"26":4,"31":5,"33":1,"34":232,"49":1,"53":1}}],["area",{"2":{"18":1,"19":1}}],["are",{"0":{"10":1,"17":1},"1":{"18":1,"19":1},"2":{"2":2,"3":1,"5":2,"6":1,"10":1,"13":3,"14":2,"15":1,"16":2,"17":1,"18":3,"20":1,"23":2,"24":3,"25":2,"27":3,"28":1,"29":2,"30":3,"31":2,"34":1,"36":3,"41":2,"47":1,"55":3}}],["against",{"2":{"17":1,"18":1}}],["again",{"2":{"1":1}}],["appear",{"2":{"33":2}}],["append",{"2":{"1":1}}],["api",{"0":{"0":1,"1":1,"2":1,"3":1,"4":1,"11":1},"2":{"6":1,"7":1,"8":1,"13":1,"14":1,"16":1,"17":1,"20":2,"27":1,"32":1,"34":4,"43":2,"44":1,"45":1,"46":1,"48":1,"49":1,"54":1,"55":1,"56":1}}],["assume",{"2":{"53":1}}],["associate",{"2":{"47":1}}],["associated",{"2":{"0":3,"46":3}}],["association",{"2":{"46":1}}],["ask",{"2":{"41":1}}],["asia",{"2":{"23":5,"24":6,"25":5,"31":1,"34":32}}],["aspect",{"2":{"13":2,"16":2,"27":2}}],["as",{"2":{"0":1,"5":1,"6":2,"7":1,"8":2,"12":1,"13":1,"14":2,"15":1,"16":1,"23":1,"24":1,"25":1,"29":1,"30":1,"31":1,"32":1,"40":2,"43":2,"53":1,"55":1}}],["a",{"0":{"2":1,"12":1,"13":2,"14":2,"15":1,"16":2,"17":2,"26":1,"27":1,"35":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":2,"56":1},"1":{"13":1,"14":1,"16":1,"17":1,"18":3,"19":3,"27":1,"36":1,"37":1,"38":1,"39":1,"48":1,"49":1,"52":2},"2":{"0":5,"1":11,"2":17,"4":4,"5":1,"7":1,"8":4,"12":3,"13":8,"14":4,"15":5,"16":8,"17":3,"19":2,"20":4,"26":1,"27":1,"28":1,"32":3,"33":2,"35":13,"37":2,"38":8,"39":2,"40":1,"42":1,"43":2,"46":1,"47":4,"48":2,"49":2,"53":5,"55":4}}],["angle",{"2":{"38":2}}],["antarctica",{"2":{"24":1,"25":2,"34":6}}],["ant",{"2":{"24":1,"34":2}}],["another",{"2":{"2":1,"12":1,"14":1,"17":1,"46":5}}],["anymore",{"2":{"47":1}}],["anyway",{"2":{"13":1,"16":1}}],["any",{"2":{"0":2,"3":1,"7":1,"14":1,"18":1,"41":1,"54":1,"55":1}}],["an",{"2":{"0":5,"1":3,"2":4,"6":1,"8":1,"12":1,"13":1,"14":1,"15":1,"16":1,"35":1,"41":1,"46":1,"49":1}}],["and",{"0":{"0":1,"45":1},"2":{"1":1,"2":9,"4":1,"5":2,"6":2,"7":5,"8":2,"11":1,"13":1,"14":4,"16":2,"18":5,"19":1,"20":2,"25":1,"27":2,"32":3,"33":1,"34":5,"35":1,"38":1,"40":1,"41":1,"42":1,"44":1,"46":1,"47":1,"48":2,"50":2,"53":2,"54":1,"55":2,"56":1}}]],"serializationVersion":2}';export{e as default}; diff --git a/dev/assets/chunks/VPLocalSearchBox.C4V_j8us.js b/dev/assets/chunks/VPLocalSearchBox.BFjKS_uq.js similarity index 99% rename from dev/assets/chunks/VPLocalSearchBox.C4V_j8us.js rename to dev/assets/chunks/VPLocalSearchBox.BFjKS_uq.js index 99b709aa..8f8b1dab 100644 --- a/dev/assets/chunks/VPLocalSearchBox.C4V_j8us.js +++ b/dev/assets/chunks/VPLocalSearchBox.BFjKS_uq.js @@ -1,4 +1,4 @@ -var Nt=Object.defineProperty;var Ft=(a,e,t)=>e in a?Nt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Re=(a,e,t)=>Ft(a,typeof e!="symbol"?e+"":e,t);import{V as Ot,p as se,h as pe,aj as Xe,ak as Rt,al as Ct,q as je,am as Mt,d as At,D as ye,an as et,ao as Lt,ap as Dt,s as zt,aq as Pt,v as Ce,P as ue,O as we,ar as jt,as as Vt,W as $t,R as Bt,$ as Wt,o as q,b as Kt,j as S,a0 as Jt,k as D,at as Ut,au as qt,av as Gt,c as Y,n as tt,e as xe,C as st,F as nt,a as de,t as he,aw as Ht,ax as it,ay as Qt,a8 as Yt,ae as Zt,az as Xt,_ as es}from"./framework.CEeYBNx8.js";import{u as ts,d as ss}from"./theme.C7U8FUUx.js";const ns={root:()=>Ot(()=>import("./@localSearchIndexroot.BGcA3kuP.js"),[])};/*! +var Nt=Object.defineProperty;var Ft=(a,e,t)=>e in a?Nt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Re=(a,e,t)=>Ft(a,typeof e!="symbol"?e+"":e,t);import{V as Ot,p as se,h as pe,aj as Xe,ak as Rt,al as Ct,q as je,am as Mt,d as At,D as ye,an as et,ao as Lt,ap as Dt,s as zt,aq as Pt,v as Ce,P as ue,O as we,ar as jt,as as Vt,W as $t,R as Bt,$ as Wt,o as q,b as Kt,j as S,a0 as Jt,k as D,at as Ut,au as qt,av as Gt,c as Y,n as tt,e as xe,C as st,F as nt,a as de,t as he,aw as Ht,ax as it,ay as Qt,a8 as Yt,ae as Zt,az as Xt,_ as es}from"./framework.CEeYBNx8.js";import{u as ts,d as ss}from"./theme.8pfT5Xl5.js";const ns={root:()=>Ot(()=>import("./@localSearchIndexroot.BT1dINSA.js"),[])};/*! * tabbable 6.2.0 * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE */var vt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Ie=vt.join(","),mt=typeof Element>"u",ie=mt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,ke=!mt&&Element.prototype.getRootNode?function(a){var e;return a==null||(e=a.getRootNode)===null||e===void 0?void 0:e.call(a)}:function(a){return a==null?void 0:a.ownerDocument},Ne=function a(e,t){var s;t===void 0&&(t=!0);var n=e==null||(s=e.getAttribute)===null||s===void 0?void 0:s.call(e,"inert"),r=n===""||n==="true",i=r||t&&e&&a(e.parentNode);return i},is=function(e){var t,s=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return s===""||s==="true"},gt=function(e,t,s){if(Ne(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Ie));return t&&ie.call(e,Ie)&&n.unshift(e),n=n.filter(s),n},bt=function a(e,t,s){for(var n=[],r=Array.from(e);r.length;){var i=r.shift();if(!Ne(i,!1))if(i.tagName==="SLOT"){var o=i.assignedElements(),l=o.length?o:i.children,c=a(l,!0,s);s.flatten?n.push.apply(n,c):n.push({scopeParent:i,candidates:c})}else{var h=ie.call(i,Ie);h&&s.filter(i)&&(t||!e.includes(i))&&n.push(i);var v=i.shadowRoot||typeof s.getShadowRoot=="function"&&s.getShadowRoot(i),p=!Ne(v,!1)&&(!s.shadowRootFilter||s.shadowRootFilter(i));if(v&&p){var b=a(v===!0?i.children:v.children,!0,s);s.flatten?n.push.apply(n,b):n.push({scopeParent:i,candidates:b})}else r.unshift.apply(r,i.children)}}return n},yt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},ne=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||is(e))&&!yt(e)?0:e.tabIndex},rs=function(e,t){var s=ne(e);return s<0&&t&&!yt(e)?0:s},as=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},wt=function(e){return e.tagName==="INPUT"},os=function(e){return wt(e)&&e.type==="hidden"},ls=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(s){return s.tagName==="SUMMARY"});return t},cs=function(e,t){for(var s=0;ssummary:first-of-type"),i=r?e.parentElement:e;if(ie.call(i,"details:not([open]) *"))return!0;if(!s||s==="full"||s==="legacy-full"){if(typeof n=="function"){for(var o=e;e;){var l=e.parentElement,c=ke(e);if(l&&!l.shadowRoot&&n(l)===!0)return rt(e);e.assignedSlot?e=e.assignedSlot:!l&&c!==e.ownerDocument?e=c.host:e=l}e=o}if(fs(e))return!e.getClientRects().length;if(s!=="legacy-full")return!0}else if(s==="non-zero-area")return rt(e);return!1},vs=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var s=0;s=0)},gs=function a(e){var t=[],s=[];return e.forEach(function(n,r){var i=!!n.scopeParent,o=i?n.scopeParent:n,l=rs(o,i),c=i?a(n.candidates):o;l===0?i?t.push.apply(t,c):t.push(o):s.push({documentOrder:r,tabIndex:l,item:n,isScope:i,content:c})}),s.sort(as).reduce(function(n,r){return r.isScope?n.push.apply(n,r.content):n.push(r.content),n},[]).concat(t)},bs=function(e,t){t=t||{};var s;return t.getShadowRoot?s=bt([e],t.includeContainer,{filter:Ve.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:ms}):s=gt(e,t.includeContainer,Ve.bind(null,t)),gs(s)},ys=function(e,t){t=t||{};var s;return t.getShadowRoot?s=bt([e],t.includeContainer,{filter:Fe.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):s=gt(e,t.includeContainer,Fe.bind(null,t)),s},re=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ie.call(e,Ie)===!1?!1:Ve(t,e)},ws=vt.concat("iframe").join(","),Me=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ie.call(e,ws)===!1?!1:Fe(t,e)};/*! diff --git a/dev/assets/chunks/theme.C7U8FUUx.js b/dev/assets/chunks/theme.8pfT5Xl5.js similarity index 99% rename from dev/assets/chunks/theme.C7U8FUUx.js rename to dev/assets/chunks/theme.8pfT5Xl5.js index 2e28b726..cb4a7e70 100644 --- a/dev/assets/chunks/theme.C7U8FUUx.js +++ b/dev/assets/chunks/theme.8pfT5Xl5.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.C4V_j8us.js","assets/chunks/framework.CEeYBNx8.js"])))=>i.map(i=>d[i]); -import{d as h,o as a,c as l,r as u,n as I,a as O,t as T,b as $,w as f,e as m,T as ve,_ as g,u as Ue,i as Re,f as ze,g as pe,h as y,j as v,k as i,l as G,m as ie,p as N,q as D,s as Z,v as j,x as fe,y as me,z as je,A as Ge,B as K,F as M,C as A,D as Se,E as x,G as k,H as F,I as Ve,J as ee,K as z,L as q,M as Ke,N as Le,O as le,P as Te,Q as Ne,R as te,S as We,U as qe,V as Je,W as we,X as he,Y as Ye,Z as Xe,$ as Qe,a0 as Ze,a1 as Ie,a2 as xe,a3 as et}from"./framework.CEeYBNx8.js";const tt=h({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(o){return(e,t)=>(a(),l("span",{class:I(["VPBadge",e.type])},[u(e.$slots,"default",{},()=>[O(T(e.text),1)])],2))}}),nt={key:0,class:"VPBackdrop"},st=h({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(o){return(e,t)=>(a(),$(ve,{name:"fade"},{default:f(()=>[e.show?(a(),l("div",nt)):m("",!0)]),_:1}))}}),ot=g(st,[["__scopeId","data-v-b06cdb19"]]),L=Ue;function at(o,e){let t,n=!1;return()=>{t&&clearTimeout(t),n?t=setTimeout(o,e):(o(),(n=!0)&&setTimeout(()=>n=!1,e))}}function ce(o){return/^\//.test(o)?o:`/${o}`}function _e(o){const{pathname:e,search:t,hash:n,protocol:s}=new URL(o,"http://a.com");if(Re(o)||o.startsWith("#")||!s.startsWith("http")||!ze(e))return o;const{site:r}=L(),c=e.endsWith("/")||e.endsWith(".html")?o:o.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,r.value.cleanUrls?"":".html")}${t}${n}`);return pe(c)}function Y({correspondingLink:o=!1}={}){const{site:e,localeIndex:t,page:n,theme:s,hash:r}=L(),c=y(()=>{var d,_;return{label:(d=e.value.locales[t.value])==null?void 0:d.label,link:((_=e.value.locales[t.value])==null?void 0:_.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:y(()=>Object.entries(e.value.locales).flatMap(([d,_])=>c.value.label===_.label?[]:{text:_.label,link:rt(_.link||(d==="root"?"/":`/${d}/`),s.value.i18nRouting!==!1&&o,n.value.relativePath.slice(c.value.link.length-1),!e.value.cleanUrls)+r.value})),currentLang:c}}function rt(o,e,t,n){return e?o.replace(/\/$/,"")+ce(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,n?".html":"")):o}const it={class:"NotFound"},lt={class:"code"},ct={class:"title"},ut={class:"quote"},dt={class:"action"},vt=["href","aria-label"],pt=h({__name:"NotFound",setup(o){const{theme:e}=L(),{currentLang:t}=Y();return(n,s)=>{var r,c,p,d,_;return a(),l("div",it,[v("p",lt,T(((r=i(e).notFound)==null?void 0:r.code)??"404"),1),v("h1",ct,T(((c=i(e).notFound)==null?void 0:c.title)??"PAGE NOT FOUND"),1),s[0]||(s[0]=v("div",{class:"divider"},null,-1)),v("blockquote",ut,T(((p=i(e).notFound)==null?void 0:p.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),v("div",dt,[v("a",{class:"link",href:i(pe)(i(t).link),"aria-label":((d=i(e).notFound)==null?void 0:d.linkLabel)??"go to home"},T(((_=i(e).notFound)==null?void 0:_.linkText)??"Take me home"),9,vt)])])}}}),ft=g(pt,[["__scopeId","data-v-951cab6c"]]);function Me(o,e){if(Array.isArray(o))return X(o);if(o==null)return[];e=ce(e);const t=Object.keys(o).sort((s,r)=>r.split("/").length-s.split("/").length).find(s=>e.startsWith(ce(s))),n=t?o[t]:[];return Array.isArray(n)?X(n):X(n.items,n.base)}function mt(o){const e=[];let t=0;for(const n in o){const s=o[n];if(s.items){t=e.push(s);continue}e[t]||e.push({items:[]}),e[t].items.push(s)}return e}function ht(o){const e=[];function t(n){for(const s of n)s.text&&s.link&&e.push({text:s.text,link:s.link,docFooterText:s.docFooterText}),s.items&&t(s.items)}return t(o),e}function ue(o,e){return Array.isArray(e)?e.some(t=>ue(o,t)):G(o,e.link)?!0:e.items?ue(o,e.items):!1}function X(o,e){return[...o].map(t=>{const n={...t},s=n.base||e;return s&&n.link&&(n.link=s+n.link),n.items&&(n.items=X(n.items,s)),n})}function U(){const{frontmatter:o,page:e,theme:t}=L(),n=ie("(min-width: 960px)"),s=N(!1),r=y(()=>{const C=t.value.sidebar,w=e.value.relativePath;return C?Me(C,w):[]}),c=N(r.value);D(r,(C,w)=>{JSON.stringify(C)!==JSON.stringify(w)&&(c.value=r.value)});const p=y(()=>o.value.sidebar!==!1&&c.value.length>0&&o.value.layout!=="home"),d=y(()=>_?o.value.aside==null?t.value.aside==="left":o.value.aside==="left":!1),_=y(()=>o.value.layout==="home"?!1:o.value.aside!=null?!!o.value.aside:t.value.aside!==!1),V=y(()=>p.value&&n.value),b=y(()=>p.value?mt(c.value):[]);function P(){s.value=!0}function S(){s.value=!1}function E(){s.value?S():P()}return{isOpen:s,sidebar:c,sidebarGroups:b,hasSidebar:p,hasAside:_,leftAside:d,isSidebarEnabled:V,open:P,close:S,toggle:E}}function _t(o,e){let t;Z(()=>{t=o.value?document.activeElement:void 0}),j(()=>{window.addEventListener("keyup",n)}),fe(()=>{window.removeEventListener("keyup",n)});function n(s){s.key==="Escape"&&o.value&&(e(),t==null||t.focus())}}function bt(o){const{page:e,hash:t}=L(),n=N(!1),s=y(()=>o.value.collapsed!=null),r=y(()=>!!o.value.link),c=N(!1),p=()=>{c.value=G(e.value.relativePath,o.value.link)};D([e,o,t],p),j(p);const d=y(()=>c.value?!0:o.value.items?ue(e.value.relativePath,o.value.items):!1),_=y(()=>!!(o.value.items&&o.value.items.length));Z(()=>{n.value=!!(s.value&&o.value.collapsed)}),me(()=>{(c.value||d.value)&&(n.value=!1)});function V(){s.value&&(n.value=!n.value)}return{collapsed:n,collapsible:s,isLink:r,isActiveLink:c,hasActiveLink:d,hasChildren:_,toggle:V}}function kt(){const{hasSidebar:o}=U(),e=ie("(min-width: 960px)"),t=ie("(min-width: 1280px)");return{isAsideEnabled:y(()=>!t.value&&!e.value?!1:o.value?t.value:e.value)}}const de=[];function Ee(o){return typeof o.outline=="object"&&!Array.isArray(o.outline)&&o.outline.label||o.outlineTitle||"On this page"}function be(o){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const n=Number(t.tagName[1]);return{element:t,title:gt(t),link:"#"+t.id,level:n}});return $t(e,o)}function gt(o){let e="";for(const t of o.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function $t(o,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[n,s]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;o=o.filter(c=>c.level>=n&&c.level<=s),de.length=0;for(const{element:c,link:p}of o)de.push({element:c,link:p});const r=[];e:for(let c=0;c=0;d--){const _=o[d];if(_.level{requestAnimationFrame(r),window.addEventListener("scroll",n)}),je(()=>{c(location.hash)}),fe(()=>{window.removeEventListener("scroll",n)});function r(){if(!t.value)return;const p=window.scrollY,d=window.innerHeight,_=document.body.offsetHeight,V=Math.abs(p+d-_)<1,b=de.map(({element:S,link:E})=>({link:E,top:Pt(S)})).filter(({top:S})=>!Number.isNaN(S)).sort((S,E)=>S.top-E.top);if(!b.length){c(null);return}if(p<1){c(null);return}if(V){c(b[b.length-1].link);return}let P=null;for(const{link:S,top:E}of b){if(E>p+Ge()+4)break;P=S}c(P)}function c(p){s&&s.classList.remove("active"),p==null?s=null:s=o.value.querySelector(`a[href="${decodeURIComponent(p)}"]`);const d=s;d?(d.classList.add("active"),e.value.style.top=d.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Pt(o){let e=0;for(;o!==document.body;){if(o===null)return NaN;e+=o.offsetTop,o=o.offsetParent}return e}const St=["href","title"],Vt=h({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(o){function e({target:t}){const n=t.href.split("#")[1],s=document.getElementById(decodeURIComponent(n));s==null||s.focus({preventScroll:!0})}return(t,n)=>{const s=K("VPDocOutlineItem",!0);return a(),l("ul",{class:I(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),l(M,null,A(t.headers,({children:r,link:c,title:p})=>(a(),l("li",null,[v("a",{class:"outline-link",href:c,onClick:e,title:p},T(p),9,St),r!=null&&r.length?(a(),$(s,{key:0,headers:r},null,8,["headers"])):m("",!0)]))),256))],2)}}}),Ce=g(Vt,[["__scopeId","data-v-3f927ebe"]]),Lt={class:"content"},Tt={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Nt=h({__name:"VPDocAsideOutline",setup(o){const{frontmatter:e,theme:t}=L(),n=Se([]);x(()=>{n.value=be(e.value.outline??t.value.outline)});const s=N(),r=N();return yt(s,r),(c,p)=>(a(),l("nav",{"aria-labelledby":"doc-outline-aria-label",class:I(["VPDocAsideOutline",{"has-outline":n.value.length>0}]),ref_key:"container",ref:s},[v("div",Lt,[v("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),v("div",Tt,T(i(Ee)(i(t))),1),k(Ce,{headers:n.value,root:!0},null,8,["headers"])])],2))}}),wt=g(Nt,[["__scopeId","data-v-b38bf2ff"]]),It={class:"VPDocAsideCarbonAds"},Mt=h({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(o){const e=()=>null;return(t,n)=>(a(),l("div",It,[k(i(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Et={class:"VPDocAside"},Ct=h({__name:"VPDocAside",setup(o){const{theme:e}=L();return(t,n)=>(a(),l("div",Et,[u(t.$slots,"aside-top",{},void 0,!0),u(t.$slots,"aside-outline-before",{},void 0,!0),k(wt),u(t.$slots,"aside-outline-after",{},void 0,!0),n[0]||(n[0]=v("div",{class:"spacer"},null,-1)),u(t.$slots,"aside-ads-before",{},void 0,!0),i(e).carbonAds?(a(),$(Mt,{key:0,"carbon-ads":i(e).carbonAds},null,8,["carbon-ads"])):m("",!0),u(t.$slots,"aside-ads-after",{},void 0,!0),u(t.$slots,"aside-bottom",{},void 0,!0)]))}}),At=g(Ct,[["__scopeId","data-v-6d7b3c46"]]);function Bt(){const{theme:o,page:e}=L();return y(()=>{const{text:t="Edit this page",pattern:n=""}=o.value.editLink||{};let s;return typeof n=="function"?s=n(e.value):s=n.replace(/:path/g,e.value.filePath),{url:s,text:t}})}function Ht(){const{page:o,theme:e,frontmatter:t}=L();return y(()=>{var _,V,b,P,S,E,C,w;const n=Me(e.value.sidebar,o.value.relativePath),s=ht(n),r=Ot(s,B=>B.link.replace(/[?#].*$/,"")),c=r.findIndex(B=>G(o.value.relativePath,B.link)),p=((_=e.value.docFooter)==null?void 0:_.prev)===!1&&!t.value.prev||t.value.prev===!1,d=((V=e.value.docFooter)==null?void 0:V.next)===!1&&!t.value.next||t.value.next===!1;return{prev:p?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((b=r[c-1])==null?void 0:b.docFooterText)??((P=r[c-1])==null?void 0:P.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((S=r[c-1])==null?void 0:S.link)},next:d?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((E=r[c+1])==null?void 0:E.docFooterText)??((C=r[c+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((w=r[c+1])==null?void 0:w.link)}}})}function Ot(o,e){const t=new Set;return o.filter(n=>{const s=e(n);return t.has(s)?!1:t.add(s)})}const H=h({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(o){const e=o,t=y(()=>e.tag??(e.href?"a":"span")),n=y(()=>e.href&&Ve.test(e.href)||e.target==="_blank");return(s,r)=>(a(),$(F(t.value),{class:I(["VPLink",{link:s.href,"vp-external-link-icon":n.value,"no-icon":s.noIcon}]),href:s.href?i(_e)(s.href):void 0,target:s.target??(n.value?"_blank":void 0),rel:s.rel??(n.value?"noreferrer":void 0)},{default:f(()=>[u(s.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Dt={class:"VPLastUpdated"},Ft=["datetime"],Ut=h({__name:"VPDocFooterLastUpdated",setup(o){const{theme:e,page:t,lang:n}=L(),s=y(()=>new Date(t.value.lastUpdated)),r=y(()=>s.value.toISOString()),c=N("");return j(()=>{Z(()=>{var p,d,_;c.value=new Intl.DateTimeFormat((d=(p=e.value.lastUpdated)==null?void 0:p.formatOptions)!=null&&d.forceLocale?n.value:void 0,((_=e.value.lastUpdated)==null?void 0:_.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(s.value)})}),(p,d)=>{var _;return a(),l("p",Dt,[O(T(((_=i(e).lastUpdated)==null?void 0:_.text)||i(e).lastUpdatedText||"Last updated")+": ",1),v("time",{datetime:r.value},T(c.value),9,Ft)])}}}),Rt=g(Ut,[["__scopeId","data-v-475f71b8"]]),zt={key:0,class:"VPDocFooter"},jt={key:0,class:"edit-info"},Gt={key:0,class:"edit-link"},Kt={key:1,class:"last-updated"},Wt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},qt={class:"pager"},Jt=["innerHTML"],Yt=["innerHTML"],Xt={class:"pager"},Qt=["innerHTML"],Zt=["innerHTML"],xt=h({__name:"VPDocFooter",setup(o){const{theme:e,page:t,frontmatter:n}=L(),s=Bt(),r=Ht(),c=y(()=>e.value.editLink&&n.value.editLink!==!1),p=y(()=>t.value.lastUpdated),d=y(()=>c.value||p.value||r.value.prev||r.value.next);return(_,V)=>{var b,P,S,E;return d.value?(a(),l("footer",zt,[u(_.$slots,"doc-footer-before",{},void 0,!0),c.value||p.value?(a(),l("div",jt,[c.value?(a(),l("div",Gt,[k(H,{class:"edit-link-button",href:i(s).url,"no-icon":!0},{default:f(()=>[V[0]||(V[0]=v("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),O(" "+T(i(s).text),1)]),_:1},8,["href"])])):m("",!0),p.value?(a(),l("div",Kt,[k(Rt)])):m("",!0)])):m("",!0),(b=i(r).prev)!=null&&b.link||(P=i(r).next)!=null&&P.link?(a(),l("nav",Wt,[V[1]||(V[1]=v("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),v("div",qt,[(S=i(r).prev)!=null&&S.link?(a(),$(H,{key:0,class:"pager-link prev",href:i(r).prev.link},{default:f(()=>{var C;return[v("span",{class:"desc",innerHTML:((C=i(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,Jt),v("span",{class:"title",innerHTML:i(r).prev.text},null,8,Yt)]}),_:1},8,["href"])):m("",!0)]),v("div",Xt,[(E=i(r).next)!=null&&E.link?(a(),$(H,{key:0,class:"pager-link next",href:i(r).next.link},{default:f(()=>{var C;return[v("span",{class:"desc",innerHTML:((C=i(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,Qt),v("span",{class:"title",innerHTML:i(r).next.text},null,8,Zt)]}),_:1},8,["href"])):m("",!0)])])):m("",!0)])):m("",!0)}}}),en=g(xt,[["__scopeId","data-v-4f9813fa"]]),tn={class:"container"},nn={class:"aside-container"},sn={class:"aside-content"},on={class:"content"},an={class:"content-container"},rn={class:"main"},ln=h({__name:"VPDoc",setup(o){const{theme:e}=L(),t=ee(),{hasSidebar:n,hasAside:s,leftAside:r}=U(),c=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(p,d)=>{const _=K("Content");return a(),l("div",{class:I(["VPDoc",{"has-sidebar":i(n),"has-aside":i(s)}])},[u(p.$slots,"doc-top",{},void 0,!0),v("div",tn,[i(s)?(a(),l("div",{key:0,class:I(["aside",{"left-aside":i(r)}])},[d[0]||(d[0]=v("div",{class:"aside-curtain"},null,-1)),v("div",nn,[v("div",sn,[k(At,null,{"aside-top":f(()=>[u(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[u(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[u(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[u(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[u(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[u(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):m("",!0),v("div",on,[v("div",an,[u(p.$slots,"doc-before",{},void 0,!0),v("main",rn,[k(_,{class:I(["vp-doc",[c.value,i(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),k(en,null,{"doc-footer-before":f(()=>[u(p.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),u(p.$slots,"doc-after",{},void 0,!0)])])]),u(p.$slots,"doc-bottom",{},void 0,!0)],2)}}}),cn=g(ln,[["__scopeId","data-v-83890dd9"]]),un=h({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(o){const e=o,t=y(()=>e.href&&Ve.test(e.href)),n=y(()=>e.tag||e.href?"a":"button");return(s,r)=>(a(),$(F(n.value),{class:I(["VPButton",[s.size,s.theme]]),href:s.href?i(_e)(s.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:f(()=>[O(T(s.text),1)]),_:1},8,["class","href","target","rel"]))}}),dn=g(un,[["__scopeId","data-v-14206e74"]]),vn=["src","alt"],pn=h({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(o){return(e,t)=>{const n=K("VPImage",!0);return e.image?(a(),l(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),l("img",z({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:i(pe)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,vn)):(a(),l(M,{key:1},[k(n,z({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),k(n,z({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):m("",!0)}}}),Q=g(pn,[["__scopeId","data-v-35a7d0b8"]]),fn={class:"container"},mn={class:"main"},hn={key:0,class:"name"},_n=["innerHTML"],bn=["innerHTML"],kn=["innerHTML"],gn={key:0,class:"actions"},$n={key:0,class:"image"},yn={class:"image-container"},Pn=h({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(o){const e=q("hero-image-slot-exists");return(t,n)=>(a(),l("div",{class:I(["VPHero",{"has-image":t.image||i(e)}])},[v("div",fn,[v("div",mn,[u(t.$slots,"home-hero-info-before",{},void 0,!0),u(t.$slots,"home-hero-info",{},()=>[t.name?(a(),l("h1",hn,[v("span",{innerHTML:t.name,class:"clip"},null,8,_n)])):m("",!0),t.text?(a(),l("p",{key:1,innerHTML:t.text,class:"text"},null,8,bn)):m("",!0),t.tagline?(a(),l("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,kn)):m("",!0)],!0),u(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),l("div",gn,[(a(!0),l(M,null,A(t.actions,s=>(a(),l("div",{key:s.link,class:"action"},[k(dn,{tag:"a",size:"medium",theme:s.theme,text:s.text,href:s.link,target:s.target,rel:s.rel},null,8,["theme","text","href","target","rel"])]))),128))])):m("",!0),u(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||i(e)?(a(),l("div",$n,[v("div",yn,[n[0]||(n[0]=v("div",{class:"image-bg"},null,-1)),u(t.$slots,"home-hero-image",{},()=>[t.image?(a(),$(Q,{key:0,class:"image-src",image:t.image},null,8,["image"])):m("",!0)],!0)])])):m("",!0)])],2))}}),Sn=g(Pn,[["__scopeId","data-v-955009fc"]]),Vn=h({__name:"VPHomeHero",setup(o){const{frontmatter:e}=L();return(t,n)=>i(e).hero?(a(),$(Sn,{key:0,class:"VPHomeHero",name:i(e).hero.name,text:i(e).hero.text,tagline:i(e).hero.tagline,image:i(e).hero.image,actions:i(e).hero.actions},{"home-hero-info-before":f(()=>[u(t.$slots,"home-hero-info-before")]),"home-hero-info":f(()=>[u(t.$slots,"home-hero-info")]),"home-hero-info-after":f(()=>[u(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":f(()=>[u(t.$slots,"home-hero-actions-after")]),"home-hero-image":f(()=>[u(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):m("",!0)}}),Ln={class:"box"},Tn={key:0,class:"icon"},Nn=["innerHTML"],wn=["innerHTML"],In=["innerHTML"],Mn={key:4,class:"link-text"},En={class:"link-text-value"},Cn=h({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(o){return(e,t)=>(a(),$(H,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:f(()=>[v("article",Ln,[typeof e.icon=="object"&&e.icon.wrap?(a(),l("div",Tn,[k(Q,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),$(Q,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),l("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Nn)):m("",!0),v("h2",{class:"title",innerHTML:e.title},null,8,wn),e.details?(a(),l("p",{key:3,class:"details",innerHTML:e.details},null,8,In)):m("",!0),e.linkText?(a(),l("div",Mn,[v("p",En,[O(T(e.linkText)+" ",1),t[0]||(t[0]=v("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):m("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),An=g(Cn,[["__scopeId","data-v-f5e9645b"]]),Bn={key:0,class:"VPFeatures"},Hn={class:"container"},On={class:"items"},Dn=h({__name:"VPFeatures",props:{features:{}},setup(o){const e=o,t=y(()=>{const n=e.features.length;if(n){if(n===2)return"grid-2";if(n===3)return"grid-3";if(n%3===0)return"grid-6";if(n>3)return"grid-4"}else return});return(n,s)=>n.features?(a(),l("div",Bn,[v("div",Hn,[v("div",On,[(a(!0),l(M,null,A(n.features,r=>(a(),l("div",{key:r.title,class:I(["item",[t.value]])},[k(An,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel,target:r.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):m("",!0)}}),Fn=g(Dn,[["__scopeId","data-v-d0a190d7"]]),Un=h({__name:"VPHomeFeatures",setup(o){const{frontmatter:e}=L();return(t,n)=>i(e).features?(a(),$(Fn,{key:0,class:"VPHomeFeatures",features:i(e).features},null,8,["features"])):m("",!0)}}),Rn=h({__name:"VPHomeContent",setup(o){const{width:e}=Ke({initialWidth:0,includeScrollbar:!1});return(t,n)=>(a(),l("div",{class:"vp-doc container",style:Le(i(e)?{"--vp-offset":`calc(50% - ${i(e)/2}px)`}:{})},[u(t.$slots,"default",{},void 0,!0)],4))}}),zn=g(Rn,[["__scopeId","data-v-7a48a447"]]),jn={class:"VPHome"},Gn=h({__name:"VPHome",setup(o){const{frontmatter:e}=L();return(t,n)=>{const s=K("Content");return a(),l("div",jn,[u(t.$slots,"home-hero-before",{},void 0,!0),k(Vn,null,{"home-hero-info-before":f(()=>[u(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[u(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[u(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[u(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[u(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),u(t.$slots,"home-hero-after",{},void 0,!0),u(t.$slots,"home-features-before",{},void 0,!0),k(Un),u(t.$slots,"home-features-after",{},void 0,!0),i(e).markdownStyles!==!1?(a(),$(zn,{key:0},{default:f(()=>[k(s)]),_:1})):(a(),$(s,{key:1}))])}}}),Kn=g(Gn,[["__scopeId","data-v-cbb6ec48"]]),Wn={},qn={class:"VPPage"};function Jn(o,e){const t=K("Content");return a(),l("div",qn,[u(o.$slots,"page-top"),k(t),u(o.$slots,"page-bottom")])}const Yn=g(Wn,[["render",Jn]]),Xn=h({__name:"VPContent",setup(o){const{page:e,frontmatter:t}=L(),{hasSidebar:n}=U();return(s,r)=>(a(),l("div",{class:I(["VPContent",{"has-sidebar":i(n),"is-home":i(t).layout==="home"}]),id:"VPContent"},[i(e).isNotFound?u(s.$slots,"not-found",{key:0},()=>[k(ft)],!0):i(t).layout==="page"?(a(),$(Yn,{key:1},{"page-top":f(()=>[u(s.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[u(s.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(t).layout==="home"?(a(),$(Kn,{key:2},{"home-hero-before":f(()=>[u(s.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[u(s.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[u(s.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[u(s.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[u(s.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[u(s.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[u(s.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[u(s.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[u(s.$slots,"home-features-after",{},void 0,!0)]),_:3})):i(t).layout&&i(t).layout!=="doc"?(a(),$(F(i(t).layout),{key:3})):(a(),$(cn,{key:4},{"doc-top":f(()=>[u(s.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[u(s.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":f(()=>[u(s.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[u(s.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[u(s.$slots,"doc-after",{},void 0,!0)]),"aside-top":f(()=>[u(s.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":f(()=>[u(s.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[u(s.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[u(s.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[u(s.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":f(()=>[u(s.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Qn=g(Xn,[["__scopeId","data-v-91765379"]]),Zn={class:"container"},xn=["innerHTML"],es=["innerHTML"],ts=h({__name:"VPFooter",setup(o){const{theme:e,frontmatter:t}=L(),{hasSidebar:n}=U();return(s,r)=>i(e).footer&&i(t).footer!==!1?(a(),l("footer",{key:0,class:I(["VPFooter",{"has-sidebar":i(n)}])},[v("div",Zn,[i(e).footer.message?(a(),l("p",{key:0,class:"message",innerHTML:i(e).footer.message},null,8,xn)):m("",!0),i(e).footer.copyright?(a(),l("p",{key:1,class:"copyright",innerHTML:i(e).footer.copyright},null,8,es)):m("",!0)])],2)):m("",!0)}}),ns=g(ts,[["__scopeId","data-v-c970a860"]]);function ss(){const{theme:o,frontmatter:e}=L(),t=Se([]),n=y(()=>t.value.length>0);return x(()=>{t.value=be(e.value.outline??o.value.outline)}),{headers:t,hasLocalNav:n}}const os={class:"menu-text"},as={class:"header"},rs={class:"outline"},is=h({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(o){const e=o,{theme:t}=L(),n=N(!1),s=N(0),r=N(),c=N();function p(b){var P;(P=r.value)!=null&&P.contains(b.target)||(n.value=!1)}D(n,b=>{if(b){document.addEventListener("click",p);return}document.removeEventListener("click",p)}),le("Escape",()=>{n.value=!1}),x(()=>{n.value=!1});function d(){n.value=!n.value,s.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function _(b){b.target.classList.contains("outline-link")&&(c.value&&(c.value.style.transition="none"),Te(()=>{n.value=!1}))}function V(){n.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(b,P)=>(a(),l("div",{class:"VPLocalNavOutlineDropdown",style:Le({"--vp-vh":s.value+"px"}),ref_key:"main",ref:r},[b.headers.length>0?(a(),l("button",{key:0,onClick:d,class:I({open:n.value})},[v("span",os,T(i(Ee)(i(t))),1),P[0]||(P[0]=v("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(a(),l("button",{key:1,onClick:V},T(i(t).returnToTopLabel||"Return to top"),1)),k(ve,{name:"flyout"},{default:f(()=>[n.value?(a(),l("div",{key:0,ref_key:"items",ref:c,class:"items",onClick:_},[v("div",as,[v("a",{class:"top-link",href:"#",onClick:V},T(i(t).returnToTopLabel||"Return to top"),1)]),v("div",rs,[k(Ce,{headers:b.headers},null,8,["headers"])])],512)):m("",!0)]),_:1})],4))}}),ls=g(is,[["__scopeId","data-v-bc9dc845"]]),cs={class:"container"},us=["aria-expanded"],ds={class:"menu-text"},vs=h({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(o){const{theme:e,frontmatter:t}=L(),{hasSidebar:n}=U(),{headers:s}=ss(),{y:r}=Ne(),c=N(0);j(()=>{c.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),x(()=>{s.value=be(t.value.outline??e.value.outline)});const p=y(()=>s.value.length===0),d=y(()=>p.value&&!n.value),_=y(()=>({VPLocalNav:!0,"has-sidebar":n.value,empty:p.value,fixed:d.value}));return(V,b)=>i(t).layout!=="home"&&(!d.value||i(r)>=c.value)?(a(),l("div",{key:0,class:I(_.value)},[v("div",cs,[i(n)?(a(),l("button",{key:0,class:"menu","aria-expanded":V.open,"aria-controls":"VPSidebarNav",onClick:b[0]||(b[0]=P=>V.$emit("open-menu"))},[b[1]||(b[1]=v("span",{class:"vpi-align-left menu-icon"},null,-1)),v("span",ds,T(i(e).sidebarMenuLabel||"Menu"),1)],8,us)):m("",!0),k(ls,{headers:i(s),navHeight:c.value},null,8,["headers","navHeight"])])],2)):m("",!0)}}),ps=g(vs,[["__scopeId","data-v-070ab83d"]]);function fs(){const o=N(!1);function e(){o.value=!0,window.addEventListener("resize",s)}function t(){o.value=!1,window.removeEventListener("resize",s)}function n(){o.value?t():e()}function s(){window.outerWidth>=768&&t()}const r=ee();return D(()=>r.path,t),{isScreenOpen:o,openScreen:e,closeScreen:t,toggleScreen:n}}const ms={},hs={class:"VPSwitch",type:"button",role:"switch"},_s={class:"check"},bs={key:0,class:"icon"};function ks(o,e){return a(),l("button",hs,[v("span",_s,[o.$slots.default?(a(),l("span",bs,[u(o.$slots,"default",{},void 0,!0)])):m("",!0)])])}const gs=g(ms,[["render",ks],["__scopeId","data-v-4a1c76db"]]),$s=h({__name:"VPSwitchAppearance",setup(o){const{isDark:e,theme:t}=L(),n=q("toggle-appearance",()=>{e.value=!e.value}),s=N("");return me(()=>{s.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(r,c)=>(a(),$(gs,{title:s.value,class:"VPSwitchAppearance","aria-checked":i(e),onClick:i(n)},{default:f(()=>c[0]||(c[0]=[v("span",{class:"vpi-sun sun"},null,-1),v("span",{class:"vpi-moon moon"},null,-1)])),_:1},8,["title","aria-checked","onClick"]))}}),ke=g($s,[["__scopeId","data-v-e40a8bb6"]]),ys={key:0,class:"VPNavBarAppearance"},Ps=h({__name:"VPNavBarAppearance",setup(o){const{site:e}=L();return(t,n)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(a(),l("div",ys,[k(ke)])):m("",!0)}}),Ss=g(Ps,[["__scopeId","data-v-af096f4a"]]),ge=N();let Ae=!1,re=0;function Vs(o){const e=N(!1);if(te){!Ae&&Ls(),re++;const t=D(ge,n=>{var s,r,c;n===o.el.value||(s=o.el.value)!=null&&s.contains(n)?(e.value=!0,(r=o.onFocus)==null||r.call(o)):(e.value=!1,(c=o.onBlur)==null||c.call(o))});fe(()=>{t(),re--,re||Ts()})}return We(e)}function Ls(){document.addEventListener("focusin",Be),Ae=!0,ge.value=document.activeElement}function Ts(){document.removeEventListener("focusin",Be)}function Be(){ge.value=document.activeElement}const Ns={class:"VPMenuLink"},ws=h({__name:"VPMenuLink",props:{item:{}},setup(o){const{page:e}=L();return(t,n)=>(a(),l("div",Ns,[k(H,{class:I({active:i(G)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:f(()=>[O(T(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),ne=g(ws,[["__scopeId","data-v-8b74d055"]]),Is={class:"VPMenuGroup"},Ms={key:0,class:"title"},Es=h({__name:"VPMenuGroup",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),l("div",Is,[e.text?(a(),l("p",Ms,T(e.text),1)):m("",!0),(a(!0),l(M,null,A(e.items,n=>(a(),l(M,null,["link"in n?(a(),$(ne,{key:0,item:n},null,8,["item"])):m("",!0)],64))),256))]))}}),Cs=g(Es,[["__scopeId","data-v-48c802d0"]]),As={class:"VPMenu"},Bs={key:0,class:"items"},Hs=h({__name:"VPMenu",props:{items:{}},setup(o){return(e,t)=>(a(),l("div",As,[e.items?(a(),l("div",Bs,[(a(!0),l(M,null,A(e.items,n=>(a(),l(M,{key:JSON.stringify(n)},["link"in n?(a(),$(ne,{key:0,item:n},null,8,["item"])):"component"in n?(a(),$(F(n.component),z({key:1,ref_for:!0},n.props),null,16)):(a(),$(Cs,{key:2,text:n.text,items:n.items},null,8,["text","items"]))],64))),128))])):m("",!0),u(e.$slots,"default",{},void 0,!0)]))}}),Os=g(Hs,[["__scopeId","data-v-7dd3104a"]]),Ds=["aria-expanded","aria-label"],Fs={key:0,class:"text"},Us=["innerHTML"],Rs={key:1,class:"vpi-more-horizontal icon"},zs={class:"menu"},js=h({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(o){const e=N(!1),t=N();Vs({el:t,onBlur:n});function n(){e.value=!1}return(s,r)=>(a(),l("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:r[1]||(r[1]=c=>e.value=!0),onMouseleave:r[2]||(r[2]=c=>e.value=!1)},[v("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":s.label,onClick:r[0]||(r[0]=c=>e.value=!e.value)},[s.button||s.icon?(a(),l("span",Fs,[s.icon?(a(),l("span",{key:0,class:I([s.icon,"option-icon"])},null,2)):m("",!0),s.button?(a(),l("span",{key:1,innerHTML:s.button},null,8,Us)):m("",!0),r[3]||(r[3]=v("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(a(),l("span",Rs))],8,Ds),v("div",zs,[k(Os,{items:s.items},{default:f(()=>[u(s.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),$e=g(js,[["__scopeId","data-v-e5380155"]]),Gs=["href","aria-label","innerHTML"],Ks=h({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(o){const e=o,t=y(()=>typeof e.icon=="object"?e.icon.svg:``);return(n,s)=>(a(),l("a",{class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,Gs))}}),Ws=g(Ks,[["__scopeId","data-v-717b8b75"]]),qs={class:"VPSocialLinks"},Js=h({__name:"VPSocialLinks",props:{links:{}},setup(o){return(e,t)=>(a(),l("div",qs,[(a(!0),l(M,null,A(e.links,({link:n,icon:s,ariaLabel:r})=>(a(),$(Ws,{key:n,icon:s,link:n,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}}),se=g(Js,[["__scopeId","data-v-ee7a9424"]]),Ys={key:0,class:"group translations"},Xs={class:"trans-title"},Qs={key:1,class:"group"},Zs={class:"item appearance"},xs={class:"label"},eo={class:"appearance-action"},to={key:2,class:"group"},no={class:"item social-links"},so=h({__name:"VPNavBarExtra",setup(o){const{site:e,theme:t}=L(),{localeLinks:n,currentLang:s}=Y({correspondingLink:!0}),r=y(()=>n.value.length&&s.value.label||e.value.appearance||t.value.socialLinks);return(c,p)=>r.value?(a(),$($e,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:f(()=>[i(n).length&&i(s).label?(a(),l("div",Ys,[v("p",Xs,T(i(s).label),1),(a(!0),l(M,null,A(i(n),d=>(a(),$(ne,{key:d.link,item:d},null,8,["item"]))),128))])):m("",!0),i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(a(),l("div",Qs,[v("div",Zs,[v("p",xs,T(i(t).darkModeSwitchLabel||"Appearance"),1),v("div",eo,[k(ke)])])])):m("",!0),i(t).socialLinks?(a(),l("div",to,[v("div",no,[k(se,{class:"social-links-list",links:i(t).socialLinks},null,8,["links"])])])):m("",!0)]),_:1})):m("",!0)}}),oo=g(so,[["__scopeId","data-v-925effce"]]),ao=["aria-expanded"],ro=h({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(o){return(e,t)=>(a(),l("button",{type:"button",class:I(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=n=>e.$emit("click"))},t[1]||(t[1]=[v("span",{class:"container"},[v("span",{class:"top"}),v("span",{class:"middle"}),v("span",{class:"bottom"})],-1)]),10,ao))}}),io=g(ro,[["__scopeId","data-v-5dea55bf"]]),lo=["innerHTML"],co=h({__name:"VPNavBarMenuLink",props:{item:{}},setup(o){const{page:e}=L();return(t,n)=>(a(),$(H,{class:I({VPNavBarMenuLink:!0,active:i(G)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,noIcon:t.item.noIcon,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:f(()=>[v("span",{innerHTML:t.item.text},null,8,lo)]),_:1},8,["class","href","noIcon","target","rel"]))}}),uo=g(co,[["__scopeId","data-v-ed5ac1f6"]]),vo=h({__name:"VPNavBarMenuGroup",props:{item:{}},setup(o){const e=o,{page:t}=L(),n=r=>"component"in r?!1:"link"in r?G(t.value.relativePath,r.link,!!e.item.activeMatch):r.items.some(n),s=y(()=>n(e.item));return(r,c)=>(a(),$($e,{class:I({VPNavBarMenuGroup:!0,active:i(G)(i(t).relativePath,r.item.activeMatch,!!r.item.activeMatch)||s.value}),button:r.item.text,items:r.item.items},null,8,["class","button","items"]))}}),po={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},fo=h({__name:"VPNavBarMenu",setup(o){const{theme:e}=L();return(t,n)=>i(e).nav?(a(),l("nav",po,[n[0]||(n[0]=v("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(a(!0),l(M,null,A(i(e).nav,s=>(a(),l(M,{key:JSON.stringify(s)},["link"in s?(a(),$(uo,{key:0,item:s},null,8,["item"])):"component"in s?(a(),$(F(s.component),z({key:1,ref_for:!0},s.props),null,16)):(a(),$(vo,{key:2,item:s},null,8,["item"]))],64))),128))])):m("",!0)}}),mo=g(fo,[["__scopeId","data-v-e6d46098"]]);function ho(o){const{localeIndex:e,theme:t}=L();function n(s){var E,C,w;const r=s.split("."),c=(E=t.value.search)==null?void 0:E.options,p=c&&typeof c=="object",d=p&&((w=(C=c.locales)==null?void 0:C[e.value])==null?void 0:w.translations)||null,_=p&&c.translations||null;let V=d,b=_,P=o;const S=r.pop();for(const B of r){let R=null;const W=P==null?void 0:P[B];W&&(R=P=W);const oe=b==null?void 0:b[B];oe&&(R=b=oe);const ae=V==null?void 0:V[B];ae&&(R=V=ae),W||(P=R),oe||(b=R),ae||(V=R)}return(V==null?void 0:V[S])??(b==null?void 0:b[S])??(P==null?void 0:P[S])??""}return n}const _o=["aria-label"],bo={class:"DocSearch-Button-Container"},ko={class:"DocSearch-Button-Placeholder"},ye=h({__name:"VPNavBarSearchButton",setup(o){const t=ho({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(n,s)=>(a(),l("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":i(t)("button.buttonAriaLabel")},[v("span",bo,[s[0]||(s[0]=v("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),v("span",ko,T(i(t)("button.buttonText")),1)]),s[1]||(s[1]=v("span",{class:"DocSearch-Button-Keys"},[v("kbd",{class:"DocSearch-Button-Key"}),v("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,_o))}}),go={class:"VPNavBarSearch"},$o={id:"local-search"},yo={key:1,id:"docsearch"},Po=h({__name:"VPNavBarSearch",setup(o){const e=qe(()=>Je(()=>import("./VPLocalSearchBox.C4V_j8us.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:n}=L(),s=N(!1),r=N(!1);j(()=>{});function c(){s.value||(s.value=!0,setTimeout(p,16))}function p(){const b=new Event("keydown");b.key="k",b.metaKey=!0,window.dispatchEvent(b),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||p()},16)}function d(b){const P=b.target,S=P.tagName;return P.isContentEditable||S==="INPUT"||S==="SELECT"||S==="TEXTAREA"}const _=N(!1);le("k",b=>{(b.ctrlKey||b.metaKey)&&(b.preventDefault(),_.value=!0)}),le("/",b=>{d(b)||(b.preventDefault(),_.value=!0)});const V="local";return(b,P)=>{var S;return a(),l("div",go,[i(V)==="local"?(a(),l(M,{key:0},[_.value?(a(),$(i(e),{key:0,onClose:P[0]||(P[0]=E=>_.value=!1)})):m("",!0),v("div",$o,[k(ye,{onClick:P[1]||(P[1]=E=>_.value=!0)})])],64)):i(V)==="algolia"?(a(),l(M,{key:1},[s.value?(a(),$(i(t),{key:0,algolia:((S=i(n).search)==null?void 0:S.options)??i(n).algolia,onVnodeBeforeMount:P[2]||(P[2]=E=>r.value=!0)},null,8,["algolia"])):m("",!0),r.value?m("",!0):(a(),l("div",yo,[k(ye,{onClick:c})]))],64)):m("",!0)])}}}),So=h({__name:"VPNavBarSocialLinks",setup(o){const{theme:e}=L();return(t,n)=>i(e).socialLinks?(a(),$(se,{key:0,class:"VPNavBarSocialLinks",links:i(e).socialLinks},null,8,["links"])):m("",!0)}}),Vo=g(So,[["__scopeId","data-v-164c457f"]]),Lo=["href","rel","target"],To={key:1},No={key:2},wo=h({__name:"VPNavBarTitle",setup(o){const{site:e,theme:t}=L(),{hasSidebar:n}=U(),{currentLang:s}=Y(),r=y(()=>{var d;return typeof t.value.logoLink=="string"?t.value.logoLink:(d=t.value.logoLink)==null?void 0:d.link}),c=y(()=>{var d;return typeof t.value.logoLink=="string"||(d=t.value.logoLink)==null?void 0:d.rel}),p=y(()=>{var d;return typeof t.value.logoLink=="string"||(d=t.value.logoLink)==null?void 0:d.target});return(d,_)=>(a(),l("div",{class:I(["VPNavBarTitle",{"has-sidebar":i(n)}])},[v("a",{class:"title",href:r.value??i(_e)(i(s).link),rel:c.value,target:p.value},[u(d.$slots,"nav-bar-title-before",{},void 0,!0),i(t).logo?(a(),$(Q,{key:0,class:"logo",image:i(t).logo},null,8,["image"])):m("",!0),i(t).siteTitle?(a(),l("span",To,T(i(t).siteTitle),1)):i(t).siteTitle===void 0?(a(),l("span",No,T(i(e).title),1)):m("",!0),u(d.$slots,"nav-bar-title-after",{},void 0,!0)],8,Lo)],2))}}),Io=g(wo,[["__scopeId","data-v-28a961f9"]]),Mo={class:"items"},Eo={class:"title"},Co=h({__name:"VPNavBarTranslations",setup(o){const{theme:e}=L(),{localeLinks:t,currentLang:n}=Y({correspondingLink:!0});return(s,r)=>i(t).length&&i(n).label?(a(),$($e,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:i(e).langMenuLabel||"Change language"},{default:f(()=>[v("div",Mo,[v("p",Eo,T(i(n).label),1),(a(!0),l(M,null,A(i(t),c=>(a(),$(ne,{key:c.link,item:c},null,8,["item"]))),128))])]),_:1},8,["label"])):m("",!0)}}),Ao=g(Co,[["__scopeId","data-v-c80d9ad0"]]),Bo={class:"wrapper"},Ho={class:"container"},Oo={class:"title"},Do={class:"content"},Fo={class:"content-body"},Uo=h({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(o){const e=o,{y:t}=Ne(),{hasSidebar:n}=U(),{frontmatter:s}=L(),r=N({});return me(()=>{r.value={"has-sidebar":n.value,home:s.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(c,p)=>(a(),l("div",{class:I(["VPNavBar",r.value])},[v("div",Bo,[v("div",Ho,[v("div",Oo,[k(Io,null,{"nav-bar-title-before":f(()=>[u(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[u(c.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),v("div",Do,[v("div",Fo,[u(c.$slots,"nav-bar-content-before",{},void 0,!0),k(Po,{class:"search"}),k(mo,{class:"menu"}),k(Ao,{class:"translations"}),k(Ss,{class:"appearance"}),k(Vo,{class:"social-links"}),k(oo,{class:"extra"}),u(c.$slots,"nav-bar-content-after",{},void 0,!0),k(io,{class:"hamburger",active:c.isScreenOpen,onClick:p[0]||(p[0]=d=>c.$emit("toggle-screen"))},null,8,["active"])])])])]),p[1]||(p[1]=v("div",{class:"divider"},[v("div",{class:"divider-line"})],-1))],2))}}),Ro=g(Uo,[["__scopeId","data-v-822684d1"]]),zo={key:0,class:"VPNavScreenAppearance"},jo={class:"text"},Go=h({__name:"VPNavScreenAppearance",setup(o){const{site:e,theme:t}=L();return(n,s)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(a(),l("div",zo,[v("p",jo,T(i(t).darkModeSwitchLabel||"Appearance"),1),k(ke)])):m("",!0)}}),Ko=g(Go,[["__scopeId","data-v-ffb44008"]]),Wo=h({__name:"VPNavScreenMenuLink",props:{item:{}},setup(o){const e=q("close-screen");return(t,n)=>(a(),$(H,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:i(e),innerHTML:t.item.text},null,8,["href","target","rel","onClick","innerHTML"]))}}),qo=g(Wo,[["__scopeId","data-v-27d04aeb"]]),Jo=h({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(o){const e=q("close-screen");return(t,n)=>(a(),$(H,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:i(e)},{default:f(()=>[O(T(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),He=g(Jo,[["__scopeId","data-v-7179dbb7"]]),Yo={class:"VPNavScreenMenuGroupSection"},Xo={key:0,class:"title"},Qo=h({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),l("div",Yo,[e.text?(a(),l("p",Xo,T(e.text),1)):m("",!0),(a(!0),l(M,null,A(e.items,n=>(a(),$(He,{key:n.text,item:n},null,8,["item"]))),128))]))}}),Zo=g(Qo,[["__scopeId","data-v-4b8941ac"]]),xo=["aria-controls","aria-expanded"],ea=["innerHTML"],ta=["id"],na={key:0,class:"item"},sa={key:1,class:"item"},oa={key:2,class:"group"},aa=h({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(o){const e=o,t=N(!1),n=y(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function s(){t.value=!t.value}return(r,c)=>(a(),l("div",{class:I(["VPNavScreenMenuGroup",{open:t.value}])},[v("button",{class:"button","aria-controls":n.value,"aria-expanded":t.value,onClick:s},[v("span",{class:"button-text",innerHTML:r.text},null,8,ea),c[0]||(c[0]=v("span",{class:"vpi-plus button-icon"},null,-1))],8,xo),v("div",{id:n.value,class:"items"},[(a(!0),l(M,null,A(r.items,p=>(a(),l(M,{key:JSON.stringify(p)},["link"in p?(a(),l("div",na,[k(He,{item:p},null,8,["item"])])):"component"in p?(a(),l("div",sa,[(a(),$(F(p.component),z({ref_for:!0},p.props,{"screen-menu":""}),null,16))])):(a(),l("div",oa,[k(Zo,{text:p.text,items:p.items},null,8,["text","items"])]))],64))),128))],8,ta)],2))}}),ra=g(aa,[["__scopeId","data-v-875057a5"]]),ia={key:0,class:"VPNavScreenMenu"},la=h({__name:"VPNavScreenMenu",setup(o){const{theme:e}=L();return(t,n)=>i(e).nav?(a(),l("nav",ia,[(a(!0),l(M,null,A(i(e).nav,s=>(a(),l(M,{key:JSON.stringify(s)},["link"in s?(a(),$(qo,{key:0,item:s},null,8,["item"])):"component"in s?(a(),$(F(s.component),z({key:1,ref_for:!0},s.props,{"screen-menu":""}),null,16)):(a(),$(ra,{key:2,text:s.text||"",items:s.items},null,8,["text","items"]))],64))),128))])):m("",!0)}}),ca=h({__name:"VPNavScreenSocialLinks",setup(o){const{theme:e}=L();return(t,n)=>i(e).socialLinks?(a(),$(se,{key:0,class:"VPNavScreenSocialLinks",links:i(e).socialLinks},null,8,["links"])):m("",!0)}}),ua={class:"list"},da=h({__name:"VPNavScreenTranslations",setup(o){const{localeLinks:e,currentLang:t}=Y({correspondingLink:!0}),n=N(!1);function s(){n.value=!n.value}return(r,c)=>i(e).length&&i(t).label?(a(),l("div",{key:0,class:I(["VPNavScreenTranslations",{open:n.value}])},[v("button",{class:"title",onClick:s},[c[0]||(c[0]=v("span",{class:"vpi-languages icon lang"},null,-1)),O(" "+T(i(t).label)+" ",1),c[1]||(c[1]=v("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),v("ul",ua,[(a(!0),l(M,null,A(i(e),p=>(a(),l("li",{key:p.link,class:"item"},[k(H,{class:"link",href:p.link},{default:f(()=>[O(T(p.text),1)]),_:2},1032,["href"])]))),128))])],2)):m("",!0)}}),va=g(da,[["__scopeId","data-v-362991c2"]]),pa={class:"container"},fa=h({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(o){const e=N(null),t=we(te?document.body:null);return(n,s)=>(a(),$(ve,{name:"fade",onEnter:s[0]||(s[0]=r=>t.value=!0),onAfterLeave:s[1]||(s[1]=r=>t.value=!1)},{default:f(()=>[n.open?(a(),l("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[v("div",pa,[u(n.$slots,"nav-screen-content-before",{},void 0,!0),k(la,{class:"menu"}),k(va,{class:"translations"}),k(Ko,{class:"appearance"}),k(ca,{class:"social-links"}),u(n.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):m("",!0)]),_:3}))}}),ma=g(fa,[["__scopeId","data-v-833aabba"]]),ha={key:0,class:"VPNav"},_a=h({__name:"VPNav",setup(o){const{isScreenOpen:e,closeScreen:t,toggleScreen:n}=fs(),{frontmatter:s}=L(),r=y(()=>s.value.navbar!==!1);return he("close-screen",t),Z(()=>{te&&document.documentElement.classList.toggle("hide-nav",!r.value)}),(c,p)=>r.value?(a(),l("header",ha,[k(Ro,{"is-screen-open":i(e),onToggleScreen:i(n)},{"nav-bar-title-before":f(()=>[u(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[u(c.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[u(c.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[u(c.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),k(ma,{open:i(e)},{"nav-screen-content-before":f(()=>[u(c.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[u(c.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):m("",!0)}}),ba=g(_a,[["__scopeId","data-v-f1e365da"]]),ka=["role","tabindex"],ga={key:1,class:"items"},$a=h({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(o){const e=o,{collapsed:t,collapsible:n,isLink:s,isActiveLink:r,hasActiveLink:c,hasChildren:p,toggle:d}=bt(y(()=>e.item)),_=y(()=>p.value?"section":"div"),V=y(()=>s.value?"a":"div"),b=y(()=>p.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),P=y(()=>s.value?void 0:"button"),S=y(()=>[[`level-${e.depth}`],{collapsible:n.value},{collapsed:t.value},{"is-link":s.value},{"is-active":r.value},{"has-active":c.value}]);function E(w){"key"in w&&w.key!=="Enter"||!e.item.link&&d()}function C(){e.item.link&&d()}return(w,B)=>{const R=K("VPSidebarItem",!0);return a(),$(F(_.value),{class:I(["VPSidebarItem",S.value])},{default:f(()=>[w.item.text?(a(),l("div",z({key:0,class:"item",role:P.value},Ye(w.item.items?{click:E,keydown:E}:{},!0),{tabindex:w.item.items&&0}),[B[1]||(B[1]=v("div",{class:"indicator"},null,-1)),w.item.link?(a(),$(H,{key:0,tag:V.value,class:"link",href:w.item.link,rel:w.item.rel,target:w.item.target},{default:f(()=>[(a(),$(F(b.value),{class:"text",innerHTML:w.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),$(F(b.value),{key:1,class:"text",innerHTML:w.item.text},null,8,["innerHTML"])),w.item.collapsed!=null&&w.item.items&&w.item.items.length?(a(),l("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:Xe(C,["enter"]),tabindex:"0"},B[0]||(B[0]=[v("span",{class:"vpi-chevron-right caret-icon"},null,-1)]),32)):m("",!0)],16,ka)):m("",!0),w.item.items&&w.item.items.length?(a(),l("div",ga,[w.depth<5?(a(!0),l(M,{key:0},A(w.item.items,W=>(a(),$(R,{key:W.text,item:W,depth:w.depth+1},null,8,["item","depth"]))),128)):m("",!0)])):m("",!0)]),_:1},8,["class"])}}}),ya=g($a,[["__scopeId","data-v-196b2e5f"]]),Pa=h({__name:"VPSidebarGroup",props:{items:{}},setup(o){const e=N(!0);let t=null;return j(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),Qe(()=>{t!=null&&(clearTimeout(t),t=null)}),(n,s)=>(a(!0),l(M,null,A(n.items,r=>(a(),l("div",{key:r.text,class:I(["group",{"no-transition":e.value}])},[k(ya,{item:r,depth:0},null,8,["item"])],2))),128))}}),Sa=g(Pa,[["__scopeId","data-v-9e426adc"]]),Va={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},La=h({__name:"VPSidebar",props:{open:{type:Boolean}},setup(o){const{sidebarGroups:e,hasSidebar:t}=U(),n=o,s=N(null),r=we(te?document.body:null);D([n,s],()=>{var p;n.open?(r.value=!0,(p=s.value)==null||p.focus()):r.value=!1},{immediate:!0,flush:"post"});const c=N(0);return D(e,()=>{c.value+=1},{deep:!0}),(p,d)=>i(t)?(a(),l("aside",{key:0,class:I(["VPSidebar",{open:p.open}]),ref_key:"navEl",ref:s,onClick:d[0]||(d[0]=Ze(()=>{},["stop"]))},[d[2]||(d[2]=v("div",{class:"curtain"},null,-1)),v("nav",Va,[d[1]||(d[1]=v("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),u(p.$slots,"sidebar-nav-before",{},void 0,!0),(a(),$(Sa,{items:i(e),key:c.value},null,8,["items"])),u(p.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):m("",!0)}}),Ta=g(La,[["__scopeId","data-v-18756405"]]),Na=h({__name:"VPSkipLink",setup(o){const e=ee(),t=N();D(()=>e.path,()=>t.value.focus());function n({target:s}){const r=document.getElementById(decodeURIComponent(s.hash).slice(1));if(r){const c=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",c)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",c),r.focus(),window.scrollTo(0,0)}}return(s,r)=>(a(),l(M,null,[v("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),v("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:n}," Skip to content ")],64))}}),wa=g(Na,[["__scopeId","data-v-c3508ec8"]]),Ia=h({__name:"Layout",setup(o){const{isOpen:e,open:t,close:n}=U(),s=ee();D(()=>s.path,n),_t(e,n);const{frontmatter:r}=L(),c=Ie(),p=y(()=>!!c["home-hero-image"]);return he("hero-image-slot-exists",p),(d,_)=>{const V=K("Content");return i(r).layout!==!1?(a(),l("div",{key:0,class:I(["Layout",i(r).pageClass])},[u(d.$slots,"layout-top",{},void 0,!0),k(wa),k(ot,{class:"backdrop",show:i(e),onClick:i(n)},null,8,["show","onClick"]),k(ba,null,{"nav-bar-title-before":f(()=>[u(d.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[u(d.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[u(d.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[u(d.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":f(()=>[u(d.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[u(d.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),k(ps,{open:i(e),onOpenMenu:i(t)},null,8,["open","onOpenMenu"]),k(Ta,{open:i(e)},{"sidebar-nav-before":f(()=>[u(d.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":f(()=>[u(d.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),k(Qn,null,{"page-top":f(()=>[u(d.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[u(d.$slots,"page-bottom",{},void 0,!0)]),"not-found":f(()=>[u(d.$slots,"not-found",{},void 0,!0)]),"home-hero-before":f(()=>[u(d.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[u(d.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[u(d.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[u(d.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[u(d.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[u(d.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[u(d.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[u(d.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[u(d.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":f(()=>[u(d.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[u(d.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[u(d.$slots,"doc-after",{},void 0,!0)]),"doc-top":f(()=>[u(d.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[u(d.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":f(()=>[u(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[u(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[u(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[u(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[u(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[u(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),k(ns),u(d.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),$(V,{key:1}))}}}),Ma=g(Ia,[["__scopeId","data-v-a9a9e638"]]),Ea={},Ca={class:"VPTeamPage"};function Aa(o,e){return a(),l("div",Ca,[u(o.$slots,"default")])}const Lr=g(Ea,[["render",Aa],["__scopeId","data-v-c2f8e101"]]),Ba={},Ha={class:"VPTeamPageTitle"},Oa={key:0,class:"title"},Da={key:1,class:"lead"};function Fa(o,e){return a(),l("div",Ha,[o.$slots.title?(a(),l("h1",Oa,[u(o.$slots,"title",{},void 0,!0)])):m("",!0),o.$slots.lead?(a(),l("p",Da,[u(o.$slots,"lead",{},void 0,!0)])):m("",!0)])}const Tr=g(Ba,[["render",Fa],["__scopeId","data-v-e277e15c"]]),Ua={},Ra={class:"VPTeamPageSection"},za={class:"title"},ja={key:0,class:"title-text"},Ga={key:0,class:"lead"},Ka={key:1,class:"members"};function Wa(o,e){return a(),l("section",Ra,[v("div",za,[e[0]||(e[0]=v("div",{class:"title-line"},null,-1)),o.$slots.title?(a(),l("h2",ja,[u(o.$slots,"title",{},void 0,!0)])):m("",!0)]),o.$slots.lead?(a(),l("p",Ga,[u(o.$slots,"lead",{},void 0,!0)])):m("",!0),o.$slots.members?(a(),l("div",Ka,[u(o.$slots,"members",{},void 0,!0)])):m("",!0)])}const Nr=g(Ua,[["render",Wa],["__scopeId","data-v-d43bc49d"]]),qa={class:"profile"},Ja={class:"avatar"},Ya=["src","alt"],Xa={class:"data"},Qa={class:"name"},Za={key:0,class:"affiliation"},xa={key:0,class:"title"},er={key:1,class:"at"},tr=["innerHTML"],nr={key:2,class:"links"},sr={key:0,class:"sp"},or=h({__name:"VPTeamMembersItem",props:{size:{default:"medium"},member:{}},setup(o){return(e,t)=>(a(),l("article",{class:I(["VPTeamMembersItem",[e.size]])},[v("div",qa,[v("figure",Ja,[v("img",{class:"avatar-img",src:e.member.avatar,alt:e.member.name},null,8,Ya)]),v("div",Xa,[v("h1",Qa,T(e.member.name),1),e.member.title||e.member.org?(a(),l("p",Za,[e.member.title?(a(),l("span",xa,T(e.member.title),1)):m("",!0),e.member.title&&e.member.org?(a(),l("span",er," @ ")):m("",!0),e.member.org?(a(),$(H,{key:2,class:I(["org",{link:e.member.orgLink}]),href:e.member.orgLink,"no-icon":""},{default:f(()=>[O(T(e.member.org),1)]),_:1},8,["class","href"])):m("",!0)])):m("",!0),e.member.desc?(a(),l("p",{key:1,class:"desc",innerHTML:e.member.desc},null,8,tr)):m("",!0),e.member.links?(a(),l("div",nr,[k(se,{links:e.member.links},null,8,["links"])])):m("",!0)])]),e.member.sponsor?(a(),l("div",sr,[k(H,{class:"sp-link",href:e.member.sponsor,"no-icon":""},{default:f(()=>[t[0]||(t[0]=v("span",{class:"vpi-heart sp-icon"},null,-1)),O(" "+T(e.member.actionText||"Sponsor"),1)]),_:1},8,["href"])])):m("",!0)],2))}}),ar=g(or,[["__scopeId","data-v-f9987cb6"]]),rr={class:"container"},ir=h({__name:"VPTeamMembers",props:{size:{default:"medium"},members:{}},setup(o){const e=o,t=y(()=>[e.size,`count-${e.members.length}`]);return(n,s)=>(a(),l("div",{class:I(["VPTeamMembers",t.value])},[v("div",rr,[(a(!0),l(M,null,A(n.members,r=>(a(),l("div",{key:r.name,class:"item"},[k(ar,{size:n.size,member:r},null,8,["size","member"])]))),128))])],2))}}),wr=g(ir,[["__scopeId","data-v-fba19bad"]]),lr={Layout:Ma,enhanceApp:({app:o})=>{o.component("Badge",tt)}},cr=o=>{if(typeof document>"u")return{stabilizeScrollPosition:s=>async(...r)=>s(...r)};const e=document.documentElement;return{stabilizeScrollPosition:n=>async(...s)=>{const r=n(...s),c=o.value;if(!c)return r;const p=c.offsetTop-e.scrollTop;return await Te(),e.scrollTop=c.offsetTop-p,r}}},Oe="vitepress:tabSharedState",J=typeof localStorage<"u"?localStorage:null,De="vitepress:tabsSharedState",ur=()=>{const o=J==null?void 0:J.getItem(De);if(o)try{return JSON.parse(o)}catch{}return{}},dr=o=>{J&&J.setItem(De,JSON.stringify(o))},vr=o=>{const e=xe({});D(()=>e.content,(t,n)=>{t&&n&&dr(t)},{deep:!0}),o.provide(Oe,e)},pr=(o,e)=>{const t=q(Oe);if(!t)throw new Error("[vitepress-plugin-tabs] TabsSharedState should be injected");j(()=>{t.content||(t.content=ur())});const n=N(),s=y({get(){var d;const c=e.value,p=o.value;if(c){const _=(d=t.content)==null?void 0:d[c];if(_&&p.includes(_))return _}else{const _=n.value;if(_)return _}return p[0]},set(c){const p=e.value;p?t.content&&(t.content[p]=c):n.value=c}});return{selected:s,select:c=>{s.value=c}}};let Pe=0;const fr=()=>(Pe++,""+Pe);function mr(){const o=Ie();return y(()=>{var n;const t=(n=o.default)==null?void 0:n.call(o);return t?t.filter(s=>typeof s.type=="object"&&"__name"in s.type&&s.type.__name==="PluginTabsTab"&&s.props).map(s=>{var r;return(r=s.props)==null?void 0:r.label}):[]})}const Fe="vitepress:tabSingleState",hr=o=>{he(Fe,o)},_r=()=>{const o=q(Fe);if(!o)throw new Error("[vitepress-plugin-tabs] TabsSingleState should be injected");return o},br={class:"plugin-tabs"},kr=["id","aria-selected","aria-controls","tabindex","onClick"],gr=h({__name:"PluginTabs",props:{sharedStateKey:{}},setup(o){const e=o,t=mr(),{selected:n,select:s}=pr(t,et(e,"sharedStateKey")),r=N(),{stabilizeScrollPosition:c}=cr(r),p=c(s),d=N([]),_=b=>{var E;const P=t.value.indexOf(n.value);let S;b.key==="ArrowLeft"?S=P>=1?P-1:t.value.length-1:b.key==="ArrowRight"&&(S=P(a(),l("div",br,[v("div",{ref_key:"tablist",ref:r,class:"plugin-tabs--tab-list",role:"tablist",onKeydown:_},[(a(!0),l(M,null,A(i(t),S=>(a(),l("button",{id:`tab-${S}-${i(V)}`,ref_for:!0,ref_key:"buttonRefs",ref:d,key:S,role:"tab",class:"plugin-tabs--tab","aria-selected":S===i(n),"aria-controls":`panel-${S}-${i(V)}`,tabindex:S===i(n)?0:-1,onClick:()=>i(p)(S)},T(S),9,kr))),128))],544),u(b.$slots,"default")]))}}),$r=["id","aria-labelledby"],yr=h({__name:"PluginTabsTab",props:{label:{}},setup(o){const{uid:e,selected:t}=_r();return(n,s)=>i(t)===n.label?(a(),l("div",{key:0,id:`panel-${n.label}-${i(e)}`,class:"plugin-tabs--content",role:"tabpanel",tabindex:"0","aria-labelledby":`tab-${n.label}-${i(e)}`},[u(n.$slots,"default",{},void 0,!0)],8,$r)):m("",!0)}}),Pr=g(yr,[["__scopeId","data-v-9b0d03d2"]]),Sr=o=>{vr(o),o.component("PluginTabs",gr),o.component("PluginTabsTab",Pr)},Ir={extends:lr,async enhanceApp({app:o,router:e,siteData:t}){if(Sr(o),typeof window<"u"){let n=function(){if(!(window.DOCUMENTER_NEWEST===void 0||window.DOCUMENTER_CURRENT_VERSION===void 0||window.DOCUMENTER_STABLE===void 0)&&window.DOCUMENTER_NEWEST===window.DOCUMENTER_CURRENT_VERSION){const s=window.location.href.replace(window.DOCUMENTER_CURRENT_VERSION,window.DOCUMENTER_STABLE);window.history.replaceState({additionalInformation:"URL rewritten to stable"},"DimensionalData",s);return}};D(()=>e.route.data.relativePath,n,{immediate:!0}),document.addEventListener("DOMContentLoaded",n)}}};export{Ir as R,Tr as V,Nr as a,wr as b,Lr as c,ho as d,L as u}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.BFjKS_uq.js","assets/chunks/framework.CEeYBNx8.js"])))=>i.map(i=>d[i]); +import{d as h,o as a,c as l,r as u,n as I,a as O,t as T,b as $,w as f,e as m,T as ve,_ as g,u as Ue,i as Re,f as ze,g as pe,h as y,j as v,k as i,l as G,m as ie,p as N,q as D,s as Z,v as j,x as fe,y as me,z as je,A as Ge,B as K,F as M,C as A,D as Se,E as x,G as k,H as F,I as Ve,J as ee,K as z,L as q,M as Ke,N as Le,O as le,P as Te,Q as Ne,R as te,S as We,U as qe,V as Je,W as we,X as he,Y as Ye,Z as Xe,$ as Qe,a0 as Ze,a1 as Ie,a2 as xe,a3 as et}from"./framework.CEeYBNx8.js";const tt=h({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(o){return(e,t)=>(a(),l("span",{class:I(["VPBadge",e.type])},[u(e.$slots,"default",{},()=>[O(T(e.text),1)])],2))}}),nt={key:0,class:"VPBackdrop"},st=h({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(o){return(e,t)=>(a(),$(ve,{name:"fade"},{default:f(()=>[e.show?(a(),l("div",nt)):m("",!0)]),_:1}))}}),ot=g(st,[["__scopeId","data-v-b06cdb19"]]),L=Ue;function at(o,e){let t,n=!1;return()=>{t&&clearTimeout(t),n?t=setTimeout(o,e):(o(),(n=!0)&&setTimeout(()=>n=!1,e))}}function ce(o){return/^\//.test(o)?o:`/${o}`}function _e(o){const{pathname:e,search:t,hash:n,protocol:s}=new URL(o,"http://a.com");if(Re(o)||o.startsWith("#")||!s.startsWith("http")||!ze(e))return o;const{site:r}=L(),c=e.endsWith("/")||e.endsWith(".html")?o:o.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,r.value.cleanUrls?"":".html")}${t}${n}`);return pe(c)}function Y({correspondingLink:o=!1}={}){const{site:e,localeIndex:t,page:n,theme:s,hash:r}=L(),c=y(()=>{var d,_;return{label:(d=e.value.locales[t.value])==null?void 0:d.label,link:((_=e.value.locales[t.value])==null?void 0:_.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:y(()=>Object.entries(e.value.locales).flatMap(([d,_])=>c.value.label===_.label?[]:{text:_.label,link:rt(_.link||(d==="root"?"/":`/${d}/`),s.value.i18nRouting!==!1&&o,n.value.relativePath.slice(c.value.link.length-1),!e.value.cleanUrls)+r.value})),currentLang:c}}function rt(o,e,t,n){return e?o.replace(/\/$/,"")+ce(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,n?".html":"")):o}const it={class:"NotFound"},lt={class:"code"},ct={class:"title"},ut={class:"quote"},dt={class:"action"},vt=["href","aria-label"],pt=h({__name:"NotFound",setup(o){const{theme:e}=L(),{currentLang:t}=Y();return(n,s)=>{var r,c,p,d,_;return a(),l("div",it,[v("p",lt,T(((r=i(e).notFound)==null?void 0:r.code)??"404"),1),v("h1",ct,T(((c=i(e).notFound)==null?void 0:c.title)??"PAGE NOT FOUND"),1),s[0]||(s[0]=v("div",{class:"divider"},null,-1)),v("blockquote",ut,T(((p=i(e).notFound)==null?void 0:p.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),v("div",dt,[v("a",{class:"link",href:i(pe)(i(t).link),"aria-label":((d=i(e).notFound)==null?void 0:d.linkLabel)??"go to home"},T(((_=i(e).notFound)==null?void 0:_.linkText)??"Take me home"),9,vt)])])}}}),ft=g(pt,[["__scopeId","data-v-951cab6c"]]);function Me(o,e){if(Array.isArray(o))return X(o);if(o==null)return[];e=ce(e);const t=Object.keys(o).sort((s,r)=>r.split("/").length-s.split("/").length).find(s=>e.startsWith(ce(s))),n=t?o[t]:[];return Array.isArray(n)?X(n):X(n.items,n.base)}function mt(o){const e=[];let t=0;for(const n in o){const s=o[n];if(s.items){t=e.push(s);continue}e[t]||e.push({items:[]}),e[t].items.push(s)}return e}function ht(o){const e=[];function t(n){for(const s of n)s.text&&s.link&&e.push({text:s.text,link:s.link,docFooterText:s.docFooterText}),s.items&&t(s.items)}return t(o),e}function ue(o,e){return Array.isArray(e)?e.some(t=>ue(o,t)):G(o,e.link)?!0:e.items?ue(o,e.items):!1}function X(o,e){return[...o].map(t=>{const n={...t},s=n.base||e;return s&&n.link&&(n.link=s+n.link),n.items&&(n.items=X(n.items,s)),n})}function U(){const{frontmatter:o,page:e,theme:t}=L(),n=ie("(min-width: 960px)"),s=N(!1),r=y(()=>{const C=t.value.sidebar,w=e.value.relativePath;return C?Me(C,w):[]}),c=N(r.value);D(r,(C,w)=>{JSON.stringify(C)!==JSON.stringify(w)&&(c.value=r.value)});const p=y(()=>o.value.sidebar!==!1&&c.value.length>0&&o.value.layout!=="home"),d=y(()=>_?o.value.aside==null?t.value.aside==="left":o.value.aside==="left":!1),_=y(()=>o.value.layout==="home"?!1:o.value.aside!=null?!!o.value.aside:t.value.aside!==!1),V=y(()=>p.value&&n.value),b=y(()=>p.value?mt(c.value):[]);function P(){s.value=!0}function S(){s.value=!1}function E(){s.value?S():P()}return{isOpen:s,sidebar:c,sidebarGroups:b,hasSidebar:p,hasAside:_,leftAside:d,isSidebarEnabled:V,open:P,close:S,toggle:E}}function _t(o,e){let t;Z(()=>{t=o.value?document.activeElement:void 0}),j(()=>{window.addEventListener("keyup",n)}),fe(()=>{window.removeEventListener("keyup",n)});function n(s){s.key==="Escape"&&o.value&&(e(),t==null||t.focus())}}function bt(o){const{page:e,hash:t}=L(),n=N(!1),s=y(()=>o.value.collapsed!=null),r=y(()=>!!o.value.link),c=N(!1),p=()=>{c.value=G(e.value.relativePath,o.value.link)};D([e,o,t],p),j(p);const d=y(()=>c.value?!0:o.value.items?ue(e.value.relativePath,o.value.items):!1),_=y(()=>!!(o.value.items&&o.value.items.length));Z(()=>{n.value=!!(s.value&&o.value.collapsed)}),me(()=>{(c.value||d.value)&&(n.value=!1)});function V(){s.value&&(n.value=!n.value)}return{collapsed:n,collapsible:s,isLink:r,isActiveLink:c,hasActiveLink:d,hasChildren:_,toggle:V}}function kt(){const{hasSidebar:o}=U(),e=ie("(min-width: 960px)"),t=ie("(min-width: 1280px)");return{isAsideEnabled:y(()=>!t.value&&!e.value?!1:o.value?t.value:e.value)}}const de=[];function Ee(o){return typeof o.outline=="object"&&!Array.isArray(o.outline)&&o.outline.label||o.outlineTitle||"On this page"}function be(o){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const n=Number(t.tagName[1]);return{element:t,title:gt(t),link:"#"+t.id,level:n}});return $t(e,o)}function gt(o){let e="";for(const t of o.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function $t(o,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[n,s]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;o=o.filter(c=>c.level>=n&&c.level<=s),de.length=0;for(const{element:c,link:p}of o)de.push({element:c,link:p});const r=[];e:for(let c=0;c=0;d--){const _=o[d];if(_.level{requestAnimationFrame(r),window.addEventListener("scroll",n)}),je(()=>{c(location.hash)}),fe(()=>{window.removeEventListener("scroll",n)});function r(){if(!t.value)return;const p=window.scrollY,d=window.innerHeight,_=document.body.offsetHeight,V=Math.abs(p+d-_)<1,b=de.map(({element:S,link:E})=>({link:E,top:Pt(S)})).filter(({top:S})=>!Number.isNaN(S)).sort((S,E)=>S.top-E.top);if(!b.length){c(null);return}if(p<1){c(null);return}if(V){c(b[b.length-1].link);return}let P=null;for(const{link:S,top:E}of b){if(E>p+Ge()+4)break;P=S}c(P)}function c(p){s&&s.classList.remove("active"),p==null?s=null:s=o.value.querySelector(`a[href="${decodeURIComponent(p)}"]`);const d=s;d?(d.classList.add("active"),e.value.style.top=d.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Pt(o){let e=0;for(;o!==document.body;){if(o===null)return NaN;e+=o.offsetTop,o=o.offsetParent}return e}const St=["href","title"],Vt=h({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(o){function e({target:t}){const n=t.href.split("#")[1],s=document.getElementById(decodeURIComponent(n));s==null||s.focus({preventScroll:!0})}return(t,n)=>{const s=K("VPDocOutlineItem",!0);return a(),l("ul",{class:I(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),l(M,null,A(t.headers,({children:r,link:c,title:p})=>(a(),l("li",null,[v("a",{class:"outline-link",href:c,onClick:e,title:p},T(p),9,St),r!=null&&r.length?(a(),$(s,{key:0,headers:r},null,8,["headers"])):m("",!0)]))),256))],2)}}}),Ce=g(Vt,[["__scopeId","data-v-3f927ebe"]]),Lt={class:"content"},Tt={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Nt=h({__name:"VPDocAsideOutline",setup(o){const{frontmatter:e,theme:t}=L(),n=Se([]);x(()=>{n.value=be(e.value.outline??t.value.outline)});const s=N(),r=N();return yt(s,r),(c,p)=>(a(),l("nav",{"aria-labelledby":"doc-outline-aria-label",class:I(["VPDocAsideOutline",{"has-outline":n.value.length>0}]),ref_key:"container",ref:s},[v("div",Lt,[v("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),v("div",Tt,T(i(Ee)(i(t))),1),k(Ce,{headers:n.value,root:!0},null,8,["headers"])])],2))}}),wt=g(Nt,[["__scopeId","data-v-b38bf2ff"]]),It={class:"VPDocAsideCarbonAds"},Mt=h({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(o){const e=()=>null;return(t,n)=>(a(),l("div",It,[k(i(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Et={class:"VPDocAside"},Ct=h({__name:"VPDocAside",setup(o){const{theme:e}=L();return(t,n)=>(a(),l("div",Et,[u(t.$slots,"aside-top",{},void 0,!0),u(t.$slots,"aside-outline-before",{},void 0,!0),k(wt),u(t.$slots,"aside-outline-after",{},void 0,!0),n[0]||(n[0]=v("div",{class:"spacer"},null,-1)),u(t.$slots,"aside-ads-before",{},void 0,!0),i(e).carbonAds?(a(),$(Mt,{key:0,"carbon-ads":i(e).carbonAds},null,8,["carbon-ads"])):m("",!0),u(t.$slots,"aside-ads-after",{},void 0,!0),u(t.$slots,"aside-bottom",{},void 0,!0)]))}}),At=g(Ct,[["__scopeId","data-v-6d7b3c46"]]);function Bt(){const{theme:o,page:e}=L();return y(()=>{const{text:t="Edit this page",pattern:n=""}=o.value.editLink||{};let s;return typeof n=="function"?s=n(e.value):s=n.replace(/:path/g,e.value.filePath),{url:s,text:t}})}function Ht(){const{page:o,theme:e,frontmatter:t}=L();return y(()=>{var _,V,b,P,S,E,C,w;const n=Me(e.value.sidebar,o.value.relativePath),s=ht(n),r=Ot(s,B=>B.link.replace(/[?#].*$/,"")),c=r.findIndex(B=>G(o.value.relativePath,B.link)),p=((_=e.value.docFooter)==null?void 0:_.prev)===!1&&!t.value.prev||t.value.prev===!1,d=((V=e.value.docFooter)==null?void 0:V.next)===!1&&!t.value.next||t.value.next===!1;return{prev:p?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((b=r[c-1])==null?void 0:b.docFooterText)??((P=r[c-1])==null?void 0:P.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((S=r[c-1])==null?void 0:S.link)},next:d?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((E=r[c+1])==null?void 0:E.docFooterText)??((C=r[c+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((w=r[c+1])==null?void 0:w.link)}}})}function Ot(o,e){const t=new Set;return o.filter(n=>{const s=e(n);return t.has(s)?!1:t.add(s)})}const H=h({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(o){const e=o,t=y(()=>e.tag??(e.href?"a":"span")),n=y(()=>e.href&&Ve.test(e.href)||e.target==="_blank");return(s,r)=>(a(),$(F(t.value),{class:I(["VPLink",{link:s.href,"vp-external-link-icon":n.value,"no-icon":s.noIcon}]),href:s.href?i(_e)(s.href):void 0,target:s.target??(n.value?"_blank":void 0),rel:s.rel??(n.value?"noreferrer":void 0)},{default:f(()=>[u(s.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Dt={class:"VPLastUpdated"},Ft=["datetime"],Ut=h({__name:"VPDocFooterLastUpdated",setup(o){const{theme:e,page:t,lang:n}=L(),s=y(()=>new Date(t.value.lastUpdated)),r=y(()=>s.value.toISOString()),c=N("");return j(()=>{Z(()=>{var p,d,_;c.value=new Intl.DateTimeFormat((d=(p=e.value.lastUpdated)==null?void 0:p.formatOptions)!=null&&d.forceLocale?n.value:void 0,((_=e.value.lastUpdated)==null?void 0:_.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(s.value)})}),(p,d)=>{var _;return a(),l("p",Dt,[O(T(((_=i(e).lastUpdated)==null?void 0:_.text)||i(e).lastUpdatedText||"Last updated")+": ",1),v("time",{datetime:r.value},T(c.value),9,Ft)])}}}),Rt=g(Ut,[["__scopeId","data-v-475f71b8"]]),zt={key:0,class:"VPDocFooter"},jt={key:0,class:"edit-info"},Gt={key:0,class:"edit-link"},Kt={key:1,class:"last-updated"},Wt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},qt={class:"pager"},Jt=["innerHTML"],Yt=["innerHTML"],Xt={class:"pager"},Qt=["innerHTML"],Zt=["innerHTML"],xt=h({__name:"VPDocFooter",setup(o){const{theme:e,page:t,frontmatter:n}=L(),s=Bt(),r=Ht(),c=y(()=>e.value.editLink&&n.value.editLink!==!1),p=y(()=>t.value.lastUpdated),d=y(()=>c.value||p.value||r.value.prev||r.value.next);return(_,V)=>{var b,P,S,E;return d.value?(a(),l("footer",zt,[u(_.$slots,"doc-footer-before",{},void 0,!0),c.value||p.value?(a(),l("div",jt,[c.value?(a(),l("div",Gt,[k(H,{class:"edit-link-button",href:i(s).url,"no-icon":!0},{default:f(()=>[V[0]||(V[0]=v("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),O(" "+T(i(s).text),1)]),_:1},8,["href"])])):m("",!0),p.value?(a(),l("div",Kt,[k(Rt)])):m("",!0)])):m("",!0),(b=i(r).prev)!=null&&b.link||(P=i(r).next)!=null&&P.link?(a(),l("nav",Wt,[V[1]||(V[1]=v("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),v("div",qt,[(S=i(r).prev)!=null&&S.link?(a(),$(H,{key:0,class:"pager-link prev",href:i(r).prev.link},{default:f(()=>{var C;return[v("span",{class:"desc",innerHTML:((C=i(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,Jt),v("span",{class:"title",innerHTML:i(r).prev.text},null,8,Yt)]}),_:1},8,["href"])):m("",!0)]),v("div",Xt,[(E=i(r).next)!=null&&E.link?(a(),$(H,{key:0,class:"pager-link next",href:i(r).next.link},{default:f(()=>{var C;return[v("span",{class:"desc",innerHTML:((C=i(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,Qt),v("span",{class:"title",innerHTML:i(r).next.text},null,8,Zt)]}),_:1},8,["href"])):m("",!0)])])):m("",!0)])):m("",!0)}}}),en=g(xt,[["__scopeId","data-v-4f9813fa"]]),tn={class:"container"},nn={class:"aside-container"},sn={class:"aside-content"},on={class:"content"},an={class:"content-container"},rn={class:"main"},ln=h({__name:"VPDoc",setup(o){const{theme:e}=L(),t=ee(),{hasSidebar:n,hasAside:s,leftAside:r}=U(),c=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(p,d)=>{const _=K("Content");return a(),l("div",{class:I(["VPDoc",{"has-sidebar":i(n),"has-aside":i(s)}])},[u(p.$slots,"doc-top",{},void 0,!0),v("div",tn,[i(s)?(a(),l("div",{key:0,class:I(["aside",{"left-aside":i(r)}])},[d[0]||(d[0]=v("div",{class:"aside-curtain"},null,-1)),v("div",nn,[v("div",sn,[k(At,null,{"aside-top":f(()=>[u(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[u(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[u(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[u(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[u(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[u(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):m("",!0),v("div",on,[v("div",an,[u(p.$slots,"doc-before",{},void 0,!0),v("main",rn,[k(_,{class:I(["vp-doc",[c.value,i(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),k(en,null,{"doc-footer-before":f(()=>[u(p.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),u(p.$slots,"doc-after",{},void 0,!0)])])]),u(p.$slots,"doc-bottom",{},void 0,!0)],2)}}}),cn=g(ln,[["__scopeId","data-v-83890dd9"]]),un=h({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(o){const e=o,t=y(()=>e.href&&Ve.test(e.href)),n=y(()=>e.tag||e.href?"a":"button");return(s,r)=>(a(),$(F(n.value),{class:I(["VPButton",[s.size,s.theme]]),href:s.href?i(_e)(s.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:f(()=>[O(T(s.text),1)]),_:1},8,["class","href","target","rel"]))}}),dn=g(un,[["__scopeId","data-v-14206e74"]]),vn=["src","alt"],pn=h({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(o){return(e,t)=>{const n=K("VPImage",!0);return e.image?(a(),l(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),l("img",z({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:i(pe)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,vn)):(a(),l(M,{key:1},[k(n,z({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),k(n,z({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):m("",!0)}}}),Q=g(pn,[["__scopeId","data-v-35a7d0b8"]]),fn={class:"container"},mn={class:"main"},hn={key:0,class:"name"},_n=["innerHTML"],bn=["innerHTML"],kn=["innerHTML"],gn={key:0,class:"actions"},$n={key:0,class:"image"},yn={class:"image-container"},Pn=h({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(o){const e=q("hero-image-slot-exists");return(t,n)=>(a(),l("div",{class:I(["VPHero",{"has-image":t.image||i(e)}])},[v("div",fn,[v("div",mn,[u(t.$slots,"home-hero-info-before",{},void 0,!0),u(t.$slots,"home-hero-info",{},()=>[t.name?(a(),l("h1",hn,[v("span",{innerHTML:t.name,class:"clip"},null,8,_n)])):m("",!0),t.text?(a(),l("p",{key:1,innerHTML:t.text,class:"text"},null,8,bn)):m("",!0),t.tagline?(a(),l("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,kn)):m("",!0)],!0),u(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),l("div",gn,[(a(!0),l(M,null,A(t.actions,s=>(a(),l("div",{key:s.link,class:"action"},[k(dn,{tag:"a",size:"medium",theme:s.theme,text:s.text,href:s.link,target:s.target,rel:s.rel},null,8,["theme","text","href","target","rel"])]))),128))])):m("",!0),u(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||i(e)?(a(),l("div",$n,[v("div",yn,[n[0]||(n[0]=v("div",{class:"image-bg"},null,-1)),u(t.$slots,"home-hero-image",{},()=>[t.image?(a(),$(Q,{key:0,class:"image-src",image:t.image},null,8,["image"])):m("",!0)],!0)])])):m("",!0)])],2))}}),Sn=g(Pn,[["__scopeId","data-v-955009fc"]]),Vn=h({__name:"VPHomeHero",setup(o){const{frontmatter:e}=L();return(t,n)=>i(e).hero?(a(),$(Sn,{key:0,class:"VPHomeHero",name:i(e).hero.name,text:i(e).hero.text,tagline:i(e).hero.tagline,image:i(e).hero.image,actions:i(e).hero.actions},{"home-hero-info-before":f(()=>[u(t.$slots,"home-hero-info-before")]),"home-hero-info":f(()=>[u(t.$slots,"home-hero-info")]),"home-hero-info-after":f(()=>[u(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":f(()=>[u(t.$slots,"home-hero-actions-after")]),"home-hero-image":f(()=>[u(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):m("",!0)}}),Ln={class:"box"},Tn={key:0,class:"icon"},Nn=["innerHTML"],wn=["innerHTML"],In=["innerHTML"],Mn={key:4,class:"link-text"},En={class:"link-text-value"},Cn=h({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(o){return(e,t)=>(a(),$(H,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:f(()=>[v("article",Ln,[typeof e.icon=="object"&&e.icon.wrap?(a(),l("div",Tn,[k(Q,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),$(Q,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),l("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Nn)):m("",!0),v("h2",{class:"title",innerHTML:e.title},null,8,wn),e.details?(a(),l("p",{key:3,class:"details",innerHTML:e.details},null,8,In)):m("",!0),e.linkText?(a(),l("div",Mn,[v("p",En,[O(T(e.linkText)+" ",1),t[0]||(t[0]=v("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):m("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),An=g(Cn,[["__scopeId","data-v-f5e9645b"]]),Bn={key:0,class:"VPFeatures"},Hn={class:"container"},On={class:"items"},Dn=h({__name:"VPFeatures",props:{features:{}},setup(o){const e=o,t=y(()=>{const n=e.features.length;if(n){if(n===2)return"grid-2";if(n===3)return"grid-3";if(n%3===0)return"grid-6";if(n>3)return"grid-4"}else return});return(n,s)=>n.features?(a(),l("div",Bn,[v("div",Hn,[v("div",On,[(a(!0),l(M,null,A(n.features,r=>(a(),l("div",{key:r.title,class:I(["item",[t.value]])},[k(An,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel,target:r.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):m("",!0)}}),Fn=g(Dn,[["__scopeId","data-v-d0a190d7"]]),Un=h({__name:"VPHomeFeatures",setup(o){const{frontmatter:e}=L();return(t,n)=>i(e).features?(a(),$(Fn,{key:0,class:"VPHomeFeatures",features:i(e).features},null,8,["features"])):m("",!0)}}),Rn=h({__name:"VPHomeContent",setup(o){const{width:e}=Ke({initialWidth:0,includeScrollbar:!1});return(t,n)=>(a(),l("div",{class:"vp-doc container",style:Le(i(e)?{"--vp-offset":`calc(50% - ${i(e)/2}px)`}:{})},[u(t.$slots,"default",{},void 0,!0)],4))}}),zn=g(Rn,[["__scopeId","data-v-7a48a447"]]),jn={class:"VPHome"},Gn=h({__name:"VPHome",setup(o){const{frontmatter:e}=L();return(t,n)=>{const s=K("Content");return a(),l("div",jn,[u(t.$slots,"home-hero-before",{},void 0,!0),k(Vn,null,{"home-hero-info-before":f(()=>[u(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[u(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[u(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[u(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[u(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),u(t.$slots,"home-hero-after",{},void 0,!0),u(t.$slots,"home-features-before",{},void 0,!0),k(Un),u(t.$slots,"home-features-after",{},void 0,!0),i(e).markdownStyles!==!1?(a(),$(zn,{key:0},{default:f(()=>[k(s)]),_:1})):(a(),$(s,{key:1}))])}}}),Kn=g(Gn,[["__scopeId","data-v-cbb6ec48"]]),Wn={},qn={class:"VPPage"};function Jn(o,e){const t=K("Content");return a(),l("div",qn,[u(o.$slots,"page-top"),k(t),u(o.$slots,"page-bottom")])}const Yn=g(Wn,[["render",Jn]]),Xn=h({__name:"VPContent",setup(o){const{page:e,frontmatter:t}=L(),{hasSidebar:n}=U();return(s,r)=>(a(),l("div",{class:I(["VPContent",{"has-sidebar":i(n),"is-home":i(t).layout==="home"}]),id:"VPContent"},[i(e).isNotFound?u(s.$slots,"not-found",{key:0},()=>[k(ft)],!0):i(t).layout==="page"?(a(),$(Yn,{key:1},{"page-top":f(()=>[u(s.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[u(s.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(t).layout==="home"?(a(),$(Kn,{key:2},{"home-hero-before":f(()=>[u(s.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[u(s.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[u(s.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[u(s.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[u(s.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[u(s.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[u(s.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[u(s.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[u(s.$slots,"home-features-after",{},void 0,!0)]),_:3})):i(t).layout&&i(t).layout!=="doc"?(a(),$(F(i(t).layout),{key:3})):(a(),$(cn,{key:4},{"doc-top":f(()=>[u(s.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[u(s.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":f(()=>[u(s.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[u(s.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[u(s.$slots,"doc-after",{},void 0,!0)]),"aside-top":f(()=>[u(s.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":f(()=>[u(s.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[u(s.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[u(s.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[u(s.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":f(()=>[u(s.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Qn=g(Xn,[["__scopeId","data-v-91765379"]]),Zn={class:"container"},xn=["innerHTML"],es=["innerHTML"],ts=h({__name:"VPFooter",setup(o){const{theme:e,frontmatter:t}=L(),{hasSidebar:n}=U();return(s,r)=>i(e).footer&&i(t).footer!==!1?(a(),l("footer",{key:0,class:I(["VPFooter",{"has-sidebar":i(n)}])},[v("div",Zn,[i(e).footer.message?(a(),l("p",{key:0,class:"message",innerHTML:i(e).footer.message},null,8,xn)):m("",!0),i(e).footer.copyright?(a(),l("p",{key:1,class:"copyright",innerHTML:i(e).footer.copyright},null,8,es)):m("",!0)])],2)):m("",!0)}}),ns=g(ts,[["__scopeId","data-v-c970a860"]]);function ss(){const{theme:o,frontmatter:e}=L(),t=Se([]),n=y(()=>t.value.length>0);return x(()=>{t.value=be(e.value.outline??o.value.outline)}),{headers:t,hasLocalNav:n}}const os={class:"menu-text"},as={class:"header"},rs={class:"outline"},is=h({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(o){const e=o,{theme:t}=L(),n=N(!1),s=N(0),r=N(),c=N();function p(b){var P;(P=r.value)!=null&&P.contains(b.target)||(n.value=!1)}D(n,b=>{if(b){document.addEventListener("click",p);return}document.removeEventListener("click",p)}),le("Escape",()=>{n.value=!1}),x(()=>{n.value=!1});function d(){n.value=!n.value,s.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function _(b){b.target.classList.contains("outline-link")&&(c.value&&(c.value.style.transition="none"),Te(()=>{n.value=!1}))}function V(){n.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(b,P)=>(a(),l("div",{class:"VPLocalNavOutlineDropdown",style:Le({"--vp-vh":s.value+"px"}),ref_key:"main",ref:r},[b.headers.length>0?(a(),l("button",{key:0,onClick:d,class:I({open:n.value})},[v("span",os,T(i(Ee)(i(t))),1),P[0]||(P[0]=v("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(a(),l("button",{key:1,onClick:V},T(i(t).returnToTopLabel||"Return to top"),1)),k(ve,{name:"flyout"},{default:f(()=>[n.value?(a(),l("div",{key:0,ref_key:"items",ref:c,class:"items",onClick:_},[v("div",as,[v("a",{class:"top-link",href:"#",onClick:V},T(i(t).returnToTopLabel||"Return to top"),1)]),v("div",rs,[k(Ce,{headers:b.headers},null,8,["headers"])])],512)):m("",!0)]),_:1})],4))}}),ls=g(is,[["__scopeId","data-v-bc9dc845"]]),cs={class:"container"},us=["aria-expanded"],ds={class:"menu-text"},vs=h({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(o){const{theme:e,frontmatter:t}=L(),{hasSidebar:n}=U(),{headers:s}=ss(),{y:r}=Ne(),c=N(0);j(()=>{c.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),x(()=>{s.value=be(t.value.outline??e.value.outline)});const p=y(()=>s.value.length===0),d=y(()=>p.value&&!n.value),_=y(()=>({VPLocalNav:!0,"has-sidebar":n.value,empty:p.value,fixed:d.value}));return(V,b)=>i(t).layout!=="home"&&(!d.value||i(r)>=c.value)?(a(),l("div",{key:0,class:I(_.value)},[v("div",cs,[i(n)?(a(),l("button",{key:0,class:"menu","aria-expanded":V.open,"aria-controls":"VPSidebarNav",onClick:b[0]||(b[0]=P=>V.$emit("open-menu"))},[b[1]||(b[1]=v("span",{class:"vpi-align-left menu-icon"},null,-1)),v("span",ds,T(i(e).sidebarMenuLabel||"Menu"),1)],8,us)):m("",!0),k(ls,{headers:i(s),navHeight:c.value},null,8,["headers","navHeight"])])],2)):m("",!0)}}),ps=g(vs,[["__scopeId","data-v-070ab83d"]]);function fs(){const o=N(!1);function e(){o.value=!0,window.addEventListener("resize",s)}function t(){o.value=!1,window.removeEventListener("resize",s)}function n(){o.value?t():e()}function s(){window.outerWidth>=768&&t()}const r=ee();return D(()=>r.path,t),{isScreenOpen:o,openScreen:e,closeScreen:t,toggleScreen:n}}const ms={},hs={class:"VPSwitch",type:"button",role:"switch"},_s={class:"check"},bs={key:0,class:"icon"};function ks(o,e){return a(),l("button",hs,[v("span",_s,[o.$slots.default?(a(),l("span",bs,[u(o.$slots,"default",{},void 0,!0)])):m("",!0)])])}const gs=g(ms,[["render",ks],["__scopeId","data-v-4a1c76db"]]),$s=h({__name:"VPSwitchAppearance",setup(o){const{isDark:e,theme:t}=L(),n=q("toggle-appearance",()=>{e.value=!e.value}),s=N("");return me(()=>{s.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(r,c)=>(a(),$(gs,{title:s.value,class:"VPSwitchAppearance","aria-checked":i(e),onClick:i(n)},{default:f(()=>c[0]||(c[0]=[v("span",{class:"vpi-sun sun"},null,-1),v("span",{class:"vpi-moon moon"},null,-1)])),_:1},8,["title","aria-checked","onClick"]))}}),ke=g($s,[["__scopeId","data-v-e40a8bb6"]]),ys={key:0,class:"VPNavBarAppearance"},Ps=h({__name:"VPNavBarAppearance",setup(o){const{site:e}=L();return(t,n)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(a(),l("div",ys,[k(ke)])):m("",!0)}}),Ss=g(Ps,[["__scopeId","data-v-af096f4a"]]),ge=N();let Ae=!1,re=0;function Vs(o){const e=N(!1);if(te){!Ae&&Ls(),re++;const t=D(ge,n=>{var s,r,c;n===o.el.value||(s=o.el.value)!=null&&s.contains(n)?(e.value=!0,(r=o.onFocus)==null||r.call(o)):(e.value=!1,(c=o.onBlur)==null||c.call(o))});fe(()=>{t(),re--,re||Ts()})}return We(e)}function Ls(){document.addEventListener("focusin",Be),Ae=!0,ge.value=document.activeElement}function Ts(){document.removeEventListener("focusin",Be)}function Be(){ge.value=document.activeElement}const Ns={class:"VPMenuLink"},ws=h({__name:"VPMenuLink",props:{item:{}},setup(o){const{page:e}=L();return(t,n)=>(a(),l("div",Ns,[k(H,{class:I({active:i(G)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:f(()=>[O(T(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),ne=g(ws,[["__scopeId","data-v-8b74d055"]]),Is={class:"VPMenuGroup"},Ms={key:0,class:"title"},Es=h({__name:"VPMenuGroup",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),l("div",Is,[e.text?(a(),l("p",Ms,T(e.text),1)):m("",!0),(a(!0),l(M,null,A(e.items,n=>(a(),l(M,null,["link"in n?(a(),$(ne,{key:0,item:n},null,8,["item"])):m("",!0)],64))),256))]))}}),Cs=g(Es,[["__scopeId","data-v-48c802d0"]]),As={class:"VPMenu"},Bs={key:0,class:"items"},Hs=h({__name:"VPMenu",props:{items:{}},setup(o){return(e,t)=>(a(),l("div",As,[e.items?(a(),l("div",Bs,[(a(!0),l(M,null,A(e.items,n=>(a(),l(M,{key:JSON.stringify(n)},["link"in n?(a(),$(ne,{key:0,item:n},null,8,["item"])):"component"in n?(a(),$(F(n.component),z({key:1,ref_for:!0},n.props),null,16)):(a(),$(Cs,{key:2,text:n.text,items:n.items},null,8,["text","items"]))],64))),128))])):m("",!0),u(e.$slots,"default",{},void 0,!0)]))}}),Os=g(Hs,[["__scopeId","data-v-7dd3104a"]]),Ds=["aria-expanded","aria-label"],Fs={key:0,class:"text"},Us=["innerHTML"],Rs={key:1,class:"vpi-more-horizontal icon"},zs={class:"menu"},js=h({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(o){const e=N(!1),t=N();Vs({el:t,onBlur:n});function n(){e.value=!1}return(s,r)=>(a(),l("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:r[1]||(r[1]=c=>e.value=!0),onMouseleave:r[2]||(r[2]=c=>e.value=!1)},[v("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":s.label,onClick:r[0]||(r[0]=c=>e.value=!e.value)},[s.button||s.icon?(a(),l("span",Fs,[s.icon?(a(),l("span",{key:0,class:I([s.icon,"option-icon"])},null,2)):m("",!0),s.button?(a(),l("span",{key:1,innerHTML:s.button},null,8,Us)):m("",!0),r[3]||(r[3]=v("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(a(),l("span",Rs))],8,Ds),v("div",zs,[k(Os,{items:s.items},{default:f(()=>[u(s.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),$e=g(js,[["__scopeId","data-v-e5380155"]]),Gs=["href","aria-label","innerHTML"],Ks=h({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(o){const e=o,t=y(()=>typeof e.icon=="object"?e.icon.svg:``);return(n,s)=>(a(),l("a",{class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,Gs))}}),Ws=g(Ks,[["__scopeId","data-v-717b8b75"]]),qs={class:"VPSocialLinks"},Js=h({__name:"VPSocialLinks",props:{links:{}},setup(o){return(e,t)=>(a(),l("div",qs,[(a(!0),l(M,null,A(e.links,({link:n,icon:s,ariaLabel:r})=>(a(),$(Ws,{key:n,icon:s,link:n,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}}),se=g(Js,[["__scopeId","data-v-ee7a9424"]]),Ys={key:0,class:"group translations"},Xs={class:"trans-title"},Qs={key:1,class:"group"},Zs={class:"item appearance"},xs={class:"label"},eo={class:"appearance-action"},to={key:2,class:"group"},no={class:"item social-links"},so=h({__name:"VPNavBarExtra",setup(o){const{site:e,theme:t}=L(),{localeLinks:n,currentLang:s}=Y({correspondingLink:!0}),r=y(()=>n.value.length&&s.value.label||e.value.appearance||t.value.socialLinks);return(c,p)=>r.value?(a(),$($e,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:f(()=>[i(n).length&&i(s).label?(a(),l("div",Ys,[v("p",Xs,T(i(s).label),1),(a(!0),l(M,null,A(i(n),d=>(a(),$(ne,{key:d.link,item:d},null,8,["item"]))),128))])):m("",!0),i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(a(),l("div",Qs,[v("div",Zs,[v("p",xs,T(i(t).darkModeSwitchLabel||"Appearance"),1),v("div",eo,[k(ke)])])])):m("",!0),i(t).socialLinks?(a(),l("div",to,[v("div",no,[k(se,{class:"social-links-list",links:i(t).socialLinks},null,8,["links"])])])):m("",!0)]),_:1})):m("",!0)}}),oo=g(so,[["__scopeId","data-v-925effce"]]),ao=["aria-expanded"],ro=h({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(o){return(e,t)=>(a(),l("button",{type:"button",class:I(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=n=>e.$emit("click"))},t[1]||(t[1]=[v("span",{class:"container"},[v("span",{class:"top"}),v("span",{class:"middle"}),v("span",{class:"bottom"})],-1)]),10,ao))}}),io=g(ro,[["__scopeId","data-v-5dea55bf"]]),lo=["innerHTML"],co=h({__name:"VPNavBarMenuLink",props:{item:{}},setup(o){const{page:e}=L();return(t,n)=>(a(),$(H,{class:I({VPNavBarMenuLink:!0,active:i(G)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,noIcon:t.item.noIcon,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:f(()=>[v("span",{innerHTML:t.item.text},null,8,lo)]),_:1},8,["class","href","noIcon","target","rel"]))}}),uo=g(co,[["__scopeId","data-v-ed5ac1f6"]]),vo=h({__name:"VPNavBarMenuGroup",props:{item:{}},setup(o){const e=o,{page:t}=L(),n=r=>"component"in r?!1:"link"in r?G(t.value.relativePath,r.link,!!e.item.activeMatch):r.items.some(n),s=y(()=>n(e.item));return(r,c)=>(a(),$($e,{class:I({VPNavBarMenuGroup:!0,active:i(G)(i(t).relativePath,r.item.activeMatch,!!r.item.activeMatch)||s.value}),button:r.item.text,items:r.item.items},null,8,["class","button","items"]))}}),po={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},fo=h({__name:"VPNavBarMenu",setup(o){const{theme:e}=L();return(t,n)=>i(e).nav?(a(),l("nav",po,[n[0]||(n[0]=v("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(a(!0),l(M,null,A(i(e).nav,s=>(a(),l(M,{key:JSON.stringify(s)},["link"in s?(a(),$(uo,{key:0,item:s},null,8,["item"])):"component"in s?(a(),$(F(s.component),z({key:1,ref_for:!0},s.props),null,16)):(a(),$(vo,{key:2,item:s},null,8,["item"]))],64))),128))])):m("",!0)}}),mo=g(fo,[["__scopeId","data-v-e6d46098"]]);function ho(o){const{localeIndex:e,theme:t}=L();function n(s){var E,C,w;const r=s.split("."),c=(E=t.value.search)==null?void 0:E.options,p=c&&typeof c=="object",d=p&&((w=(C=c.locales)==null?void 0:C[e.value])==null?void 0:w.translations)||null,_=p&&c.translations||null;let V=d,b=_,P=o;const S=r.pop();for(const B of r){let R=null;const W=P==null?void 0:P[B];W&&(R=P=W);const oe=b==null?void 0:b[B];oe&&(R=b=oe);const ae=V==null?void 0:V[B];ae&&(R=V=ae),W||(P=R),oe||(b=R),ae||(V=R)}return(V==null?void 0:V[S])??(b==null?void 0:b[S])??(P==null?void 0:P[S])??""}return n}const _o=["aria-label"],bo={class:"DocSearch-Button-Container"},ko={class:"DocSearch-Button-Placeholder"},ye=h({__name:"VPNavBarSearchButton",setup(o){const t=ho({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(n,s)=>(a(),l("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":i(t)("button.buttonAriaLabel")},[v("span",bo,[s[0]||(s[0]=v("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),v("span",ko,T(i(t)("button.buttonText")),1)]),s[1]||(s[1]=v("span",{class:"DocSearch-Button-Keys"},[v("kbd",{class:"DocSearch-Button-Key"}),v("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,_o))}}),go={class:"VPNavBarSearch"},$o={id:"local-search"},yo={key:1,id:"docsearch"},Po=h({__name:"VPNavBarSearch",setup(o){const e=qe(()=>Je(()=>import("./VPLocalSearchBox.BFjKS_uq.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:n}=L(),s=N(!1),r=N(!1);j(()=>{});function c(){s.value||(s.value=!0,setTimeout(p,16))}function p(){const b=new Event("keydown");b.key="k",b.metaKey=!0,window.dispatchEvent(b),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||p()},16)}function d(b){const P=b.target,S=P.tagName;return P.isContentEditable||S==="INPUT"||S==="SELECT"||S==="TEXTAREA"}const _=N(!1);le("k",b=>{(b.ctrlKey||b.metaKey)&&(b.preventDefault(),_.value=!0)}),le("/",b=>{d(b)||(b.preventDefault(),_.value=!0)});const V="local";return(b,P)=>{var S;return a(),l("div",go,[i(V)==="local"?(a(),l(M,{key:0},[_.value?(a(),$(i(e),{key:0,onClose:P[0]||(P[0]=E=>_.value=!1)})):m("",!0),v("div",$o,[k(ye,{onClick:P[1]||(P[1]=E=>_.value=!0)})])],64)):i(V)==="algolia"?(a(),l(M,{key:1},[s.value?(a(),$(i(t),{key:0,algolia:((S=i(n).search)==null?void 0:S.options)??i(n).algolia,onVnodeBeforeMount:P[2]||(P[2]=E=>r.value=!0)},null,8,["algolia"])):m("",!0),r.value?m("",!0):(a(),l("div",yo,[k(ye,{onClick:c})]))],64)):m("",!0)])}}}),So=h({__name:"VPNavBarSocialLinks",setup(o){const{theme:e}=L();return(t,n)=>i(e).socialLinks?(a(),$(se,{key:0,class:"VPNavBarSocialLinks",links:i(e).socialLinks},null,8,["links"])):m("",!0)}}),Vo=g(So,[["__scopeId","data-v-164c457f"]]),Lo=["href","rel","target"],To={key:1},No={key:2},wo=h({__name:"VPNavBarTitle",setup(o){const{site:e,theme:t}=L(),{hasSidebar:n}=U(),{currentLang:s}=Y(),r=y(()=>{var d;return typeof t.value.logoLink=="string"?t.value.logoLink:(d=t.value.logoLink)==null?void 0:d.link}),c=y(()=>{var d;return typeof t.value.logoLink=="string"||(d=t.value.logoLink)==null?void 0:d.rel}),p=y(()=>{var d;return typeof t.value.logoLink=="string"||(d=t.value.logoLink)==null?void 0:d.target});return(d,_)=>(a(),l("div",{class:I(["VPNavBarTitle",{"has-sidebar":i(n)}])},[v("a",{class:"title",href:r.value??i(_e)(i(s).link),rel:c.value,target:p.value},[u(d.$slots,"nav-bar-title-before",{},void 0,!0),i(t).logo?(a(),$(Q,{key:0,class:"logo",image:i(t).logo},null,8,["image"])):m("",!0),i(t).siteTitle?(a(),l("span",To,T(i(t).siteTitle),1)):i(t).siteTitle===void 0?(a(),l("span",No,T(i(e).title),1)):m("",!0),u(d.$slots,"nav-bar-title-after",{},void 0,!0)],8,Lo)],2))}}),Io=g(wo,[["__scopeId","data-v-28a961f9"]]),Mo={class:"items"},Eo={class:"title"},Co=h({__name:"VPNavBarTranslations",setup(o){const{theme:e}=L(),{localeLinks:t,currentLang:n}=Y({correspondingLink:!0});return(s,r)=>i(t).length&&i(n).label?(a(),$($e,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:i(e).langMenuLabel||"Change language"},{default:f(()=>[v("div",Mo,[v("p",Eo,T(i(n).label),1),(a(!0),l(M,null,A(i(t),c=>(a(),$(ne,{key:c.link,item:c},null,8,["item"]))),128))])]),_:1},8,["label"])):m("",!0)}}),Ao=g(Co,[["__scopeId","data-v-c80d9ad0"]]),Bo={class:"wrapper"},Ho={class:"container"},Oo={class:"title"},Do={class:"content"},Fo={class:"content-body"},Uo=h({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(o){const e=o,{y:t}=Ne(),{hasSidebar:n}=U(),{frontmatter:s}=L(),r=N({});return me(()=>{r.value={"has-sidebar":n.value,home:s.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(c,p)=>(a(),l("div",{class:I(["VPNavBar",r.value])},[v("div",Bo,[v("div",Ho,[v("div",Oo,[k(Io,null,{"nav-bar-title-before":f(()=>[u(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[u(c.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),v("div",Do,[v("div",Fo,[u(c.$slots,"nav-bar-content-before",{},void 0,!0),k(Po,{class:"search"}),k(mo,{class:"menu"}),k(Ao,{class:"translations"}),k(Ss,{class:"appearance"}),k(Vo,{class:"social-links"}),k(oo,{class:"extra"}),u(c.$slots,"nav-bar-content-after",{},void 0,!0),k(io,{class:"hamburger",active:c.isScreenOpen,onClick:p[0]||(p[0]=d=>c.$emit("toggle-screen"))},null,8,["active"])])])])]),p[1]||(p[1]=v("div",{class:"divider"},[v("div",{class:"divider-line"})],-1))],2))}}),Ro=g(Uo,[["__scopeId","data-v-822684d1"]]),zo={key:0,class:"VPNavScreenAppearance"},jo={class:"text"},Go=h({__name:"VPNavScreenAppearance",setup(o){const{site:e,theme:t}=L();return(n,s)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(a(),l("div",zo,[v("p",jo,T(i(t).darkModeSwitchLabel||"Appearance"),1),k(ke)])):m("",!0)}}),Ko=g(Go,[["__scopeId","data-v-ffb44008"]]),Wo=h({__name:"VPNavScreenMenuLink",props:{item:{}},setup(o){const e=q("close-screen");return(t,n)=>(a(),$(H,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:i(e),innerHTML:t.item.text},null,8,["href","target","rel","onClick","innerHTML"]))}}),qo=g(Wo,[["__scopeId","data-v-27d04aeb"]]),Jo=h({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(o){const e=q("close-screen");return(t,n)=>(a(),$(H,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:i(e)},{default:f(()=>[O(T(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),He=g(Jo,[["__scopeId","data-v-7179dbb7"]]),Yo={class:"VPNavScreenMenuGroupSection"},Xo={key:0,class:"title"},Qo=h({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),l("div",Yo,[e.text?(a(),l("p",Xo,T(e.text),1)):m("",!0),(a(!0),l(M,null,A(e.items,n=>(a(),$(He,{key:n.text,item:n},null,8,["item"]))),128))]))}}),Zo=g(Qo,[["__scopeId","data-v-4b8941ac"]]),xo=["aria-controls","aria-expanded"],ea=["innerHTML"],ta=["id"],na={key:0,class:"item"},sa={key:1,class:"item"},oa={key:2,class:"group"},aa=h({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(o){const e=o,t=N(!1),n=y(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function s(){t.value=!t.value}return(r,c)=>(a(),l("div",{class:I(["VPNavScreenMenuGroup",{open:t.value}])},[v("button",{class:"button","aria-controls":n.value,"aria-expanded":t.value,onClick:s},[v("span",{class:"button-text",innerHTML:r.text},null,8,ea),c[0]||(c[0]=v("span",{class:"vpi-plus button-icon"},null,-1))],8,xo),v("div",{id:n.value,class:"items"},[(a(!0),l(M,null,A(r.items,p=>(a(),l(M,{key:JSON.stringify(p)},["link"in p?(a(),l("div",na,[k(He,{item:p},null,8,["item"])])):"component"in p?(a(),l("div",sa,[(a(),$(F(p.component),z({ref_for:!0},p.props,{"screen-menu":""}),null,16))])):(a(),l("div",oa,[k(Zo,{text:p.text,items:p.items},null,8,["text","items"])]))],64))),128))],8,ta)],2))}}),ra=g(aa,[["__scopeId","data-v-875057a5"]]),ia={key:0,class:"VPNavScreenMenu"},la=h({__name:"VPNavScreenMenu",setup(o){const{theme:e}=L();return(t,n)=>i(e).nav?(a(),l("nav",ia,[(a(!0),l(M,null,A(i(e).nav,s=>(a(),l(M,{key:JSON.stringify(s)},["link"in s?(a(),$(qo,{key:0,item:s},null,8,["item"])):"component"in s?(a(),$(F(s.component),z({key:1,ref_for:!0},s.props,{"screen-menu":""}),null,16)):(a(),$(ra,{key:2,text:s.text||"",items:s.items},null,8,["text","items"]))],64))),128))])):m("",!0)}}),ca=h({__name:"VPNavScreenSocialLinks",setup(o){const{theme:e}=L();return(t,n)=>i(e).socialLinks?(a(),$(se,{key:0,class:"VPNavScreenSocialLinks",links:i(e).socialLinks},null,8,["links"])):m("",!0)}}),ua={class:"list"},da=h({__name:"VPNavScreenTranslations",setup(o){const{localeLinks:e,currentLang:t}=Y({correspondingLink:!0}),n=N(!1);function s(){n.value=!n.value}return(r,c)=>i(e).length&&i(t).label?(a(),l("div",{key:0,class:I(["VPNavScreenTranslations",{open:n.value}])},[v("button",{class:"title",onClick:s},[c[0]||(c[0]=v("span",{class:"vpi-languages icon lang"},null,-1)),O(" "+T(i(t).label)+" ",1),c[1]||(c[1]=v("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),v("ul",ua,[(a(!0),l(M,null,A(i(e),p=>(a(),l("li",{key:p.link,class:"item"},[k(H,{class:"link",href:p.link},{default:f(()=>[O(T(p.text),1)]),_:2},1032,["href"])]))),128))])],2)):m("",!0)}}),va=g(da,[["__scopeId","data-v-362991c2"]]),pa={class:"container"},fa=h({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(o){const e=N(null),t=we(te?document.body:null);return(n,s)=>(a(),$(ve,{name:"fade",onEnter:s[0]||(s[0]=r=>t.value=!0),onAfterLeave:s[1]||(s[1]=r=>t.value=!1)},{default:f(()=>[n.open?(a(),l("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[v("div",pa,[u(n.$slots,"nav-screen-content-before",{},void 0,!0),k(la,{class:"menu"}),k(va,{class:"translations"}),k(Ko,{class:"appearance"}),k(ca,{class:"social-links"}),u(n.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):m("",!0)]),_:3}))}}),ma=g(fa,[["__scopeId","data-v-833aabba"]]),ha={key:0,class:"VPNav"},_a=h({__name:"VPNav",setup(o){const{isScreenOpen:e,closeScreen:t,toggleScreen:n}=fs(),{frontmatter:s}=L(),r=y(()=>s.value.navbar!==!1);return he("close-screen",t),Z(()=>{te&&document.documentElement.classList.toggle("hide-nav",!r.value)}),(c,p)=>r.value?(a(),l("header",ha,[k(Ro,{"is-screen-open":i(e),onToggleScreen:i(n)},{"nav-bar-title-before":f(()=>[u(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[u(c.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[u(c.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[u(c.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),k(ma,{open:i(e)},{"nav-screen-content-before":f(()=>[u(c.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[u(c.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):m("",!0)}}),ba=g(_a,[["__scopeId","data-v-f1e365da"]]),ka=["role","tabindex"],ga={key:1,class:"items"},$a=h({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(o){const e=o,{collapsed:t,collapsible:n,isLink:s,isActiveLink:r,hasActiveLink:c,hasChildren:p,toggle:d}=bt(y(()=>e.item)),_=y(()=>p.value?"section":"div"),V=y(()=>s.value?"a":"div"),b=y(()=>p.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),P=y(()=>s.value?void 0:"button"),S=y(()=>[[`level-${e.depth}`],{collapsible:n.value},{collapsed:t.value},{"is-link":s.value},{"is-active":r.value},{"has-active":c.value}]);function E(w){"key"in w&&w.key!=="Enter"||!e.item.link&&d()}function C(){e.item.link&&d()}return(w,B)=>{const R=K("VPSidebarItem",!0);return a(),$(F(_.value),{class:I(["VPSidebarItem",S.value])},{default:f(()=>[w.item.text?(a(),l("div",z({key:0,class:"item",role:P.value},Ye(w.item.items?{click:E,keydown:E}:{},!0),{tabindex:w.item.items&&0}),[B[1]||(B[1]=v("div",{class:"indicator"},null,-1)),w.item.link?(a(),$(H,{key:0,tag:V.value,class:"link",href:w.item.link,rel:w.item.rel,target:w.item.target},{default:f(()=>[(a(),$(F(b.value),{class:"text",innerHTML:w.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),$(F(b.value),{key:1,class:"text",innerHTML:w.item.text},null,8,["innerHTML"])),w.item.collapsed!=null&&w.item.items&&w.item.items.length?(a(),l("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:Xe(C,["enter"]),tabindex:"0"},B[0]||(B[0]=[v("span",{class:"vpi-chevron-right caret-icon"},null,-1)]),32)):m("",!0)],16,ka)):m("",!0),w.item.items&&w.item.items.length?(a(),l("div",ga,[w.depth<5?(a(!0),l(M,{key:0},A(w.item.items,W=>(a(),$(R,{key:W.text,item:W,depth:w.depth+1},null,8,["item","depth"]))),128)):m("",!0)])):m("",!0)]),_:1},8,["class"])}}}),ya=g($a,[["__scopeId","data-v-196b2e5f"]]),Pa=h({__name:"VPSidebarGroup",props:{items:{}},setup(o){const e=N(!0);let t=null;return j(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),Qe(()=>{t!=null&&(clearTimeout(t),t=null)}),(n,s)=>(a(!0),l(M,null,A(n.items,r=>(a(),l("div",{key:r.text,class:I(["group",{"no-transition":e.value}])},[k(ya,{item:r,depth:0},null,8,["item"])],2))),128))}}),Sa=g(Pa,[["__scopeId","data-v-9e426adc"]]),Va={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},La=h({__name:"VPSidebar",props:{open:{type:Boolean}},setup(o){const{sidebarGroups:e,hasSidebar:t}=U(),n=o,s=N(null),r=we(te?document.body:null);D([n,s],()=>{var p;n.open?(r.value=!0,(p=s.value)==null||p.focus()):r.value=!1},{immediate:!0,flush:"post"});const c=N(0);return D(e,()=>{c.value+=1},{deep:!0}),(p,d)=>i(t)?(a(),l("aside",{key:0,class:I(["VPSidebar",{open:p.open}]),ref_key:"navEl",ref:s,onClick:d[0]||(d[0]=Ze(()=>{},["stop"]))},[d[2]||(d[2]=v("div",{class:"curtain"},null,-1)),v("nav",Va,[d[1]||(d[1]=v("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),u(p.$slots,"sidebar-nav-before",{},void 0,!0),(a(),$(Sa,{items:i(e),key:c.value},null,8,["items"])),u(p.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):m("",!0)}}),Ta=g(La,[["__scopeId","data-v-18756405"]]),Na=h({__name:"VPSkipLink",setup(o){const e=ee(),t=N();D(()=>e.path,()=>t.value.focus());function n({target:s}){const r=document.getElementById(decodeURIComponent(s.hash).slice(1));if(r){const c=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",c)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",c),r.focus(),window.scrollTo(0,0)}}return(s,r)=>(a(),l(M,null,[v("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),v("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:n}," Skip to content ")],64))}}),wa=g(Na,[["__scopeId","data-v-c3508ec8"]]),Ia=h({__name:"Layout",setup(o){const{isOpen:e,open:t,close:n}=U(),s=ee();D(()=>s.path,n),_t(e,n);const{frontmatter:r}=L(),c=Ie(),p=y(()=>!!c["home-hero-image"]);return he("hero-image-slot-exists",p),(d,_)=>{const V=K("Content");return i(r).layout!==!1?(a(),l("div",{key:0,class:I(["Layout",i(r).pageClass])},[u(d.$slots,"layout-top",{},void 0,!0),k(wa),k(ot,{class:"backdrop",show:i(e),onClick:i(n)},null,8,["show","onClick"]),k(ba,null,{"nav-bar-title-before":f(()=>[u(d.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[u(d.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[u(d.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[u(d.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":f(()=>[u(d.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[u(d.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),k(ps,{open:i(e),onOpenMenu:i(t)},null,8,["open","onOpenMenu"]),k(Ta,{open:i(e)},{"sidebar-nav-before":f(()=>[u(d.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":f(()=>[u(d.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),k(Qn,null,{"page-top":f(()=>[u(d.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[u(d.$slots,"page-bottom",{},void 0,!0)]),"not-found":f(()=>[u(d.$slots,"not-found",{},void 0,!0)]),"home-hero-before":f(()=>[u(d.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[u(d.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[u(d.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[u(d.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[u(d.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[u(d.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[u(d.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[u(d.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[u(d.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":f(()=>[u(d.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[u(d.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[u(d.$slots,"doc-after",{},void 0,!0)]),"doc-top":f(()=>[u(d.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[u(d.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":f(()=>[u(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[u(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[u(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[u(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[u(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[u(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),k(ns),u(d.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),$(V,{key:1}))}}}),Ma=g(Ia,[["__scopeId","data-v-a9a9e638"]]),Ea={},Ca={class:"VPTeamPage"};function Aa(o,e){return a(),l("div",Ca,[u(o.$slots,"default")])}const Lr=g(Ea,[["render",Aa],["__scopeId","data-v-c2f8e101"]]),Ba={},Ha={class:"VPTeamPageTitle"},Oa={key:0,class:"title"},Da={key:1,class:"lead"};function Fa(o,e){return a(),l("div",Ha,[o.$slots.title?(a(),l("h1",Oa,[u(o.$slots,"title",{},void 0,!0)])):m("",!0),o.$slots.lead?(a(),l("p",Da,[u(o.$slots,"lead",{},void 0,!0)])):m("",!0)])}const Tr=g(Ba,[["render",Fa],["__scopeId","data-v-e277e15c"]]),Ua={},Ra={class:"VPTeamPageSection"},za={class:"title"},ja={key:0,class:"title-text"},Ga={key:0,class:"lead"},Ka={key:1,class:"members"};function Wa(o,e){return a(),l("section",Ra,[v("div",za,[e[0]||(e[0]=v("div",{class:"title-line"},null,-1)),o.$slots.title?(a(),l("h2",ja,[u(o.$slots,"title",{},void 0,!0)])):m("",!0)]),o.$slots.lead?(a(),l("p",Ga,[u(o.$slots,"lead",{},void 0,!0)])):m("",!0),o.$slots.members?(a(),l("div",Ka,[u(o.$slots,"members",{},void 0,!0)])):m("",!0)])}const Nr=g(Ua,[["render",Wa],["__scopeId","data-v-d43bc49d"]]),qa={class:"profile"},Ja={class:"avatar"},Ya=["src","alt"],Xa={class:"data"},Qa={class:"name"},Za={key:0,class:"affiliation"},xa={key:0,class:"title"},er={key:1,class:"at"},tr=["innerHTML"],nr={key:2,class:"links"},sr={key:0,class:"sp"},or=h({__name:"VPTeamMembersItem",props:{size:{default:"medium"},member:{}},setup(o){return(e,t)=>(a(),l("article",{class:I(["VPTeamMembersItem",[e.size]])},[v("div",qa,[v("figure",Ja,[v("img",{class:"avatar-img",src:e.member.avatar,alt:e.member.name},null,8,Ya)]),v("div",Xa,[v("h1",Qa,T(e.member.name),1),e.member.title||e.member.org?(a(),l("p",Za,[e.member.title?(a(),l("span",xa,T(e.member.title),1)):m("",!0),e.member.title&&e.member.org?(a(),l("span",er," @ ")):m("",!0),e.member.org?(a(),$(H,{key:2,class:I(["org",{link:e.member.orgLink}]),href:e.member.orgLink,"no-icon":""},{default:f(()=>[O(T(e.member.org),1)]),_:1},8,["class","href"])):m("",!0)])):m("",!0),e.member.desc?(a(),l("p",{key:1,class:"desc",innerHTML:e.member.desc},null,8,tr)):m("",!0),e.member.links?(a(),l("div",nr,[k(se,{links:e.member.links},null,8,["links"])])):m("",!0)])]),e.member.sponsor?(a(),l("div",sr,[k(H,{class:"sp-link",href:e.member.sponsor,"no-icon":""},{default:f(()=>[t[0]||(t[0]=v("span",{class:"vpi-heart sp-icon"},null,-1)),O(" "+T(e.member.actionText||"Sponsor"),1)]),_:1},8,["href"])])):m("",!0)],2))}}),ar=g(or,[["__scopeId","data-v-f9987cb6"]]),rr={class:"container"},ir=h({__name:"VPTeamMembers",props:{size:{default:"medium"},members:{}},setup(o){const e=o,t=y(()=>[e.size,`count-${e.members.length}`]);return(n,s)=>(a(),l("div",{class:I(["VPTeamMembers",t.value])},[v("div",rr,[(a(!0),l(M,null,A(n.members,r=>(a(),l("div",{key:r.name,class:"item"},[k(ar,{size:n.size,member:r},null,8,["size","member"])]))),128))])],2))}}),wr=g(ir,[["__scopeId","data-v-fba19bad"]]),lr={Layout:Ma,enhanceApp:({app:o})=>{o.component("Badge",tt)}},cr=o=>{if(typeof document>"u")return{stabilizeScrollPosition:s=>async(...r)=>s(...r)};const e=document.documentElement;return{stabilizeScrollPosition:n=>async(...s)=>{const r=n(...s),c=o.value;if(!c)return r;const p=c.offsetTop-e.scrollTop;return await Te(),e.scrollTop=c.offsetTop-p,r}}},Oe="vitepress:tabSharedState",J=typeof localStorage<"u"?localStorage:null,De="vitepress:tabsSharedState",ur=()=>{const o=J==null?void 0:J.getItem(De);if(o)try{return JSON.parse(o)}catch{}return{}},dr=o=>{J&&J.setItem(De,JSON.stringify(o))},vr=o=>{const e=xe({});D(()=>e.content,(t,n)=>{t&&n&&dr(t)},{deep:!0}),o.provide(Oe,e)},pr=(o,e)=>{const t=q(Oe);if(!t)throw new Error("[vitepress-plugin-tabs] TabsSharedState should be injected");j(()=>{t.content||(t.content=ur())});const n=N(),s=y({get(){var d;const c=e.value,p=o.value;if(c){const _=(d=t.content)==null?void 0:d[c];if(_&&p.includes(_))return _}else{const _=n.value;if(_)return _}return p[0]},set(c){const p=e.value;p?t.content&&(t.content[p]=c):n.value=c}});return{selected:s,select:c=>{s.value=c}}};let Pe=0;const fr=()=>(Pe++,""+Pe);function mr(){const o=Ie();return y(()=>{var n;const t=(n=o.default)==null?void 0:n.call(o);return t?t.filter(s=>typeof s.type=="object"&&"__name"in s.type&&s.type.__name==="PluginTabsTab"&&s.props).map(s=>{var r;return(r=s.props)==null?void 0:r.label}):[]})}const Fe="vitepress:tabSingleState",hr=o=>{he(Fe,o)},_r=()=>{const o=q(Fe);if(!o)throw new Error("[vitepress-plugin-tabs] TabsSingleState should be injected");return o},br={class:"plugin-tabs"},kr=["id","aria-selected","aria-controls","tabindex","onClick"],gr=h({__name:"PluginTabs",props:{sharedStateKey:{}},setup(o){const e=o,t=mr(),{selected:n,select:s}=pr(t,et(e,"sharedStateKey")),r=N(),{stabilizeScrollPosition:c}=cr(r),p=c(s),d=N([]),_=b=>{var E;const P=t.value.indexOf(n.value);let S;b.key==="ArrowLeft"?S=P>=1?P-1:t.value.length-1:b.key==="ArrowRight"&&(S=P(a(),l("div",br,[v("div",{ref_key:"tablist",ref:r,class:"plugin-tabs--tab-list",role:"tablist",onKeydown:_},[(a(!0),l(M,null,A(i(t),S=>(a(),l("button",{id:`tab-${S}-${i(V)}`,ref_for:!0,ref_key:"buttonRefs",ref:d,key:S,role:"tab",class:"plugin-tabs--tab","aria-selected":S===i(n),"aria-controls":`panel-${S}-${i(V)}`,tabindex:S===i(n)?0:-1,onClick:()=>i(p)(S)},T(S),9,kr))),128))],544),u(b.$slots,"default")]))}}),$r=["id","aria-labelledby"],yr=h({__name:"PluginTabsTab",props:{label:{}},setup(o){const{uid:e,selected:t}=_r();return(n,s)=>i(t)===n.label?(a(),l("div",{key:0,id:`panel-${n.label}-${i(e)}`,class:"plugin-tabs--content",role:"tabpanel",tabindex:"0","aria-labelledby":`tab-${n.label}-${i(e)}`},[u(n.$slots,"default",{},void 0,!0)],8,$r)):m("",!0)}}),Pr=g(yr,[["__scopeId","data-v-9b0d03d2"]]),Sr=o=>{vr(o),o.component("PluginTabs",gr),o.component("PluginTabsTab",Pr)},Ir={extends:lr,async enhanceApp({app:o,router:e,siteData:t}){if(Sr(o),typeof window<"u"){let n=function(){if(!(window.DOCUMENTER_NEWEST===void 0||window.DOCUMENTER_CURRENT_VERSION===void 0||window.DOCUMENTER_STABLE===void 0)&&window.DOCUMENTER_NEWEST===window.DOCUMENTER_CURRENT_VERSION){const s=window.location.href.replace(window.DOCUMENTER_CURRENT_VERSION,window.DOCUMENTER_STABLE);window.history.replaceState({additionalInformation:"URL rewritten to stable"},"DimensionalData",s);return}};D(()=>e.route.data.relativePath,n,{immediate:!0}),document.addEventListener("DOMContentLoaded",n)}}};export{Ir as R,Tr as V,Nr as a,wr as b,Lr as c,ho as d,L as u}; diff --git a/dev/assets/ecosystem.md.WWFq2H_K.js b/dev/assets/ecosystem.md.D_3LMuPR.js similarity index 97% rename from dev/assets/ecosystem.md.WWFq2H_K.js rename to dev/assets/ecosystem.md.D_3LMuPR.js index abe1f750..32c226ec 100644 --- a/dev/assets/ecosystem.md.WWFq2H_K.js +++ b/dev/assets/ecosystem.md.D_3LMuPR.js @@ -1 +1 @@ -import{V as r,a as i,b as o,c}from"./chunks/theme.C7U8FUUx.js";import{c as p,G as t,w as s,k as n,o as u,a}from"./chunks/framework.CEeYBNx8.js";const y=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"page"},"headers":[],"relativePath":"ecosystem.md","filePath":"ecosystem.md","lastUpdated":null}'),d={name:"ecosystem.md"},E=Object.assign(d,{setup(h){const l=[{avatar:"https://github.com/GeoRegionsEcosystem.png",name:"GeoRegions.jl",desc:"Defining Geographic Regions of Interest for Geospatial Data in Geoscience and Climate.",links:[{icon:"github",link:"https://github.com/SciML/DiffEqFlux.jl"}]}],g=[{avatar:"https://github.com/GeoRegionsEcosystem.png",name:"RegionGrids.jl",desc:"Extracting Gridded Data for a given GeoRegion",links:[{icon:"github",link:"https://github.com/GeoRegionsEcosystem/RegionGrids.jl"}]},{avatar:"https://github.com/GeoRegionsEcosystem.png",name:"LandSea.jl",desc:"Extensible Land-Sea Mask Datasets",links:[{icon:"github",link:"https://github.com/GeoRegionsEcosystem/LandSea.jl"}]}],m=[{avatar:"https://raw.githubusercontent.com/natgeo-wong/NASAPrecipitation.jl/main/src/logosmall.png",name:"NASAPrecipitation.jl",desc:"Downloading, Extracting and Analyzing NASA Satellite Precipitation Data",links:[{icon:"github",link:"https://github.com/GeoRegionsEcosystem/NASAPrecipitation.jl"}]},{avatar:"https://raw.githubusercontent.com/natgeo-wong/NASAPrecipitation.jl/main/src/logosmall.png",name:"ERA5Reanalysis.jl",desc:"Downloading, Extracting and Analyzing ERA5 Reanalysis Data",links:[{icon:"github",link:"https://github.com/GeoRegionsEcosystem/ERA5Reanalysis.jl"}]},{avatar:"https://raw.githubusercontent.com/natgeo-wong/NASAPrecipitation.jl/main/src/logosmall.png",name:"NASABrightnessTemperature.jl",desc:"Downloading, Extracting and Analyzing NASA Brightness Temperature Data",links:[{icon:"github",link:"https://github.com/GeoRegionsEcosystem/NASABrightnessTemperature.jl"}]}];return(b,e)=>(u(),p("div",null,[t(n(c),null,{default:s(()=>[t(n(r),null,{title:s(()=>e[0]||(e[0]=[a("Ecosystem")])),_:1}),t(n(i),null,{title:s(()=>e[1]||(e[1]=[a("GeoRegions.jl")])),members:s(()=>[t(n(o),{size:"small",members:l})]),_:1}),t(n(i),null,{title:s(()=>e[2]||(e[2]=[a("Frameworks Extending GeoRegions.jl")])),members:s(()=>[t(n(o),{size:"small",members:g})]),_:1}),t(n(i),null,{title:s(()=>e[3]||(e[3]=[a("The GeoRegions Ecosystem")])),members:s(()=>[t(n(o),{size:"small",members:m})]),_:1})]),_:1})]))}});export{y as __pageData,E as default}; +import{V as r,a as i,b as o,c}from"./chunks/theme.8pfT5Xl5.js";import{c as p,G as t,w as s,k as n,o as u,a}from"./chunks/framework.CEeYBNx8.js";const y=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"page"},"headers":[],"relativePath":"ecosystem.md","filePath":"ecosystem.md","lastUpdated":null}'),d={name:"ecosystem.md"},E=Object.assign(d,{setup(h){const l=[{avatar:"https://github.com/GeoRegionsEcosystem.png",name:"GeoRegions.jl",desc:"Defining Geographic Regions of Interest for Geospatial Data in Geoscience and Climate.",links:[{icon:"github",link:"https://github.com/SciML/DiffEqFlux.jl"}]}],g=[{avatar:"https://github.com/GeoRegionsEcosystem.png",name:"RegionGrids.jl",desc:"Extracting Gridded Data for a given GeoRegion",links:[{icon:"github",link:"https://github.com/GeoRegionsEcosystem/RegionGrids.jl"}]},{avatar:"https://github.com/GeoRegionsEcosystem.png",name:"LandSea.jl",desc:"Extensible Land-Sea Mask Datasets",links:[{icon:"github",link:"https://github.com/GeoRegionsEcosystem/LandSea.jl"}]}],m=[{avatar:"https://raw.githubusercontent.com/natgeo-wong/NASAPrecipitation.jl/main/src/logosmall.png",name:"NASAPrecipitation.jl",desc:"Downloading, Extracting and Analyzing NASA Satellite Precipitation Data",links:[{icon:"github",link:"https://github.com/GeoRegionsEcosystem/NASAPrecipitation.jl"}]},{avatar:"https://raw.githubusercontent.com/natgeo-wong/NASAPrecipitation.jl/main/src/logosmall.png",name:"ERA5Reanalysis.jl",desc:"Downloading, Extracting and Analyzing ERA5 Reanalysis Data",links:[{icon:"github",link:"https://github.com/GeoRegionsEcosystem/ERA5Reanalysis.jl"}]},{avatar:"https://raw.githubusercontent.com/natgeo-wong/NASAPrecipitation.jl/main/src/logosmall.png",name:"NASABrightnessTemperature.jl",desc:"Downloading, Extracting and Analyzing NASA Brightness Temperature Data",links:[{icon:"github",link:"https://github.com/GeoRegionsEcosystem/NASABrightnessTemperature.jl"}]}];return(b,e)=>(u(),p("div",null,[t(n(c),null,{default:s(()=>[t(n(r),null,{title:s(()=>e[0]||(e[0]=[a("Ecosystem")])),_:1}),t(n(i),null,{title:s(()=>e[1]||(e[1]=[a("GeoRegions.jl")])),members:s(()=>[t(n(o),{size:"small",members:l})]),_:1}),t(n(i),null,{title:s(()=>e[2]||(e[2]=[a("Frameworks Extending GeoRegions.jl")])),members:s(()=>[t(n(o),{size:"small",members:g})]),_:1}),t(n(i),null,{title:s(()=>e[3]||(e[3]=[a("The GeoRegions Ecosystem")])),members:s(()=>[t(n(o),{size:"small",members:m})]),_:1})]),_:1})]))}});export{y as __pageData,E as default}; diff --git a/dev/assets/ecosystem.md.WWFq2H_K.lean.js b/dev/assets/ecosystem.md.D_3LMuPR.lean.js similarity index 97% rename from dev/assets/ecosystem.md.WWFq2H_K.lean.js rename to dev/assets/ecosystem.md.D_3LMuPR.lean.js index abe1f750..32c226ec 100644 --- a/dev/assets/ecosystem.md.WWFq2H_K.lean.js +++ b/dev/assets/ecosystem.md.D_3LMuPR.lean.js @@ -1 +1 @@ -import{V as r,a as i,b as o,c}from"./chunks/theme.C7U8FUUx.js";import{c as p,G as t,w as s,k as n,o as u,a}from"./chunks/framework.CEeYBNx8.js";const y=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"page"},"headers":[],"relativePath":"ecosystem.md","filePath":"ecosystem.md","lastUpdated":null}'),d={name:"ecosystem.md"},E=Object.assign(d,{setup(h){const l=[{avatar:"https://github.com/GeoRegionsEcosystem.png",name:"GeoRegions.jl",desc:"Defining Geographic Regions of Interest for Geospatial Data in Geoscience and Climate.",links:[{icon:"github",link:"https://github.com/SciML/DiffEqFlux.jl"}]}],g=[{avatar:"https://github.com/GeoRegionsEcosystem.png",name:"RegionGrids.jl",desc:"Extracting Gridded Data for a given GeoRegion",links:[{icon:"github",link:"https://github.com/GeoRegionsEcosystem/RegionGrids.jl"}]},{avatar:"https://github.com/GeoRegionsEcosystem.png",name:"LandSea.jl",desc:"Extensible Land-Sea Mask Datasets",links:[{icon:"github",link:"https://github.com/GeoRegionsEcosystem/LandSea.jl"}]}],m=[{avatar:"https://raw.githubusercontent.com/natgeo-wong/NASAPrecipitation.jl/main/src/logosmall.png",name:"NASAPrecipitation.jl",desc:"Downloading, Extracting and Analyzing NASA Satellite Precipitation Data",links:[{icon:"github",link:"https://github.com/GeoRegionsEcosystem/NASAPrecipitation.jl"}]},{avatar:"https://raw.githubusercontent.com/natgeo-wong/NASAPrecipitation.jl/main/src/logosmall.png",name:"ERA5Reanalysis.jl",desc:"Downloading, Extracting and Analyzing ERA5 Reanalysis Data",links:[{icon:"github",link:"https://github.com/GeoRegionsEcosystem/ERA5Reanalysis.jl"}]},{avatar:"https://raw.githubusercontent.com/natgeo-wong/NASAPrecipitation.jl/main/src/logosmall.png",name:"NASABrightnessTemperature.jl",desc:"Downloading, Extracting and Analyzing NASA Brightness Temperature Data",links:[{icon:"github",link:"https://github.com/GeoRegionsEcosystem/NASABrightnessTemperature.jl"}]}];return(b,e)=>(u(),p("div",null,[t(n(c),null,{default:s(()=>[t(n(r),null,{title:s(()=>e[0]||(e[0]=[a("Ecosystem")])),_:1}),t(n(i),null,{title:s(()=>e[1]||(e[1]=[a("GeoRegions.jl")])),members:s(()=>[t(n(o),{size:"small",members:l})]),_:1}),t(n(i),null,{title:s(()=>e[2]||(e[2]=[a("Frameworks Extending GeoRegions.jl")])),members:s(()=>[t(n(o),{size:"small",members:g})]),_:1}),t(n(i),null,{title:s(()=>e[3]||(e[3]=[a("The GeoRegions Ecosystem")])),members:s(()=>[t(n(o),{size:"small",members:m})]),_:1})]),_:1})]))}});export{y as __pageData,E as default}; +import{V as r,a as i,b as o,c}from"./chunks/theme.8pfT5Xl5.js";import{c as p,G as t,w as s,k as n,o as u,a}from"./chunks/framework.CEeYBNx8.js";const y=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"page"},"headers":[],"relativePath":"ecosystem.md","filePath":"ecosystem.md","lastUpdated":null}'),d={name:"ecosystem.md"},E=Object.assign(d,{setup(h){const l=[{avatar:"https://github.com/GeoRegionsEcosystem.png",name:"GeoRegions.jl",desc:"Defining Geographic Regions of Interest for Geospatial Data in Geoscience and Climate.",links:[{icon:"github",link:"https://github.com/SciML/DiffEqFlux.jl"}]}],g=[{avatar:"https://github.com/GeoRegionsEcosystem.png",name:"RegionGrids.jl",desc:"Extracting Gridded Data for a given GeoRegion",links:[{icon:"github",link:"https://github.com/GeoRegionsEcosystem/RegionGrids.jl"}]},{avatar:"https://github.com/GeoRegionsEcosystem.png",name:"LandSea.jl",desc:"Extensible Land-Sea Mask Datasets",links:[{icon:"github",link:"https://github.com/GeoRegionsEcosystem/LandSea.jl"}]}],m=[{avatar:"https://raw.githubusercontent.com/natgeo-wong/NASAPrecipitation.jl/main/src/logosmall.png",name:"NASAPrecipitation.jl",desc:"Downloading, Extracting and Analyzing NASA Satellite Precipitation Data",links:[{icon:"github",link:"https://github.com/GeoRegionsEcosystem/NASAPrecipitation.jl"}]},{avatar:"https://raw.githubusercontent.com/natgeo-wong/NASAPrecipitation.jl/main/src/logosmall.png",name:"ERA5Reanalysis.jl",desc:"Downloading, Extracting and Analyzing ERA5 Reanalysis Data",links:[{icon:"github",link:"https://github.com/GeoRegionsEcosystem/ERA5Reanalysis.jl"}]},{avatar:"https://raw.githubusercontent.com/natgeo-wong/NASAPrecipitation.jl/main/src/logosmall.png",name:"NASABrightnessTemperature.jl",desc:"Downloading, Extracting and Analyzing NASA Brightness Temperature Data",links:[{icon:"github",link:"https://github.com/GeoRegionsEcosystem/NASABrightnessTemperature.jl"}]}];return(b,e)=>(u(),p("div",null,[t(n(c),null,{default:s(()=>[t(n(r),null,{title:s(()=>e[0]||(e[0]=[a("Ecosystem")])),_:1}),t(n(i),null,{title:s(()=>e[1]||(e[1]=[a("GeoRegions.jl")])),members:s(()=>[t(n(o),{size:"small",members:l})]),_:1}),t(n(i),null,{title:s(()=>e[2]||(e[2]=[a("Frameworks Extending GeoRegions.jl")])),members:s(()=>[t(n(o),{size:"small",members:g})]),_:1}),t(n(i),null,{title:s(()=>e[3]||(e[3]=[a("The GeoRegions Ecosystem")])),members:s(()=>[t(n(o),{size:"small",members:m})]),_:1})]),_:1})]))}});export{y as __pageData,E as default}; diff --git a/dev/assets/georegions.md.Kz-CFn4T.js b/dev/assets/georegions.md.DkvYdDEI.js similarity index 84% rename from dev/assets/georegions.md.Kz-CFn4T.js rename to dev/assets/georegions.md.DkvYdDEI.js index a26ccf61..e0a97d0d 100644 --- a/dev/assets/georegions.md.Kz-CFn4T.js +++ b/dev/assets/georegions.md.DkvYdDEI.js @@ -1 +1 @@ -import{_ as l,c as a,a4 as i,j as o,a as t,G as n,B as d,o as r}from"./chunks/framework.CEeYBNx8.js";const j=JSON.parse('{"title":"What is a GeoRegion?","description":"","frontmatter":{},"headers":[],"relativePath":"georegions.md","filePath":"georegions.md","lastUpdated":null}'),p={name:"georegions.md"},g={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},h={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""};function u(y,e,R,f,G,k){const s=d("Badge");return r(),a("div",null,[e[12]||(e[12]=i('

What is a GeoRegion?

In essence, a GeoRegion is:

  • a geographical region of interest

  • identified by an ID

  • a subregion of a parent GeoRegion (identified by pID, which must also be a valid ID)

Default GeoRegions

When using GeoRegions.jl, the default GeoRegion should generally be the global domain, specified by GLB and given by the [N,S,E,W] coordinates [90,-90,360,0]. The Global GeoRegion GLB is considered to be a subset of itself.

',4)),o("details",g,[o("summary",null,[e[0]||(e[0]=o("a",{id:"GeoRegions.GeoRegion",href:"#GeoRegions.GeoRegion"},[o("span",{class:"jlbinding"},"GeoRegions.GeoRegion")],-1)),e[1]||(e[1]=t()),n(s,{type:"info",class:"jlObjectType jlType",text:"Type"})]),e[2]||(e[2]=i('
julia
GeoRegion

Abstract supertype for geographical regions. All GeoRegion types contain the following fields:

  • ID - A String Type, the identifier for the GeoRegion.

  • pID - A String Type, the identifier for the parent GeoRegion.

  • name - A String Type, the full name of the GeoRegion.

  • bound - A vector of Float Types, defining the [North, South, East, West] boundaries of the GeoRegion.

  • shape - A vector of Point2 Types, defining a non-rectilinear shape of the GeoRegion

  • geometry - A Polygon Type (see GeometryBasics.jl), which is useful when doing checks on polygons using GeometryOps.jl.

source

',4))]),e[13]||(e[13]=i('

Types of GeoRegions

In GeoRegions.jl, we differentiate between several different types of GeoRegions:

  • Rectilinear GeoRegions are denoted by the RectRegion type, available in all version of GeoRegions.jl

  • Tilted rectangular GeoRegions are denoted by the TiltRegion type, available in ≥v6

  • Polygonal GeoRegions are denoted by the PolyRegion type, available in ≥v2

RectRegions

',4)),o("details",c,[o("summary",null,[e[3]||(e[3]=o("a",{id:"GeoRegions.RectRegion",href:"#GeoRegions.RectRegion"},[o("span",{class:"jlbinding"},"GeoRegions.RectRegion")],-1)),e[4]||(e[4]=t()),n(s,{type:"info",class:"jlObjectType jlType",text:"Type"})]),e[5]||(e[5]=i('
julia
RectRegion <: GeoRegion

A rectangular region on a rectilinear grid. Defined by its N,S,E,W boundaries.

source

',3))]),e[14]||(e[14]=o("h3",{id:"tiltregions",tabindex:"-1"},[t("TiltRegions "),o("a",{class:"header-anchor",href:"#tiltregions","aria-label":'Permalink to "TiltRegions"'},"​")],-1)),o("details",h,[o("summary",null,[e[6]||(e[6]=o("a",{id:"GeoRegions.TiltRegion",href:"#GeoRegions.TiltRegion"},[o("span",{class:"jlbinding"},"GeoRegions.TiltRegion")],-1)),e[7]||(e[7]=t()),n(s,{type:"info",class:"jlObjectType jlType",text:"Type"})]),e[8]||(e[8]=i('
julia
TiltRegion <: GeoRegion

A tilted rectangular region on a rectilinear grid. Defined by:

  • the (lon,lat) coordinates of its centre.

  • the width in both the longitude and latitude directions (pre-rotation).

  • the angle of tilt in degrees (clockwise).

In addition to all the fields common to the GeoRegion abstract type, TiltRegions will also contain the following field:

  • tilt : A vector of Float Types, containing [X,Y,ΔX,ΔY,θ], where:
    • X : A Float Type, the longitude coordinate of region centre.

    • Y : A Float Type, the latitude coordinate of region centre.

    • θ : A Float Type, the angle-tilt of rectangular region in degrees in the clockwise direction.

    • ΔX : A Float Type, the half-width in longitude coordinates (before tilting).

    • ΔY : A Float Type, the half-width in latitude coordinates (before tilting).

source

',6))]),e[15]||(e[15]=o("h3",{id:"polyregions",tabindex:"-1"},[t("PolyRegions "),o("a",{class:"header-anchor",href:"#polyregions","aria-label":'Permalink to "PolyRegions"'},"​")],-1)),o("details",b,[o("summary",null,[e[9]||(e[9]=o("a",{id:"GeoRegions.PolyRegion",href:"#GeoRegions.PolyRegion"},[o("span",{class:"jlbinding"},"GeoRegions.PolyRegion")],-1)),e[10]||(e[10]=t()),n(s,{type:"info",class:"jlObjectType jlType",text:"Type"})]),e[11]||(e[11]=i('
julia
PolyRegion <: GeoRegion

A polygonal region on a rectilinear lon-lat grid, defined by the (lon,lat) coordinates of its vertices.

source

',3))])])}const T=l(p,[["render",u]]);export{j as __pageData,T as default}; +import{_ as l,c as a,a4 as i,j as o,a as t,G as n,B as d,o as r}from"./chunks/framework.CEeYBNx8.js";const j=JSON.parse('{"title":"What is a GeoRegion?","description":"","frontmatter":{},"headers":[],"relativePath":"georegions.md","filePath":"georegions.md","lastUpdated":null}'),p={name:"georegions.md"},c={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},h={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""};function b(y,e,f,R,G,k){const s=d("Badge");return r(),a("div",null,[e[12]||(e[12]=i('

What is a GeoRegion?

In essence, a GeoRegion is:

  • a geographical region of interest

  • identified by an ID

  • a subregion of a parent GeoRegion (identified by pID, which must also be a valid ID)

Default GeoRegions

When using GeoRegions.jl, the default GeoRegion should generally be the global domain, specified by GLB and given by the [N,S,E,W] coordinates [90,-90,360,0]. The Global GeoRegion GLB is considered to be a subset of itself.

',4)),o("details",c,[o("summary",null,[e[0]||(e[0]=o("a",{id:"GeoRegions.GeoRegion",href:"#GeoRegions.GeoRegion"},[o("span",{class:"jlbinding"},"GeoRegions.GeoRegion")],-1)),e[1]||(e[1]=t()),n(s,{type:"info",class:"jlObjectType jlType",text:"Type"})]),e[2]||(e[2]=i('
julia
GeoRegion

Abstract supertype for geographical regions. All GeoRegion types contain the following fields:

  • ID - A String Type, the identifier for the GeoRegion.

  • pID - A String Type, the identifier for the parent GeoRegion.

  • name - A String Type, the full name of the GeoRegion.

  • bound - A vector of Float Types, defining the [North, South, East, West] boundaries of the GeoRegion.

  • shape - A vector of Point2 (see GeometryBasics.jl) Types, defining a non-rectilinear shape of the GeoRegion

  • geometry - A Polygon Type (see GeometryBasics.jl), which is useful when doing checks on polygons using GeometryOps.jl.

source

',4))]),e[13]||(e[13]=i('

Types of GeoRegions

In GeoRegions.jl, we differentiate between several different types of GeoRegions:

  • Rectilinear GeoRegions are denoted by the RectRegion type, available in all version of GeoRegions.jl

  • Tilted rectangular GeoRegions are denoted by the TiltRegion type, available in ≥v6

  • Polygonal GeoRegions are denoted by the PolyRegion type, available in ≥v2

RectRegions

',4)),o("details",g,[o("summary",null,[e[3]||(e[3]=o("a",{id:"GeoRegions.RectRegion",href:"#GeoRegions.RectRegion"},[o("span",{class:"jlbinding"},"GeoRegions.RectRegion")],-1)),e[4]||(e[4]=t()),n(s,{type:"info",class:"jlObjectType jlType",text:"Type"})]),e[5]||(e[5]=i('
julia
RectRegion <: GeoRegion

A rectangular region on a rectilinear grid. Defined by its N,S,E,W boundaries.

source

',3))]),e[14]||(e[14]=o("h3",{id:"tiltregions",tabindex:"-1"},[t("TiltRegions "),o("a",{class:"header-anchor",href:"#tiltregions","aria-label":'Permalink to "TiltRegions"'},"​")],-1)),o("details",h,[o("summary",null,[e[6]||(e[6]=o("a",{id:"GeoRegions.TiltRegion",href:"#GeoRegions.TiltRegion"},[o("span",{class:"jlbinding"},"GeoRegions.TiltRegion")],-1)),e[7]||(e[7]=t()),n(s,{type:"info",class:"jlObjectType jlType",text:"Type"})]),e[8]||(e[8]=i('
julia
TiltRegion <: GeoRegion

A tilted rectangular region on a rectilinear grid. Defined by:

  • the (lon,lat) coordinates of its centre.

  • the width in both the longitude and latitude directions (pre-rotation).

  • the angle of tilt in degrees (clockwise).

In addition to all the fields common to the GeoRegion abstract type, TiltRegions will also contain the following field:

  • tilt : A vector of Float Types, containing [X,Y,ΔX,ΔY,θ], where:
    • X : A Float Type, the longitude coordinate of region centre.

    • Y : A Float Type, the latitude coordinate of region centre.

    • θ : A Float Type, the angle-tilt of rectangular region in degrees in the clockwise direction.

    • ΔX : A Float Type, the half-width in longitude coordinates (before tilting).

    • ΔY : A Float Type, the half-width in latitude coordinates (before tilting).

source

',6))]),e[15]||(e[15]=o("h3",{id:"polyregions",tabindex:"-1"},[t("PolyRegions "),o("a",{class:"header-anchor",href:"#polyregions","aria-label":'Permalink to "PolyRegions"'},"​")],-1)),o("details",u,[o("summary",null,[e[9]||(e[9]=o("a",{id:"GeoRegions.PolyRegion",href:"#GeoRegions.PolyRegion"},[o("span",{class:"jlbinding"},"GeoRegions.PolyRegion")],-1)),e[10]||(e[10]=t()),n(s,{type:"info",class:"jlObjectType jlType",text:"Type"})]),e[11]||(e[11]=i('
julia
PolyRegion <: GeoRegion

A polygonal region on a rectilinear lon-lat grid, defined by the (lon,lat) coordinates of its vertices.

source

',3))])])}const T=l(p,[["render",b]]);export{j as __pageData,T as default}; diff --git a/dev/assets/georegions.md.Kz-CFn4T.lean.js b/dev/assets/georegions.md.DkvYdDEI.lean.js similarity index 84% rename from dev/assets/georegions.md.Kz-CFn4T.lean.js rename to dev/assets/georegions.md.DkvYdDEI.lean.js index a26ccf61..e0a97d0d 100644 --- a/dev/assets/georegions.md.Kz-CFn4T.lean.js +++ b/dev/assets/georegions.md.DkvYdDEI.lean.js @@ -1 +1 @@ -import{_ as l,c as a,a4 as i,j as o,a as t,G as n,B as d,o as r}from"./chunks/framework.CEeYBNx8.js";const j=JSON.parse('{"title":"What is a GeoRegion?","description":"","frontmatter":{},"headers":[],"relativePath":"georegions.md","filePath":"georegions.md","lastUpdated":null}'),p={name:"georegions.md"},g={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},h={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""};function u(y,e,R,f,G,k){const s=d("Badge");return r(),a("div",null,[e[12]||(e[12]=i('

What is a GeoRegion?

In essence, a GeoRegion is:

  • a geographical region of interest

  • identified by an ID

  • a subregion of a parent GeoRegion (identified by pID, which must also be a valid ID)

Default GeoRegions

When using GeoRegions.jl, the default GeoRegion should generally be the global domain, specified by GLB and given by the [N,S,E,W] coordinates [90,-90,360,0]. The Global GeoRegion GLB is considered to be a subset of itself.

',4)),o("details",g,[o("summary",null,[e[0]||(e[0]=o("a",{id:"GeoRegions.GeoRegion",href:"#GeoRegions.GeoRegion"},[o("span",{class:"jlbinding"},"GeoRegions.GeoRegion")],-1)),e[1]||(e[1]=t()),n(s,{type:"info",class:"jlObjectType jlType",text:"Type"})]),e[2]||(e[2]=i('
julia
GeoRegion

Abstract supertype for geographical regions. All GeoRegion types contain the following fields:

  • ID - A String Type, the identifier for the GeoRegion.

  • pID - A String Type, the identifier for the parent GeoRegion.

  • name - A String Type, the full name of the GeoRegion.

  • bound - A vector of Float Types, defining the [North, South, East, West] boundaries of the GeoRegion.

  • shape - A vector of Point2 Types, defining a non-rectilinear shape of the GeoRegion

  • geometry - A Polygon Type (see GeometryBasics.jl), which is useful when doing checks on polygons using GeometryOps.jl.

source

',4))]),e[13]||(e[13]=i('

Types of GeoRegions

In GeoRegions.jl, we differentiate between several different types of GeoRegions:

  • Rectilinear GeoRegions are denoted by the RectRegion type, available in all version of GeoRegions.jl

  • Tilted rectangular GeoRegions are denoted by the TiltRegion type, available in ≥v6

  • Polygonal GeoRegions are denoted by the PolyRegion type, available in ≥v2

RectRegions

',4)),o("details",c,[o("summary",null,[e[3]||(e[3]=o("a",{id:"GeoRegions.RectRegion",href:"#GeoRegions.RectRegion"},[o("span",{class:"jlbinding"},"GeoRegions.RectRegion")],-1)),e[4]||(e[4]=t()),n(s,{type:"info",class:"jlObjectType jlType",text:"Type"})]),e[5]||(e[5]=i('
julia
RectRegion <: GeoRegion

A rectangular region on a rectilinear grid. Defined by its N,S,E,W boundaries.

source

',3))]),e[14]||(e[14]=o("h3",{id:"tiltregions",tabindex:"-1"},[t("TiltRegions "),o("a",{class:"header-anchor",href:"#tiltregions","aria-label":'Permalink to "TiltRegions"'},"​")],-1)),o("details",h,[o("summary",null,[e[6]||(e[6]=o("a",{id:"GeoRegions.TiltRegion",href:"#GeoRegions.TiltRegion"},[o("span",{class:"jlbinding"},"GeoRegions.TiltRegion")],-1)),e[7]||(e[7]=t()),n(s,{type:"info",class:"jlObjectType jlType",text:"Type"})]),e[8]||(e[8]=i('
julia
TiltRegion <: GeoRegion

A tilted rectangular region on a rectilinear grid. Defined by:

  • the (lon,lat) coordinates of its centre.

  • the width in both the longitude and latitude directions (pre-rotation).

  • the angle of tilt in degrees (clockwise).

In addition to all the fields common to the GeoRegion abstract type, TiltRegions will also contain the following field:

  • tilt : A vector of Float Types, containing [X,Y,ΔX,ΔY,θ], where:
    • X : A Float Type, the longitude coordinate of region centre.

    • Y : A Float Type, the latitude coordinate of region centre.

    • θ : A Float Type, the angle-tilt of rectangular region in degrees in the clockwise direction.

    • ΔX : A Float Type, the half-width in longitude coordinates (before tilting).

    • ΔY : A Float Type, the half-width in latitude coordinates (before tilting).

source

',6))]),e[15]||(e[15]=o("h3",{id:"polyregions",tabindex:"-1"},[t("PolyRegions "),o("a",{class:"header-anchor",href:"#polyregions","aria-label":'Permalink to "PolyRegions"'},"​")],-1)),o("details",b,[o("summary",null,[e[9]||(e[9]=o("a",{id:"GeoRegions.PolyRegion",href:"#GeoRegions.PolyRegion"},[o("span",{class:"jlbinding"},"GeoRegions.PolyRegion")],-1)),e[10]||(e[10]=t()),n(s,{type:"info",class:"jlObjectType jlType",text:"Type"})]),e[11]||(e[11]=i('
julia
PolyRegion <: GeoRegion

A polygonal region on a rectilinear lon-lat grid, defined by the (lon,lat) coordinates of its vertices.

source

',3))])])}const T=l(p,[["render",u]]);export{j as __pageData,T as default}; +import{_ as l,c as a,a4 as i,j as o,a as t,G as n,B as d,o as r}from"./chunks/framework.CEeYBNx8.js";const j=JSON.parse('{"title":"What is a GeoRegion?","description":"","frontmatter":{},"headers":[],"relativePath":"georegions.md","filePath":"georegions.md","lastUpdated":null}'),p={name:"georegions.md"},c={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},h={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""};function b(y,e,f,R,G,k){const s=d("Badge");return r(),a("div",null,[e[12]||(e[12]=i('

What is a GeoRegion?

In essence, a GeoRegion is:

  • a geographical region of interest

  • identified by an ID

  • a subregion of a parent GeoRegion (identified by pID, which must also be a valid ID)

Default GeoRegions

When using GeoRegions.jl, the default GeoRegion should generally be the global domain, specified by GLB and given by the [N,S,E,W] coordinates [90,-90,360,0]. The Global GeoRegion GLB is considered to be a subset of itself.

',4)),o("details",c,[o("summary",null,[e[0]||(e[0]=o("a",{id:"GeoRegions.GeoRegion",href:"#GeoRegions.GeoRegion"},[o("span",{class:"jlbinding"},"GeoRegions.GeoRegion")],-1)),e[1]||(e[1]=t()),n(s,{type:"info",class:"jlObjectType jlType",text:"Type"})]),e[2]||(e[2]=i('
julia
GeoRegion

Abstract supertype for geographical regions. All GeoRegion types contain the following fields:

  • ID - A String Type, the identifier for the GeoRegion.

  • pID - A String Type, the identifier for the parent GeoRegion.

  • name - A String Type, the full name of the GeoRegion.

  • bound - A vector of Float Types, defining the [North, South, East, West] boundaries of the GeoRegion.

  • shape - A vector of Point2 (see GeometryBasics.jl) Types, defining a non-rectilinear shape of the GeoRegion

  • geometry - A Polygon Type (see GeometryBasics.jl), which is useful when doing checks on polygons using GeometryOps.jl.

source

',4))]),e[13]||(e[13]=i('

Types of GeoRegions

In GeoRegions.jl, we differentiate between several different types of GeoRegions:

  • Rectilinear GeoRegions are denoted by the RectRegion type, available in all version of GeoRegions.jl

  • Tilted rectangular GeoRegions are denoted by the TiltRegion type, available in ≥v6

  • Polygonal GeoRegions are denoted by the PolyRegion type, available in ≥v2

RectRegions

',4)),o("details",g,[o("summary",null,[e[3]||(e[3]=o("a",{id:"GeoRegions.RectRegion",href:"#GeoRegions.RectRegion"},[o("span",{class:"jlbinding"},"GeoRegions.RectRegion")],-1)),e[4]||(e[4]=t()),n(s,{type:"info",class:"jlObjectType jlType",text:"Type"})]),e[5]||(e[5]=i('
julia
RectRegion <: GeoRegion

A rectangular region on a rectilinear grid. Defined by its N,S,E,W boundaries.

source

',3))]),e[14]||(e[14]=o("h3",{id:"tiltregions",tabindex:"-1"},[t("TiltRegions "),o("a",{class:"header-anchor",href:"#tiltregions","aria-label":'Permalink to "TiltRegions"'},"​")],-1)),o("details",h,[o("summary",null,[e[6]||(e[6]=o("a",{id:"GeoRegions.TiltRegion",href:"#GeoRegions.TiltRegion"},[o("span",{class:"jlbinding"},"GeoRegions.TiltRegion")],-1)),e[7]||(e[7]=t()),n(s,{type:"info",class:"jlObjectType jlType",text:"Type"})]),e[8]||(e[8]=i('
julia
TiltRegion <: GeoRegion

A tilted rectangular region on a rectilinear grid. Defined by:

  • the (lon,lat) coordinates of its centre.

  • the width in both the longitude and latitude directions (pre-rotation).

  • the angle of tilt in degrees (clockwise).

In addition to all the fields common to the GeoRegion abstract type, TiltRegions will also contain the following field:

  • tilt : A vector of Float Types, containing [X,Y,ΔX,ΔY,θ], where:
    • X : A Float Type, the longitude coordinate of region centre.

    • Y : A Float Type, the latitude coordinate of region centre.

    • θ : A Float Type, the angle-tilt of rectangular region in degrees in the clockwise direction.

    • ΔX : A Float Type, the half-width in longitude coordinates (before tilting).

    • ΔY : A Float Type, the half-width in latitude coordinates (before tilting).

source

',6))]),e[15]||(e[15]=o("h3",{id:"polyregions",tabindex:"-1"},[t("PolyRegions "),o("a",{class:"header-anchor",href:"#polyregions","aria-label":'Permalink to "PolyRegions"'},"​")],-1)),o("details",u,[o("summary",null,[e[9]||(e[9]=o("a",{id:"GeoRegions.PolyRegion",href:"#GeoRegions.PolyRegion"},[o("span",{class:"jlbinding"},"GeoRegions.PolyRegion")],-1)),e[10]||(e[10]=t()),n(s,{type:"info",class:"jlObjectType jlType",text:"Type"})]),e[11]||(e[11]=i('
julia
PolyRegion <: GeoRegion

A polygonal region on a rectilinear lon-lat grid, defined by the (lon,lat) coordinates of its vertices.

source

',3))])])}const T=l(p,[["render",b]]);export{j as __pageData,T as default}; diff --git a/dev/assets/tutorials_addreadrm.md.cToC0JM0.js b/dev/assets/tutorials_addreadrm.md.BTFcrDbb.js similarity index 97% rename from dev/assets/tutorials_addreadrm.md.cToC0JM0.js rename to dev/assets/tutorials_addreadrm.md.BTFcrDbb.js index 70bbb585..03b36a19 100644 --- a/dev/assets/tutorials_addreadrm.md.cToC0JM0.js +++ b/dev/assets/tutorials_addreadrm.md.BTFcrDbb.js @@ -2,7 +2,7 @@ import{_ as i,c as a,a4 as e,o as n}from"./chunks/framework.CEeYBNx8.js";const g mkpath(joinpath(pwd(),"test")) setupGeoRegions(path=joinpath(pwd(),"test"))

1. Adding custom GeoRegions to your Project

If you wish to automatically save a new GeoRegions as it is created, specify the keyword argument save = true. To specify the directory to which the GeoRegion information is saved to, use the path keyword.

  • RectRegion(ID, pID, name, ..., save = true, path = ...) writes to $path/rectlist.txt

  • TiltRegion(ID, pID, name, ..., save = true, path = ...) writes to $path/tiltlist.txt

  • PolyRegion(ID, pID, name, ..., save = true, path = ...) writes to $path/polylist.txt

Default path Directory

By default, path = joinpath(DEPOT_PATH[1],"files","GeoRegions"). If path is not specified, the information will be saved in the respective custom lists in this directory.

Modification of Custom Lists

While it is possible to do manually modify the lists, it is not recommended to do so, especially for polylist.txt, which is pretty complicated. Instead, you should let GeoRegions.jl do most of the heavy lifting.

You can also add a GeoRegion variable in the workspace that you have not yet saved into the custom lists

julia
geo = PolyRegion(ID, pID, name, ...)
 add(geo, path = ...)

For example, we can do

julia
geo = PolyRegion("TSP","GLB","Test Save PolyRegion",[10,100,-50,10],[20,10,0,20])
-add(geo,path=joinpath(pwd(),"test"))
[ Info: 2024-09-28T04:08:41.771 - GeoRegions.jl - Adding the GeoRegion TSP to the list.

See the API here

Or we can just directly add the GeoRegion simultaneously when it is defined, as follows:

julia
RectRegion("TSR","GLB","Test Save RectRegion",[40,-20,14,-60],save=true,path=joinpath(pwd(),"test"))
The Rectilinear Region TSR has the following properties:
+add(geo,path=joinpath(pwd(),"test"))
[ Info: 2024-09-29T05:56:46.149 - GeoRegions.jl - Adding the GeoRegion TSP to the list.

See the API here

Or we can just directly add the GeoRegion simultaneously when it is defined, as follows:

julia
RectRegion("TSR","GLB","Test Save RectRegion",[40,-20,14,-60],save=true,path=joinpath(pwd(),"test"))
The Rectilinear Region TSR has the following properties:
     Region ID     (ID) : TSR
     Parent ID    (pID) : GLB
     Name        (name) : Test Save RectRegion
@@ -43,19 +43,19 @@ import{_ as i,c as a,a4 as e,o as n}from"./chunks/framework.CEeYBNx8.js";const g
     Shape      (shape) : Point{2, Float64}[[10.0, 20.0], [90.0, 10.0], [-50.0, 0.0], [10.0, 20.0]]
 
 julia> add(geo,path=joinpath(pwd(),"test"))
-ERROR: 2024-09-28T04:08:42.064 - GeoRegions.jl - The GeoRegion TSP has already been defined.  Please use another identifier.

We see that we cannot add another GeoRegion with the ID = TSP. In order to replace the GeoRegion associated with this ID with another set of information, you need to overwrite the preexisting information with overwrite()

julia
overwrite(geo,path=joinpath(pwd(),"test"))
[ Info: 2024-09-28T04:08:42.518 - GeoRegions.jl - Adding the GeoRegion TSP to the list.

And we reload the GeoRegion associated with the ID = TSP

julia
ply = GeoRegion("TSP",path=joinpath(pwd(),"test"))
The Polygonal Region TSP has the following properties:
+ERROR: 2024-09-29T05:56:46.451 - GeoRegions.jl - The GeoRegion TSP has already been defined.  Please use another identifier.

We see that we cannot add another GeoRegion with the ID = TSP. In order to replace the GeoRegion associated with this ID with another set of information, you need to overwrite the preexisting information with overwrite()

julia
overwrite(geo,path=joinpath(pwd(),"test"))
[ Info: 2024-09-29T05:56:46.935 - GeoRegions.jl - Adding the GeoRegion TSP to the list.

And we reload the GeoRegion associated with the ID = TSP

julia
ply = GeoRegion("TSP",path=joinpath(pwd(),"test"))
The Polygonal Region TSP has the following properties:
     Region ID     (ID) : TSP
     Parent ID    (pID) : GLB
     Name        (name) : Test Save PolyRegion 2
     Bounds   (N,S,E,W) : [20.0, 0.0, 90.0, -50.0]
-    Shape      (shape) : Point{2, Float64}[[10.0, 20.0], [90.0, 10.0], [-50.0, 0.0], [10.0, 20.0]]

See the API here

5. Removing a custom GeoRegions from your Project

Now, we've realized that you don't really need a GeoRegion anymore, or for some reason you want to delete the information of a particular GeoRegion associate with a certain ID and replace it with a new information, there are two ways to do it:

5.1 Removing a GeoRegion that has been loaded

THe first method is to remove a GeoRegion geo that has already been loaded into the workspace. We use the function rm() to do this

julia
rm(ply,path=joinpath(pwd(),"test"))
[ Info: 2024-09-28T04:08:42.734 - GeoRegions.jl - Removing the GeoRegion TSP ...

And now we check if the GeoRegion TSP now exists:

julia
julia> isID("TSP",path=joinpath(pwd(),"test"))
-ERROR: 2024-09-28T04:08:42.737 - GeoRegions.jl - TSP is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.

And we see that it does not.

See the API here

5.2 Removing a GeoRegion based on its ID

The second method is to remove a GeoRegion based on an ID, or its string identifier. We do this with the function rmID()

julia
rmID("TSR",path=joinpath(pwd(),"test"))
[ Info: 2024-09-28T04:08:42.741 - GeoRegions.jl - Removing the GeoRegion TSR ...
julia
julia> isID("TSR",path=joinpath(pwd(),"test"))
-ERROR: 2024-09-28T04:08:42.767 - GeoRegions.jl - TSR is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.

Predefined GeoRegions cannot be removed

You cannot remove GLB, GF_*, SRX_* or AR6_* that have been predefined in GeoRegions.jl

See the API here

6. Removing a the custom GeoRegions lists from your Project

If you use deleteGeoRegions() to remove all the custom lists, you will remove all the custom GeoRegions for the projects and they cannot be retrieved.

julia
TiltRegion("TST","GLB","Test Save TiltRegion",10,5,50,20,30,path=joinpath(pwd(),"test"))
The Tilted Rectilinear Region TST has the following properties:
+    Shape      (shape) : Point{2, Float64}[[10.0, 20.0], [90.0, 10.0], [-50.0, 0.0], [10.0, 20.0]]

See the API here

5. Removing a custom GeoRegions from your Project

Now, we've realized that you don't really need a GeoRegion anymore, or for some reason you want to delete the information of a particular GeoRegion associate with a certain ID and replace it with a new information, there are two ways to do it:

5.1 Removing a GeoRegion that has been loaded

THe first method is to remove a GeoRegion geo that has already been loaded into the workspace. We use the function rm() to do this

julia
rm(ply,path=joinpath(pwd(),"test"))
[ Info: 2024-09-29T05:56:47.161 - GeoRegions.jl - Removing the GeoRegion TSP ...

And now we check if the GeoRegion TSP now exists:

julia
julia> isID("TSP",path=joinpath(pwd(),"test"))
+ERROR: 2024-09-29T05:56:47.164 - GeoRegions.jl - TSP is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.

And we see that it does not.

See the API here

5.2 Removing a GeoRegion based on its ID

The second method is to remove a GeoRegion based on an ID, or its string identifier. We do this with the function rmID()

julia
rmID("TSR",path=joinpath(pwd(),"test"))
[ Info: 2024-09-29T05:56:47.169 - GeoRegions.jl - Removing the GeoRegion TSR ...
julia
julia> isID("TSR",path=joinpath(pwd(),"test"))
+ERROR: 2024-09-29T05:56:47.197 - GeoRegions.jl - TSR is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.

Predefined GeoRegions cannot be removed

You cannot remove GLB, GF_*, SRX_* or AR6_* that have been predefined in GeoRegions.jl

See the API here

6. Removing a the custom GeoRegions lists from your Project

If you use deleteGeoRegions() to remove all the custom lists, you will remove all the custom GeoRegions for the projects and they cannot be retrieved.

julia
TiltRegion("TST","GLB","Test Save TiltRegion",10,5,50,20,30,path=joinpath(pwd(),"test"))
The Tilted Rectilinear Region TST has the following properties:
     Region ID     (ID) : TST
     Parent ID    (pID) : GLB
     Name        (name) : Test Save TiltRegion
     Bounds   (N,S,E,W) : [47.32050807568877, -37.32050807568877, 63.30127018922193, -43.30127018922193]
     Shape      (shape) : Point{2, Float64}[[-43.30127018922193, -2.679491924311229], [-23.30127018922193, -37.32050807568877], [63.30127018922193, 12.679491924311229], [43.30127018922193, 47.32050807568877], [-43.30127018922193, -2.679491924311229]]
-    Tilt (X,Y,ΔX,ΔY,θ) : [10.0, 5.0, 50.0, 20.0, 30.0]
julia
deleteGeoRegions(path=joinpath(pwd(),"test"))
┌ Warning: 2024-09-28T04:08:42.822 - GeoRegions.jl - Removing custom GeoRegions.jl files from /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/test, all GeoRegion information saved into these files will be permanently lost.
+    Tilt (X,Y,ΔX,ΔY,θ) : [10.0, 5.0, 50.0, 20.0, 30.0]
julia
deleteGeoRegions(path=joinpath(pwd(),"test"))
┌ Warning: 2024-09-29T05:56:47.268 - GeoRegions.jl - Removing custom GeoRegions.jl files from /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/test, all GeoRegion information saved into these files will be permanently lost.
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/project.jl:161

Let's test and see if we can retrieve the user-defined GeoRegions now we have deleted their information from the project.

julia
julia> isID("TST",path=joinpath(pwd(),"test"),throw=false)
 false
`,70)]))}const E=i(t,[["render",h]]);export{g as __pageData,E as default}; diff --git a/dev/assets/tutorials_addreadrm.md.cToC0JM0.lean.js b/dev/assets/tutorials_addreadrm.md.BTFcrDbb.lean.js similarity index 97% rename from dev/assets/tutorials_addreadrm.md.cToC0JM0.lean.js rename to dev/assets/tutorials_addreadrm.md.BTFcrDbb.lean.js index 70bbb585..03b36a19 100644 --- a/dev/assets/tutorials_addreadrm.md.cToC0JM0.lean.js +++ b/dev/assets/tutorials_addreadrm.md.BTFcrDbb.lean.js @@ -2,7 +2,7 @@ import{_ as i,c as a,a4 as e,o as n}from"./chunks/framework.CEeYBNx8.js";const g mkpath(joinpath(pwd(),"test")) setupGeoRegions(path=joinpath(pwd(),"test"))

1. Adding custom GeoRegions to your Project

If you wish to automatically save a new GeoRegions as it is created, specify the keyword argument save = true. To specify the directory to which the GeoRegion information is saved to, use the path keyword.

  • RectRegion(ID, pID, name, ..., save = true, path = ...) writes to $path/rectlist.txt

  • TiltRegion(ID, pID, name, ..., save = true, path = ...) writes to $path/tiltlist.txt

  • PolyRegion(ID, pID, name, ..., save = true, path = ...) writes to $path/polylist.txt

Default path Directory

By default, path = joinpath(DEPOT_PATH[1],"files","GeoRegions"). If path is not specified, the information will be saved in the respective custom lists in this directory.

Modification of Custom Lists

While it is possible to do manually modify the lists, it is not recommended to do so, especially for polylist.txt, which is pretty complicated. Instead, you should let GeoRegions.jl do most of the heavy lifting.

You can also add a GeoRegion variable in the workspace that you have not yet saved into the custom lists

julia
geo = PolyRegion(ID, pID, name, ...)
 add(geo, path = ...)

For example, we can do

julia
geo = PolyRegion("TSP","GLB","Test Save PolyRegion",[10,100,-50,10],[20,10,0,20])
-add(geo,path=joinpath(pwd(),"test"))
[ Info: 2024-09-28T04:08:41.771 - GeoRegions.jl - Adding the GeoRegion TSP to the list.

See the API here

Or we can just directly add the GeoRegion simultaneously when it is defined, as follows:

julia
RectRegion("TSR","GLB","Test Save RectRegion",[40,-20,14,-60],save=true,path=joinpath(pwd(),"test"))
The Rectilinear Region TSR has the following properties:
+add(geo,path=joinpath(pwd(),"test"))
[ Info: 2024-09-29T05:56:46.149 - GeoRegions.jl - Adding the GeoRegion TSP to the list.

See the API here

Or we can just directly add the GeoRegion simultaneously when it is defined, as follows:

julia
RectRegion("TSR","GLB","Test Save RectRegion",[40,-20,14,-60],save=true,path=joinpath(pwd(),"test"))
The Rectilinear Region TSR has the following properties:
     Region ID     (ID) : TSR
     Parent ID    (pID) : GLB
     Name        (name) : Test Save RectRegion
@@ -43,19 +43,19 @@ import{_ as i,c as a,a4 as e,o as n}from"./chunks/framework.CEeYBNx8.js";const g
     Shape      (shape) : Point{2, Float64}[[10.0, 20.0], [90.0, 10.0], [-50.0, 0.0], [10.0, 20.0]]
 
 julia> add(geo,path=joinpath(pwd(),"test"))
-ERROR: 2024-09-28T04:08:42.064 - GeoRegions.jl - The GeoRegion TSP has already been defined.  Please use another identifier.

We see that we cannot add another GeoRegion with the ID = TSP. In order to replace the GeoRegion associated with this ID with another set of information, you need to overwrite the preexisting information with overwrite()

julia
overwrite(geo,path=joinpath(pwd(),"test"))
[ Info: 2024-09-28T04:08:42.518 - GeoRegions.jl - Adding the GeoRegion TSP to the list.

And we reload the GeoRegion associated with the ID = TSP

julia
ply = GeoRegion("TSP",path=joinpath(pwd(),"test"))
The Polygonal Region TSP has the following properties:
+ERROR: 2024-09-29T05:56:46.451 - GeoRegions.jl - The GeoRegion TSP has already been defined.  Please use another identifier.

We see that we cannot add another GeoRegion with the ID = TSP. In order to replace the GeoRegion associated with this ID with another set of information, you need to overwrite the preexisting information with overwrite()

julia
overwrite(geo,path=joinpath(pwd(),"test"))
[ Info: 2024-09-29T05:56:46.935 - GeoRegions.jl - Adding the GeoRegion TSP to the list.

And we reload the GeoRegion associated with the ID = TSP

julia
ply = GeoRegion("TSP",path=joinpath(pwd(),"test"))
The Polygonal Region TSP has the following properties:
     Region ID     (ID) : TSP
     Parent ID    (pID) : GLB
     Name        (name) : Test Save PolyRegion 2
     Bounds   (N,S,E,W) : [20.0, 0.0, 90.0, -50.0]
-    Shape      (shape) : Point{2, Float64}[[10.0, 20.0], [90.0, 10.0], [-50.0, 0.0], [10.0, 20.0]]

See the API here

5. Removing a custom GeoRegions from your Project

Now, we've realized that you don't really need a GeoRegion anymore, or for some reason you want to delete the information of a particular GeoRegion associate with a certain ID and replace it with a new information, there are two ways to do it:

5.1 Removing a GeoRegion that has been loaded

THe first method is to remove a GeoRegion geo that has already been loaded into the workspace. We use the function rm() to do this

julia
rm(ply,path=joinpath(pwd(),"test"))
[ Info: 2024-09-28T04:08:42.734 - GeoRegions.jl - Removing the GeoRegion TSP ...

And now we check if the GeoRegion TSP now exists:

julia
julia> isID("TSP",path=joinpath(pwd(),"test"))
-ERROR: 2024-09-28T04:08:42.737 - GeoRegions.jl - TSP is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.

And we see that it does not.

See the API here

5.2 Removing a GeoRegion based on its ID

The second method is to remove a GeoRegion based on an ID, or its string identifier. We do this with the function rmID()

julia
rmID("TSR",path=joinpath(pwd(),"test"))
[ Info: 2024-09-28T04:08:42.741 - GeoRegions.jl - Removing the GeoRegion TSR ...
julia
julia> isID("TSR",path=joinpath(pwd(),"test"))
-ERROR: 2024-09-28T04:08:42.767 - GeoRegions.jl - TSR is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.

Predefined GeoRegions cannot be removed

You cannot remove GLB, GF_*, SRX_* or AR6_* that have been predefined in GeoRegions.jl

See the API here

6. Removing a the custom GeoRegions lists from your Project

If you use deleteGeoRegions() to remove all the custom lists, you will remove all the custom GeoRegions for the projects and they cannot be retrieved.

julia
TiltRegion("TST","GLB","Test Save TiltRegion",10,5,50,20,30,path=joinpath(pwd(),"test"))
The Tilted Rectilinear Region TST has the following properties:
+    Shape      (shape) : Point{2, Float64}[[10.0, 20.0], [90.0, 10.0], [-50.0, 0.0], [10.0, 20.0]]

See the API here

5. Removing a custom GeoRegions from your Project

Now, we've realized that you don't really need a GeoRegion anymore, or for some reason you want to delete the information of a particular GeoRegion associate with a certain ID and replace it with a new information, there are two ways to do it:

5.1 Removing a GeoRegion that has been loaded

THe first method is to remove a GeoRegion geo that has already been loaded into the workspace. We use the function rm() to do this

julia
rm(ply,path=joinpath(pwd(),"test"))
[ Info: 2024-09-29T05:56:47.161 - GeoRegions.jl - Removing the GeoRegion TSP ...

And now we check if the GeoRegion TSP now exists:

julia
julia> isID("TSP",path=joinpath(pwd(),"test"))
+ERROR: 2024-09-29T05:56:47.164 - GeoRegions.jl - TSP is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.

And we see that it does not.

See the API here

5.2 Removing a GeoRegion based on its ID

The second method is to remove a GeoRegion based on an ID, or its string identifier. We do this with the function rmID()

julia
rmID("TSR",path=joinpath(pwd(),"test"))
[ Info: 2024-09-29T05:56:47.169 - GeoRegions.jl - Removing the GeoRegion TSR ...
julia
julia> isID("TSR",path=joinpath(pwd(),"test"))
+ERROR: 2024-09-29T05:56:47.197 - GeoRegions.jl - TSR is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.

Predefined GeoRegions cannot be removed

You cannot remove GLB, GF_*, SRX_* or AR6_* that have been predefined in GeoRegions.jl

See the API here

6. Removing a the custom GeoRegions lists from your Project

If you use deleteGeoRegions() to remove all the custom lists, you will remove all the custom GeoRegions for the projects and they cannot be retrieved.

julia
TiltRegion("TST","GLB","Test Save TiltRegion",10,5,50,20,30,path=joinpath(pwd(),"test"))
The Tilted Rectilinear Region TST has the following properties:
     Region ID     (ID) : TST
     Parent ID    (pID) : GLB
     Name        (name) : Test Save TiltRegion
     Bounds   (N,S,E,W) : [47.32050807568877, -37.32050807568877, 63.30127018922193, -43.30127018922193]
     Shape      (shape) : Point{2, Float64}[[-43.30127018922193, -2.679491924311229], [-23.30127018922193, -37.32050807568877], [63.30127018922193, 12.679491924311229], [43.30127018922193, 47.32050807568877], [-43.30127018922193, -2.679491924311229]]
-    Tilt (X,Y,ΔX,ΔY,θ) : [10.0, 5.0, 50.0, 20.0, 30.0]
julia
deleteGeoRegions(path=joinpath(pwd(),"test"))
┌ Warning: 2024-09-28T04:08:42.822 - GeoRegions.jl - Removing custom GeoRegions.jl files from /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/test, all GeoRegion information saved into these files will be permanently lost.
+    Tilt (X,Y,ΔX,ΔY,θ) : [10.0, 5.0, 50.0, 20.0, 30.0]
julia
deleteGeoRegions(path=joinpath(pwd(),"test"))
┌ Warning: 2024-09-29T05:56:47.268 - GeoRegions.jl - Removing custom GeoRegions.jl files from /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/test, all GeoRegion information saved into these files will be permanently lost.
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/project.jl:161

Let's test and see if we can retrieve the user-defined GeoRegions now we have deleted their information from the project.

julia
julia> isID("TST",path=joinpath(pwd(),"test"),throw=false)
 false
`,70)]))}const E=i(t,[["render",h]]);export{g as __pageData,E as default}; diff --git a/dev/assets/tutorials_projects.md.BalvKBL1.js b/dev/assets/tutorials_projects.md.BYy2mK26.js similarity index 98% rename from dev/assets/tutorials_projects.md.BalvKBL1.js rename to dev/assets/tutorials_projects.md.BYy2mK26.js index 9e363a2a..0a63491d 100644 --- a/dev/assets/tutorials_projects.md.BalvKBL1.js +++ b/dev/assets/tutorials_projects.md.BYy2mK26.js @@ -1,16 +1,16 @@ import{_ as e,c as i,a4 as a,o as t}from"./chunks/framework.CEeYBNx8.js";const k=JSON.parse('{"title":"GeoRegions.jl for your Research Project","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials/projects.md","filePath":"tutorials/projects.md","lastUpdated":null}'),o={name:"tutorials/projects.md"};function n(l,s,p,h,r,d){return t(),i("div",null,s[0]||(s[0]=[a(`

GeoRegions.jl for your Research Project

In previous version of GeoRegions.jl (≤v6), we assume that all user-defined GeoRegions were meant to be universally shared. However, we have come to realize that this can cause problems if different projects have similar identifiers (ID) for different regions.

Therefore in v7 and above, GeoRegions.jl explicitly works on a project basis. This means that: * Predefined GeoRegions (GF, SREX and AR6) will still be available as part of the GeoRegions package. * All user-defined GeoRegions for a project should entail specification of a project directory using the keyword path, so that the GeoRegion can be saved specifically for the project. * Retrieving a GeoRegion for a particular project will require specification of the project directory using path. * By default path is the variable homedir()

1. Setup GeoRegions.jl for your Project

The best way to get started, is to use setupGeoRegions(path = "<directory>") in order to copy over the necessary files that will store your custom user-defined GeoRegions.

julia
using GeoRegions
 setupGeoRegions(path=pwd())

This will copy over the following files: rectlist.txt, polylist.txt, tiltlist.txt, which will stored RectRegions, PolyRegions and TiltRegions respectively.

julia
isfile(joinpath(pwd(),"rectlist.txt")),
 isfile(joinpath(pwd(),"polylist.txt")),
-isfile(joinpath(pwd(),"tiltlist.txt"))
(true, true, true)

If any of these files already exist in path, they will not be overwritten. To specifically overwrite all preexisting user-defined GeoRegions, use the keyword overwrite = true.

julia
setupGeoRegions(path=pwd(),overwrite=true)
┌ Warning: 2024-09-28T04:08:42.906 - GeoRegions.jl - Overwriting /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/rectlist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/files/rectlist.txt ...
+isfile(joinpath(pwd(),"tiltlist.txt"))
(true, true, true)

If any of these files already exist in path, they will not be overwritten. To specifically overwrite all preexisting user-defined GeoRegions, use the keyword overwrite = true.

julia
setupGeoRegions(path=pwd(),overwrite=true)
┌ Warning: 2024-09-29T05:56:47.358 - GeoRegions.jl - Overwriting /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/rectlist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/files/rectlist.txt ...
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/project.jl:43
-┌ Warning: 2024-09-28T04:08:42.906 - GeoRegions.jl - Overwriting /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/polylist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/files/polylist.txt ...
+┌ Warning: 2024-09-29T05:56:47.358 - GeoRegions.jl - Overwriting /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/polylist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/files/polylist.txt ...
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/project.jl:43
-┌ Warning: 2024-09-28T04:08:42.906 - GeoRegions.jl - Overwriting /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/tiltlist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/files/tiltlist.txt ...
+┌ Warning: 2024-09-29T05:56:47.358 - GeoRegions.jl - Overwriting /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/tiltlist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/files/tiltlist.txt ...
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/project.jl:43

See the API here

2. Listing out the custom GeoRegions for your Project

You can create a table of all the GeoRegions that have been saved to path using tableGeoRegions() as follows.

julia
tableGeoRegions(;path = ...)

For example, we create a table of user-defined and predefined GeoRegions for the current directory pwd().

Custom GeoRegions are always specified first

We always specify the custom user-defined GeoRegions first, because those are most relevant to a project.

julia
tableGeoRegions(path=pwd(),predefined=false)
 ----- ------------ ------- -------- --------------------------- ------------
   ID       Type      Name    Parent       Bounds [N,S,E,W]           File
  ----- ------------ ------- -------- --------------------------- ------------
   GLB   RectRegion   Globe    GLB     [90.0, -90.0, 360.0, 0.0]   global.txt
- ----- ------------ ------- -------- --------------------------- ------------

Note, we have no custom GeoRegions added, so there is nothing to list right now even though the files exist. If any of rectlist.txt, polylist.txt and tiltlist.txt are not present, a warning will be shown unless the keyword warn = false is set.

See the API here

3. Removing a the custom GeoRegions list from your Project

Say you want to completely clear your project of custom GeoRegions, replacing them with new lists. You can just delete the files directly, or you can do deleteGeoRegions().

Default path is pwd()

For deleteGeoRegions(), the default path is the current directory pwd().

julia
deleteGeoRegions()
┌ Warning: 2024-09-28T04:08:42.918 - GeoRegions.jl - Removing custom GeoRegions.jl files from /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials, all GeoRegion information saved into these files will be permanently lost.
+ ----- ------------ ------- -------- --------------------------- ------------

Note, we have no custom GeoRegions added, so there is nothing to list right now even though the files exist. If any of rectlist.txt, polylist.txt and tiltlist.txt are not present, a warning will be shown unless the keyword warn = false is set.

See the API here

3. Removing a the custom GeoRegions list from your Project

Say you want to completely clear your project of custom GeoRegions, replacing them with new lists. You can just delete the files directly, or you can do deleteGeoRegions().

Default path is pwd()

For deleteGeoRegions(), the default path is the current directory pwd().

julia
deleteGeoRegions()
┌ Warning: 2024-09-29T05:56:47.371 - GeoRegions.jl - Removing custom GeoRegions.jl files from /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials, all GeoRegion information saved into these files will be permanently lost.
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/project.jl:161

And then we see if rectlist.txt exists!

julia
isfile(joinpath(pwd(),"rectlist.txt")),
 isfile(joinpath(pwd(),"polylist.txt")),
 isfile(joinpath(pwd(),"tiltlist.txt"))
(false, false, false)

See the API here

`,31)]))}const g=e(o,[["render",n]]);export{k as __pageData,g as default}; diff --git a/dev/assets/tutorials_projects.md.BalvKBL1.lean.js b/dev/assets/tutorials_projects.md.BYy2mK26.lean.js similarity index 98% rename from dev/assets/tutorials_projects.md.BalvKBL1.lean.js rename to dev/assets/tutorials_projects.md.BYy2mK26.lean.js index 9e363a2a..0a63491d 100644 --- a/dev/assets/tutorials_projects.md.BalvKBL1.lean.js +++ b/dev/assets/tutorials_projects.md.BYy2mK26.lean.js @@ -1,16 +1,16 @@ import{_ as e,c as i,a4 as a,o as t}from"./chunks/framework.CEeYBNx8.js";const k=JSON.parse('{"title":"GeoRegions.jl for your Research Project","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials/projects.md","filePath":"tutorials/projects.md","lastUpdated":null}'),o={name:"tutorials/projects.md"};function n(l,s,p,h,r,d){return t(),i("div",null,s[0]||(s[0]=[a(`

GeoRegions.jl for your Research Project

In previous version of GeoRegions.jl (≤v6), we assume that all user-defined GeoRegions were meant to be universally shared. However, we have come to realize that this can cause problems if different projects have similar identifiers (ID) for different regions.

Therefore in v7 and above, GeoRegions.jl explicitly works on a project basis. This means that: * Predefined GeoRegions (GF, SREX and AR6) will still be available as part of the GeoRegions package. * All user-defined GeoRegions for a project should entail specification of a project directory using the keyword path, so that the GeoRegion can be saved specifically for the project. * Retrieving a GeoRegion for a particular project will require specification of the project directory using path. * By default path is the variable homedir()

1. Setup GeoRegions.jl for your Project

The best way to get started, is to use setupGeoRegions(path = "<directory>") in order to copy over the necessary files that will store your custom user-defined GeoRegions.

julia
using GeoRegions
 setupGeoRegions(path=pwd())

This will copy over the following files: rectlist.txt, polylist.txt, tiltlist.txt, which will stored RectRegions, PolyRegions and TiltRegions respectively.

julia
isfile(joinpath(pwd(),"rectlist.txt")),
 isfile(joinpath(pwd(),"polylist.txt")),
-isfile(joinpath(pwd(),"tiltlist.txt"))
(true, true, true)

If any of these files already exist in path, they will not be overwritten. To specifically overwrite all preexisting user-defined GeoRegions, use the keyword overwrite = true.

julia
setupGeoRegions(path=pwd(),overwrite=true)
┌ Warning: 2024-09-28T04:08:42.906 - GeoRegions.jl - Overwriting /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/rectlist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/files/rectlist.txt ...
+isfile(joinpath(pwd(),"tiltlist.txt"))
(true, true, true)

If any of these files already exist in path, they will not be overwritten. To specifically overwrite all preexisting user-defined GeoRegions, use the keyword overwrite = true.

julia
setupGeoRegions(path=pwd(),overwrite=true)
┌ Warning: 2024-09-29T05:56:47.358 - GeoRegions.jl - Overwriting /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/rectlist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/files/rectlist.txt ...
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/project.jl:43
-┌ Warning: 2024-09-28T04:08:42.906 - GeoRegions.jl - Overwriting /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/polylist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/files/polylist.txt ...
+┌ Warning: 2024-09-29T05:56:47.358 - GeoRegions.jl - Overwriting /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/polylist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/files/polylist.txt ...
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/project.jl:43
-┌ Warning: 2024-09-28T04:08:42.906 - GeoRegions.jl - Overwriting /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/tiltlist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/files/tiltlist.txt ...
+┌ Warning: 2024-09-29T05:56:47.358 - GeoRegions.jl - Overwriting /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/tiltlist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/files/tiltlist.txt ...
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/project.jl:43

See the API here

2. Listing out the custom GeoRegions for your Project

You can create a table of all the GeoRegions that have been saved to path using tableGeoRegions() as follows.

julia
tableGeoRegions(;path = ...)

For example, we create a table of user-defined and predefined GeoRegions for the current directory pwd().

Custom GeoRegions are always specified first

We always specify the custom user-defined GeoRegions first, because those are most relevant to a project.

julia
tableGeoRegions(path=pwd(),predefined=false)
 ----- ------------ ------- -------- --------------------------- ------------
   ID       Type      Name    Parent       Bounds [N,S,E,W]           File
  ----- ------------ ------- -------- --------------------------- ------------
   GLB   RectRegion   Globe    GLB     [90.0, -90.0, 360.0, 0.0]   global.txt
- ----- ------------ ------- -------- --------------------------- ------------

Note, we have no custom GeoRegions added, so there is nothing to list right now even though the files exist. If any of rectlist.txt, polylist.txt and tiltlist.txt are not present, a warning will be shown unless the keyword warn = false is set.

See the API here

3. Removing a the custom GeoRegions list from your Project

Say you want to completely clear your project of custom GeoRegions, replacing them with new lists. You can just delete the files directly, or you can do deleteGeoRegions().

Default path is pwd()

For deleteGeoRegions(), the default path is the current directory pwd().

julia
deleteGeoRegions()
┌ Warning: 2024-09-28T04:08:42.918 - GeoRegions.jl - Removing custom GeoRegions.jl files from /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials, all GeoRegion information saved into these files will be permanently lost.
+ ----- ------------ ------- -------- --------------------------- ------------

Note, we have no custom GeoRegions added, so there is nothing to list right now even though the files exist. If any of rectlist.txt, polylist.txt and tiltlist.txt are not present, a warning will be shown unless the keyword warn = false is set.

See the API here

3. Removing a the custom GeoRegions list from your Project

Say you want to completely clear your project of custom GeoRegions, replacing them with new lists. You can just delete the files directly, or you can do deleteGeoRegions().

Default path is pwd()

For deleteGeoRegions(), the default path is the current directory pwd().

julia
deleteGeoRegions()
┌ Warning: 2024-09-29T05:56:47.371 - GeoRegions.jl - Removing custom GeoRegions.jl files from /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials, all GeoRegion information saved into these files will be permanently lost.
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/project.jl:161

And then we see if rectlist.txt exists!

julia
isfile(joinpath(pwd(),"rectlist.txt")),
 isfile(joinpath(pwd(),"polylist.txt")),
 isfile(joinpath(pwd(),"tiltlist.txt"))
(false, false, false)

See the API here

`,31)]))}const g=e(o,[["render",n]]);export{k as __pageData,g as default}; diff --git a/dev/basics/create.html b/dev/basics/create.html index f65ecbb5..58597b92 100644 --- a/dev/basics/create.html +++ b/dev/basics/create.html @@ -8,16 +8,16 @@ - + - + -
Skip to content

Creating Custom GeoRegions

Recall that there are three different types of GeoRegions: (a) RectRegions, (b) TiltRegions and (c) PolyRegions.

We use the functions RectRegion(), TiltRegion() and PolyRegion to create new GeoRegions of their respective types. Regardless of GeoRegion type, the first three inputs are always the same, in respective order:

  1. The ID (ID)

  2. parent GeoRegion ID, (pID)

  3. Name of the GeoRegion (name)

julia
RectRegion(ID, pID, name, ...)
+    
Skip to content

Creating Custom GeoRegions

Recall that there are three different types of GeoRegions: (a) RectRegions, (b) TiltRegions and (c) PolyRegions.

We use the functions RectRegion(), TiltRegion() and PolyRegion to create new GeoRegions of their respective types. Regardless of GeoRegion type, the first three inputs are always the same, in respective order:

  1. The ID (ID)

  2. parent GeoRegion ID, (pID)

  3. Name of the GeoRegion (name)

julia
RectRegion(ID, pID, name, ...)
 TiltRegion(ID, pID, name, ...)
 PolyRegion(ID, pID, name, ...)

Each of these functions have specific inputs, as seen in the respective sections below.

Defining New RectRegions

Out of all three GeoRegion types currently available, the RectRegion is most straightforward to define. All you need to do is specify the [N, S, E, W] boundaries, in that order.

Constraints on N, S, E, W bounds

The following are the constraints on the North, South, East and West bounds:

  1. N > S

  2. E > W

  3. -90 ≤ N,S ≤ 90

  4. -180 ≤ E,W ≤ 360

  5. (E - W) < 360

julia
RectRegion(ID, pID, name, [N, S, E, W])

As an example construct the sample RectRegion, with ID TRR, pID GLB and with the name as Test Rectangle Region

julia
julia> using GeoRegions
 
@@ -45,7 +45,7 @@
     Bounds   (N,S,E,W) : [47.32050807568877, -37.32050807568877, 63.30127018922193, -43.30127018922193]
     Shape      (shape) : Point{2, Float64}[[-43.30127018922193, -2.679491924311229], [-23.30127018922193, -37.32050807568877], [63.30127018922193, 12.679491924311229], [43.30127018922193, 47.32050807568877], [-43.30127018922193, -2.679491924311229]]
     Tilt (X,Y,ΔX,ΔY,θ) : [10.0, 5.0, 50.0, 20.0, 30.0]

See the API here

- + \ No newline at end of file diff --git a/dev/basics/properties/isequal.html b/dev/basics/properties/isequal.html index 3bc3fe46..f0fee2bd 100644 --- a/dev/basics/properties/isequal.html +++ b/dev/basics/properties/isequal.html @@ -8,17 +8,17 @@ - + - + - - + + \ No newline at end of file diff --git a/dev/basics/properties/isin.html b/dev/basics/properties/isin.html index 241087c7..0b04ed89 100644 --- a/dev/basics/properties/isin.html +++ b/dev/basics/properties/isin.html @@ -8,16 +8,16 @@ - + - + - + -
Skip to content

Is it in a GeoRegion?

When dealing with geographic data, we often wish to check if a point or region is inside another region. GeoRegions.jl allows you to perform this check easily with the function isinGeoRegion.

Point Type

We use the Point Type from the package GeometryBasics.jl, which is reexported by GeoRegions.jl, as an easy way to denote points. This also allows us to use the package PolygonOps.jl to determine if a point is inside a region.

@example
using GeoRegions
+    
Skip to content

Is it in a GeoRegion?

When dealing with geographic data, we often wish to check if a point or region is inside another region. GeoRegions.jl allows you to perform this check easily with the function isinGeoRegion.

Point2 Type

We use the Point2 Type from the package GeometryBasics.jl, which is reexported by GeoRegions.jl, as an easy way to denote points. This also allows us to use the package GeometryOps.jl to determine if a point is within a GeoRegion.

@example
using GeoRegions
 using DelimitedFiles
 using CairoMakie
 
@@ -46,7 +46,7 @@
 scatter!(ax,C,markersize=20)
 resize_to_layout!(fig)
 fig

By eye it is easy to see that Point A is inside the GeoRegion. However, C is not. Let us now see if we are able to corroborate this with GeoRegions.jl using the function in()

julia
in(A,geo), # Point A
-in(C,geo)  # Point C
(true, false)

But what about Point B? Point B is also very obvious within the bounds of the GeoRegion, it is simply that the longitude of Point A is shifted by 360º such that it is now in the (0,360) coordinates frame. We see that this is of no concern to GeoRegions.jl, which can detect that it is within the bounds of the GeoRegion anyway.

julia
in(B,geo)
true

See the API here

Is a GeoRegion inside a GeoRegion?

Since any arbitrary geographic region can be defined as a GeoRegion, the natural extension now is to determine if a GeoRegion is wholly within another GeoRegion.

Let us consider an arbitrary GeoRegion BIG, and other smaller GeoRegions TS1-4 as defined below, and plot them on a map.

@example
geo_BIG = PolyRegion(
+in(C,geo)  # Point C
(true, false)

But what about Point B? Point B is also very obvious within the bounds of the GeoRegion, it is simply that the longitude of Point A is shifted by 360º such that it is now in the (0,360) coordinates frame. We see that this is of no concern to GeoRegions.jl, which can detect that it is within the bounds of the GeoRegion anyway.

julia
in(B,geo)
true

See the API here

Is a GeoRegion inside a GeoRegion?

Since any arbitrary geographic region can be defined as a GeoRegion, the natural extension now is to determine if a GeoRegion is wholly within another GeoRegion.

Let us consider an arbitrary GeoRegion BIG, and other smaller GeoRegions TS1-4 as defined below, and plot them on a map.

@example
geo_BIG = PolyRegion(
     "BIG","GLB","A Big Region",
     [-120,-100,-100,-80,-30,15,45,75,90,115,120,105,85,45,20,-5,-45,-80,-120],
     [0,10,30,50,40,50,55,44,32,30,12,8,5,0,-10,-30,-40,-43,0]
@@ -88,8 +88,8 @@
 fig

We see by eye that GeoRegion TS2 and TS4 are in the BIG region, but the other GeoRegions are not. Now let us verify this with in()

julia
in(geo_TS1,geo_BIG),
 in(geo_TS2,geo_BIG),
 in(geo_TS3,geo_BIG),
-in(geo_TS4,geo_BIG)
(false, true, false, true)

And we see that this is indeed the case.

See the API for RectRegion type here, and for the TiltRegion and PolyRegion types here.

- +in(geo_TS4,geo_BIG)
(false, true, false, true)

And we see that this is indeed the case.

See the API here.

+ \ No newline at end of file diff --git a/dev/basics/properties/ison.html b/dev/basics/properties/ison.html new file mode 100644 index 00000000..1437e86f --- /dev/null +++ b/dev/basics/properties/ison.html @@ -0,0 +1,72 @@ + + + + + + Is it on a GeoRegion Boundary? | GeoRegions.jl + + + + + + + + + + + + + +
Skip to content

Is it on a GeoRegion Boundary?

Sometimes, we don't just want information on whether a point is inside a GeoRegion. Sometimes, it is important to know if something is on the boundary of a GeoRegion. This would prove useful in determining if the shapes of two different GeoRegions are equivalent to each other.

Point2 Type

We use the Point2 Type from the package GeometryBasics.jl, which is reexported by GeoRegions.jl, as an easy way to denote points. This also allows us to use the package GeometryOps.jl to determine if a point is on a GeoRegion boundary.

@example
using GeoRegions
+using DelimitedFiles
+using CairoMakie
+
+download("https://raw.githubusercontent.com/natgeo-wong/GeoPlottingData/main/coastline_resl.txt","coast.cst")
+coast = readdlm("coast.cst",comments=true)
+clon  = coast[:,1]
+clat  = coast[:,2]
+nothing

Is a Point on a GeoRegion Boundary?

As an example, let us test if a point is on the perimeter of the GeoRegion AR6_EAO, defined in the blue bounding box below.

julia
geo = GeoRegion("AR6_EAO")
The Polygonal Region AR6_EAO has the following properties:
+    Region ID     (ID) : AR6_EAO
+    Parent ID    (pID) : GLB
+    Name        (name) : Equatorial Atlantic Ocean
+    Bounds   (N,S,E,W) : [7.6, -10.0, 8.0, -50.0]
+    Shape      (shape) : Point{2, Float64}[[-34.0, -10.0], [-34.0, 0.0], [-50.0, 0.0], [-50.0, 7.6], [-20.0, 7.6], [8.0, 0.0], [8.0, -10.0], [-34.0, -10.0]]

Next, we select a point along the border

julia
A = Point(-25,7.6)
+B = Point(345,7.6)
+C = Point(-20,5)
+D = Point(-45,-7.5)
2-element Point{2, Float64} with indices SOneTo(2):
+ -45.0
+  -7.5

Here, we note that A and B

@example
slon,slat = coordinates(geo)
+aspect = (maximum(slon)-minimum(slon))/(maximum(slat)-minimum(slat))
+fig = Figure()
+ax = Axis(
+    fig[1,1],width=750,height=750/aspect,
+    limits=(minimum(slon)-2,maximum(slon)+2,minimum(slat)-2,maximum(slat)+2)
+)
+lines!(ax,clon,clat,color=:black,linewidth=3)
+lines!(ax,slon,slat,linewidth=5)
+scatter!(ax,A,markersize=20)
+scatter!(ax,C,markersize=20)
+scatter!(ax,D,markersize=20)
+resize_to_layout!(fig)
+fig

By eye it is easy to see that Point A is on the GeoRegion perimeter. However, C and D are not. Let us now see if we are able to corroborate this with GeoRegions.jl using the function on()

julia
on(A,geo), # Point A
+on(C,geo)  # Point C
+on(D,geo)  # Point D
false

But what about Point B? Point B is also very obviously on the bounds of the GeoRegion, it is simply that the longitude of Point B is shifted by 360º from A such that it is now in the (0,360) coordinates frame. We see that this is of no concern to GeoRegions.jl, which can detect that it is within the bounds of the GeoRegion anyway.

julia
on(B,geo)
false

See the API here

Is a GeoRegion on a GeoRegion? (i.e., Are their Shapes the Same?)

We can also use the on() function to determine if the perimeter of a GeoRegion is on the perimeter of another. Or, in simpler terms, if two GeoRegions define the same shape. For example:

julia
on(geo,geo)
true

See the API here

Which is obvious because we are comparing a GeoRegion against itself. However, let us try something a bit more complicated.

1. circshift() the points defining the GeoRegion

In this test case, we use circshift() to change the starting and ending coordinates of the shape. Therefore, we are defining the same region, just with different start and ending points.

julia
lon,lat = coordinates(geo)
+pop!(lon); lon = circshift(lon,2); lon = vcat(lon,lon[1])
+pop!(lat); lat = circshift(lat,2); lat = vcat(lat,lat[1])
+geo2 = PolyRegion("","","",lon,lat)
The Polygonal Region  has the following properties:
+    Region ID     (ID) : 
+    Parent ID    (pID) : 
+    Name        (name) : 
+    Bounds   (N,S,E,W) : [7.6, -10.0, 8.0, -50.0]
+    Shape      (shape) : Point{2, Float64}[[8.0, 0.0], [8.0, -10.0], [-34.0, -10.0], [-34.0, 0.0], [-50.0, 0.0], [-50.0, 7.6], [-20.0, 7.6], [8.0, 0.0]]

So here, we have circshifted the lon and lat values used to define the GeoRegion such that instead of the start/end points being at (-34,-10), now the start/end points are at (-50,0).

We compare the shapes of the two GeoRegions:

julia
on(geo,geo2),
+on(geo2,geo)
(true, true)

And see that the GeoRegions define the same area.

Order of GeoRegions does not matter in on()

The order should not matter, because in the on() function, the GeoRegions are both compared against each other. So on(geo,geo2) = on(geo2,geo). If you find any edge cases where this is not the case, please let me know and I will look into it.

2. Shifting the GeoRegion by 360º

In this test case, we shift the lon of geo by 360º, so that it is on a (0,360) grid instead of a (-180,180) grid.

julia
lon,lat = coordinates(geo); lon = lon .+ 360
+geo3 = PolyRegion("","","",lon,lat)
The Polygonal Region  has the following properties:
+    Region ID     (ID) : 
+    Parent ID    (pID) : 
+    Name        (name) : 
+    Bounds   (N,S,E,W) : [7.6, -10.0, 368.0, 310.0]
+    Shape      (shape) : Point{2, Float64}[[326.0, -10.0], [326.0, 0.0], [310.0, 0.0], [310.0, 7.6], [340.0, 7.6], [368.0, 0.0], [368.0, -10.0], [326.0, -10.0]]

We compare the shapes of the two GeoRegions:

julia
on(geo,geo3)
true

And we see that the GeoRegions define the same area.

+ + + + \ No newline at end of file diff --git a/dev/basics/properties/shape.html b/dev/basics/properties/shape.html index cd2f9ffa..96f85ef9 100644 --- a/dev/basics/properties/shape.html +++ b/dev/basics/properties/shape.html @@ -8,16 +8,16 @@ - + - + -
Skip to content

The Shape of a GeoRegion

In this section, we go through process of extracting information on the shape of the GeoRegion.

Let us now setup the example

@example
using GeoRegions
+    
Skip to content

The Shape of a GeoRegion

In this section, we go through process of extracting information on the shape of the GeoRegion.

Let us now setup the example

@example
using GeoRegions
 using DelimitedFiles
 using CairoMakie
 
@@ -43,7 +43,7 @@
 resize_to_layout!(fig)
 fig

This plotting works on maps where the projection is equirectangular. However, there are many different map projections, and so we can specify the number of segments n on each side of the shape using the keyword argument n in order to ensure during plotting that is plotted correctly on the projection.

julia
nlon,nlat = coordinates(geo,n=50)
 length(lon), length(nlon)
(9, 401)

Number of Points

The shape is defined by 8 sides. Therefore there are by default 8 + 1 = 9 coordinate points to close the polygon. If we specify 50 segments a side, we therefore have 400 + 1 = 401 coordinate points to close the polygon.

See the API here

- + \ No newline at end of file diff --git a/dev/basics/read/listall.html b/dev/basics/read/listall.html index 494fe89c..1f77b11a 100644 --- a/dev/basics/read/listall.html +++ b/dev/basics/read/listall.html @@ -8,16 +8,16 @@ - + - + -
Skip to content

Default List of Predefined GeoRegions

julia
using GeoRegions
+    
Skip to content

Default List of Predefined GeoRegions

julia
using GeoRegions
 setupGeoRegions(overwrite=true);

GeoRegions.jl's default region is the Globe

julia
tableGeoRegions(predefined=false,custom=false)
 ----- ------------ ------- -------- --------------------------- ------------
   ID       Type      Name    Parent       Bounds [N,S,E,W]           File
  ----- ------------ ------- -------- --------------------------- ------------
@@ -147,7 +147,7 @@
   AR6_SIO    PolyRegion   Southern Indian Ocean        GLB      [-10.0, -36.0, 110.0, 31.0]     ar6.txt
   AR6_SOO    PolyRegion   Southern Ocean               GLB     [-36.0, -75.0, 180.0, -180.0]    ar6.txt
  ---------- ------------ --------------------------- -------- ------------------------------- ------------
- + \ No newline at end of file diff --git a/dev/basics/read/overview.html b/dev/basics/read/overview.html index 3b93533d..372cc9f3 100644 --- a/dev/basics/read/overview.html +++ b/dev/basics/read/overview.html @@ -8,23 +8,23 @@ - + - + -
Skip to content

Reading Predefined GeoRegions

The most basic functionality is to retrieve the information of a GeoRegion. There are several sets of predefined GeoRegions in GeoRegions.jl, listed here.

You can read and retrieve the properties of a GeoRegion using the function GeoRegion() for a given ID, which is a String type.

julia
geo = GeoRegion(ID)

For example, the default GeoRegion spans the whole globe. Its ID is ID = "GLB".

julia
using GeoRegions
+    
Skip to content

Reading Predefined GeoRegions

The most basic functionality is to retrieve the information of a GeoRegion. There are several sets of predefined GeoRegions in GeoRegions.jl, listed here.

You can read and retrieve the properties of a GeoRegion using the function GeoRegion() for a given ID, which is a String type.

julia
geo = GeoRegion(ID)

For example, the default GeoRegion spans the whole globe. Its ID is ID = "GLB".

julia
using GeoRegions
 geo = GeoRegion("GLB")
The Rectilinear Region GLB has the following properties:
     Region ID     (ID) : GLB
     Parent ID    (pID) : GLB
     Name        (name) : Globe
     Bounds   (N,S,E,W) : [90.0, -90.0, 360.0, 0.0]
     Shape      (shape) : Point{2, Float64}[[0.0, 90.0], [360.0, 90.0], [360.0, -90.0], [0.0, -90.0], [0.0, 90.0]]

This is the most basic, and yet the most important, functionality of GeoRegions.jl. For the full API of the function GeoRegion() that talks about more advanced uses, see the section on reading custom GeoRegions

See the API here

- + \ No newline at end of file diff --git a/dev/basics/read/predefined.html b/dev/basics/read/predefined.html index 58061da0..6beff1d6 100644 --- a/dev/basics/read/predefined.html +++ b/dev/basics/read/predefined.html @@ -8,16 +8,16 @@ - + - + -
Skip to content

Predefined GeoRegions in GeoRegions.jl

In GeoRegions.jl, there are a predefined set of GeoRegions.

Adapted from Giorgi & Francisco [2000]

Add the GF_ prefix to the 3-letter IDs given in Giorgi & Francisco [2000] to call GeoRegions adapted from this paper. All GeoRegions are defined as the RectRegion type.

Defined in GeoRegions.jl ≥ v1.1

All GF_* domains are defined only in versions ≥1.1

julia
using GeoRegions
+    
Skip to content

Predefined GeoRegions in GeoRegions.jl

In GeoRegions.jl, there are a predefined set of GeoRegions.

Adapted from Giorgi & Francisco [2000]

Add the GF_ prefix to the 3-letter IDs given in Giorgi & Francisco [2000] to call GeoRegions adapted from this paper. All GeoRegions are defined as the RectRegion type.

Defined in GeoRegions.jl ≥ v1.1

All GF_* domains are defined only in versions ≥1.1

julia
using GeoRegions
 GeoRegion("GF_WAF")
The Rectilinear Region GF_WAF has the following properties:
     Region ID     (ID) : GF_WAF
     Parent ID    (pID) : GLB
@@ -36,7 +36,7 @@
     Name        (name) : East Asia
     Bounds   (N,S,E,W) : [45.0, 19.5, 152.0, 100.0]
     Shape      (shape) : Point{2, Float64}[[100.0, 19.5], [100.0, 37.0], [108.0, 37.0], [117.0, 45.0], [152.0, 45.0], [132.0, 25.0], [132.0, 19.5], [100.0, 19.5]]

To see the full list of predefined GeoRegions from Iturbide et al., [2020], go here

- + \ No newline at end of file diff --git a/dev/basics/read/tables.html b/dev/basics/read/tables.html index 970f6a1e..66348c04 100644 --- a/dev/basics/read/tables.html +++ b/dev/basics/read/tables.html @@ -8,16 +8,16 @@ - + - + -
Skip to content

Tabular Listings of GeoRegions

A list of GeoRegions and their basic properties can be called using the function tableGeoRegions(), which lists all available GeoRegions, both predefined and user-defined. You can also choose to list only predefined or user-customized GeoRegions by setting their respective keywords arguments to true/false.

julia
tableGeoRegions(predefined = true/false, custom = true/false)

Additional Functionality for tableGeoRegions()

It is possible to use tableGeoRegions() to list user-defined GeoRegions in specific paths/directories. By default, it will list user-defined GeoRegions saved into the path joinpath(DEPOT_PATH[1],"files","GeoRegions"). For more on user-defined GeoRegions and saving them as part of a larger project, refer to how to setup GeoRegions.jl for a project. Full API documentation for tableGeoRegions() is given here.

More specific lists of GeoRegions

Besides listing all available GeoRegions, it is also possible to list a variety of different subtypes of GeoRegions with the tableRectRegions(), tableTiltRegions() and tablePolyRegions().

julia
tableRectRegions(giorgi = true/false, custom = true/false)
+    
Skip to content

Tabular Listings of GeoRegions

A list of GeoRegions and their basic properties can be called using the function tableGeoRegions(), which lists all available GeoRegions, both predefined and user-defined. You can also choose to list only predefined or user-customized GeoRegions by setting their respective keywords arguments to true/false.

julia
tableGeoRegions(predefined = true/false, custom = true/false)

Additional Functionality for tableGeoRegions()

It is possible to use tableGeoRegions() to list user-defined GeoRegions in specific paths/directories. By default, it will list user-defined GeoRegions saved into the path joinpath(DEPOT_PATH[1],"files","GeoRegions"). For more on user-defined GeoRegions and saving them as part of a larger project, refer to how to setup GeoRegions.jl for a project. Full API documentation for tableGeoRegions() is given here.

More specific lists of GeoRegions

Besides listing all available GeoRegions, it is also possible to list a variety of different subtypes of GeoRegions with the tableRectRegions(), tableTiltRegions() and tablePolyRegions().

julia
tableRectRegions(giorgi = true/false, custom = true/false)
 tableTiltRegions()
 tablePolyRegions(srex = true/false, ar6 = true/false, custom = true/false)

GLB Region will always appear

The GLB GeoRegion will always appear in the table, because it is the ultimate parent GeoRegion. All other GeoRegions will always in some manner be a subset of the GLB GeoRegion.

Use Case Examples

julia
using GeoRegions
 tableGeoRegions(warn=false)
 ---------- ------------ ---------------------------- -------- ------------------------------- ------------
@@ -137,7 +137,7 @@
   AR6_SIO    PolyRegion   Southern Indian Ocean         GLB      [-10.0, -36.0, 110.0, 31.0]     ar6.txt
   AR6_SOO    PolyRegion   Southern Ocean                GLB     [-36.0, -75.0, 180.0, -180.0]    ar6.txt
  ---------- ------------ ---------------------------- -------- ------------------------------- ------------

See the API here

- + \ No newline at end of file diff --git a/dev/ecosystem.html b/dev/ecosystem.html index 3a135045..1da90574 100644 --- a/dev/ecosystem.html +++ b/dev/ecosystem.html @@ -8,17 +8,17 @@ - + - + - + -
Skip to content

Ecosystem

GeoRegions.jl

GeoRegions.jl

GeoRegions.jl

Defining Geographic Regions of Interest for Geospatial Data in Geoscience and Climate.

Frameworks Extending GeoRegions.jl

RegionGrids.jl

RegionGrids.jl

Extracting Gridded Data for a given GeoRegion

LandSea.jl

LandSea.jl

Extensible Land-Sea Mask Datasets

The GeoRegions Ecosystem

NASAPrecipitation.jl

NASAPrecipitation.jl

Downloading, Extracting and Analyzing NASA Satellite Precipitation Data

ERA5Reanalysis.jl

ERA5Reanalysis.jl

Downloading, Extracting and Analyzing ERA5 Reanalysis Data

NASABrightnessTemperature.jl

NASABrightnessTemperature.jl

Downloading, Extracting and Analyzing NASA Brightness Temperature Data

- +
Skip to content

Ecosystem

GeoRegions.jl

GeoRegions.jl

GeoRegions.jl

Defining Geographic Regions of Interest for Geospatial Data in Geoscience and Climate.

Frameworks Extending GeoRegions.jl

RegionGrids.jl

RegionGrids.jl

Extracting Gridded Data for a given GeoRegion

LandSea.jl

LandSea.jl

Extensible Land-Sea Mask Datasets

The GeoRegions Ecosystem

NASAPrecipitation.jl

NASAPrecipitation.jl

Downloading, Extracting and Analyzing NASA Satellite Precipitation Data

ERA5Reanalysis.jl

ERA5Reanalysis.jl

Downloading, Extracting and Analyzing ERA5 Reanalysis Data

NASABrightnessTemperature.jl

NASABrightnessTemperature.jl

Downloading, Extracting and Analyzing NASA Brightness Temperature Data

+ \ No newline at end of file diff --git a/dev/georegions.html b/dev/georegions.html index 1cdccf35..971df379 100644 --- a/dev/georegions.html +++ b/dev/georegions.html @@ -8,17 +8,17 @@ - + - + - + -
Skip to content

What is a GeoRegion?

In essence, a GeoRegion is:

  • a geographical region of interest

  • identified by an ID

  • a subregion of a parent GeoRegion (identified by pID, which must also be a valid ID)

Default GeoRegions

When using GeoRegions.jl, the default GeoRegion should generally be the global domain, specified by GLB and given by the [N,S,E,W] coordinates [90,-90,360,0]. The Global GeoRegion GLB is considered to be a subset of itself.

GeoRegions.GeoRegion Type
julia
GeoRegion

Abstract supertype for geographical regions. All GeoRegion types contain the following fields:

  • ID - A String Type, the identifier for the GeoRegion.

  • pID - A String Type, the identifier for the parent GeoRegion.

  • name - A String Type, the full name of the GeoRegion.

  • bound - A vector of Float Types, defining the [North, South, East, West] boundaries of the GeoRegion.

  • shape - A vector of Point2 Types, defining a non-rectilinear shape of the GeoRegion

  • geometry - A Polygon Type (see GeometryBasics.jl), which is useful when doing checks on polygons using GeometryOps.jl.

source

Types of GeoRegions

In GeoRegions.jl, we differentiate between several different types of GeoRegions:

  • Rectilinear GeoRegions are denoted by the RectRegion type, available in all version of GeoRegions.jl

  • Tilted rectangular GeoRegions are denoted by the TiltRegion type, available in ≥v6

  • Polygonal GeoRegions are denoted by the PolyRegion type, available in ≥v2

RectRegions

GeoRegions.RectRegion Type
julia
RectRegion <: GeoRegion

A rectangular region on a rectilinear grid. Defined by its N,S,E,W boundaries.

source

TiltRegions

GeoRegions.TiltRegion Type
julia
TiltRegion <: GeoRegion

A tilted rectangular region on a rectilinear grid. Defined by:

  • the (lon,lat) coordinates of its centre.

  • the width in both the longitude and latitude directions (pre-rotation).

  • the angle of tilt in degrees (clockwise).

In addition to all the fields common to the GeoRegion abstract type, TiltRegions will also contain the following field:

  • tilt : A vector of Float Types, containing [X,Y,ΔX,ΔY,θ], where:
    • X : A Float Type, the longitude coordinate of region centre.

    • Y : A Float Type, the latitude coordinate of region centre.

    • θ : A Float Type, the angle-tilt of rectangular region in degrees in the clockwise direction.

    • ΔX : A Float Type, the half-width in longitude coordinates (before tilting).

    • ΔY : A Float Type, the half-width in latitude coordinates (before tilting).

source

PolyRegions

GeoRegions.PolyRegion Type
julia
PolyRegion <: GeoRegion

A polygonal region on a rectilinear lon-lat grid, defined by the (lon,lat) coordinates of its vertices.

source

- +
Skip to content

What is a GeoRegion?

In essence, a GeoRegion is:

  • a geographical region of interest

  • identified by an ID

  • a subregion of a parent GeoRegion (identified by pID, which must also be a valid ID)

Default GeoRegions

When using GeoRegions.jl, the default GeoRegion should generally be the global domain, specified by GLB and given by the [N,S,E,W] coordinates [90,-90,360,0]. The Global GeoRegion GLB is considered to be a subset of itself.

GeoRegions.GeoRegion Type
julia
GeoRegion

Abstract supertype for geographical regions. All GeoRegion types contain the following fields:

  • ID - A String Type, the identifier for the GeoRegion.

  • pID - A String Type, the identifier for the parent GeoRegion.

  • name - A String Type, the full name of the GeoRegion.

  • bound - A vector of Float Types, defining the [North, South, East, West] boundaries of the GeoRegion.

  • shape - A vector of Point2 (see GeometryBasics.jl) Types, defining a non-rectilinear shape of the GeoRegion

  • geometry - A Polygon Type (see GeometryBasics.jl), which is useful when doing checks on polygons using GeometryOps.jl.

source

Types of GeoRegions

In GeoRegions.jl, we differentiate between several different types of GeoRegions:

  • Rectilinear GeoRegions are denoted by the RectRegion type, available in all version of GeoRegions.jl

  • Tilted rectangular GeoRegions are denoted by the TiltRegion type, available in ≥v6

  • Polygonal GeoRegions are denoted by the PolyRegion type, available in ≥v2

RectRegions

GeoRegions.RectRegion Type
julia
RectRegion <: GeoRegion

A rectangular region on a rectilinear grid. Defined by its N,S,E,W boundaries.

source

TiltRegions

GeoRegions.TiltRegion Type
julia
TiltRegion <: GeoRegion

A tilted rectangular region on a rectilinear grid. Defined by:

  • the (lon,lat) coordinates of its centre.

  • the width in both the longitude and latitude directions (pre-rotation).

  • the angle of tilt in degrees (clockwise).

In addition to all the fields common to the GeoRegion abstract type, TiltRegions will also contain the following field:

  • tilt : A vector of Float Types, containing [X,Y,ΔX,ΔY,θ], where:
    • X : A Float Type, the longitude coordinate of region centre.

    • Y : A Float Type, the latitude coordinate of region centre.

    • θ : A Float Type, the angle-tilt of rectangular region in degrees in the clockwise direction.

    • ΔX : A Float Type, the half-width in longitude coordinates (before tilting).

    • ΔY : A Float Type, the half-width in latitude coordinates (before tilting).

source

PolyRegions

GeoRegions.PolyRegion Type
julia
PolyRegion <: GeoRegion

A polygonal region on a rectilinear lon-lat grid, defined by the (lon,lat) coordinates of its vertices.

source

+ \ No newline at end of file diff --git a/dev/hashmap.json b/dev/hashmap.json index 120c35f7..40c4abc1 100644 --- a/dev/hashmap.json +++ b/dev/hashmap.json @@ -1 +1 @@ -{"api_addreadrm.md":"DnuYhvQX","api_create.md":"a08f40ab","api_isin.md":"C9O7p9Kk","api_project.md":"B-Xg_EhC","api_properties.md":"CY5qN-Uv","api_tables.md":"BE2TdVz3","basics_create.md":"BvDIg_n0","basics_properties_isequal.md":"COWLrYK9","basics_properties_isin.md":"Sf__OxPC","basics_properties_shape.md":"yJiFZJGT","basics_read_listall.md":"DJzmCRSf","basics_read_overview.md":"C6dbCRPI","basics_read_predefined.md":"CkcpGbG_","basics_read_tables.md":"BpIxE-DA","ecosystem.md":"WWFq2H_K","georegions.md":"Kz-CFn4T","index.md":"aKogp6iW","tutorials_addreadrm.md":"cToC0JM0","tutorials_files.md":"CeVaaej-","tutorials_projects.md":"BalvKBL1"} +{"api_addreadrm.md":"DBoi6M4T","api_create.md":"DwJ4cBlF","api_isinon.md":"BakDqIMY","api_project.md":"B9zKihwz","api_properties.md":"BDyuG93J","api_tables.md":"6udEEXiu","basics_create.md":"BvDIg_n0","basics_properties_isequal.md":"COWLrYK9","basics_properties_isin.md":"BAbZdMC-","basics_properties_ison.md":"BTMJ7sz-","basics_properties_shape.md":"yJiFZJGT","basics_read_listall.md":"DJzmCRSf","basics_read_overview.md":"C6dbCRPI","basics_read_predefined.md":"CkcpGbG_","basics_read_tables.md":"BpIxE-DA","ecosystem.md":"D_3LMuPR","georegions.md":"DkvYdDEI","index.md":"aKogp6iW","tutorials_addreadrm.md":"BTFcrDbb","tutorials_files.md":"CeVaaej-","tutorials_projects.md":"BYy2mK26"} diff --git a/dev/index.html b/dev/index.html index fe709f92..f92ff8a8 100644 --- a/dev/index.html +++ b/dev/index.html @@ -8,18 +8,18 @@ - + - + -
Skip to content

GeoRegions.jl

Geographic Regions for Geospatial Data

Defining Geographic Regions of Interest for Geospatial Data in Geoscience and Climate.

GeoRegions

Installation Instructions

The latest version of GeoRegions can be installed using the Julia package manager (accessed by pressing ] in the Julia command prompt)

julia
julia> ]
+    
Skip to content

GeoRegions.jl

Geographic Regions for Geospatial Data

Defining Geographic Regions of Interest for Geospatial Data in Geoscience and Climate.

GeoRegions

Installation Instructions

The latest version of GeoRegions can be installed using the Julia package manager (accessed by pressing ] in the Julia command prompt)

julia
julia> ]
 (@v1.10) pkg> add GeoRegions

You can update GeoRegions.jl to the latest version using

julia
(@v1.10) pkg> update GeoRegions

And if you want to get the latest release without waiting for me to update the Julia Registry (although this generally isn't necessary since I make a point to release patch versions as soon as I find bugs or add new working features), you may fix the version to the main branch of the GitHub repository:

julia
(@v1.10) pkg> add GeoRegions#main

Getting help

If you are interested in using GeoRegions.jl or are trying to figure out how to use it, please feel free to ask me questions and get in touch! Please feel free to open an issue if you have any questions, comments, suggestions, etc!

- + \ No newline at end of file diff --git a/dev/tutorials/addreadrm.html b/dev/tutorials/addreadrm.html index a6cb6ab8..39fcb1df 100644 --- a/dev/tutorials/addreadrm.html +++ b/dev/tutorials/addreadrm.html @@ -8,20 +8,20 @@ - + - + - + -
Skip to content

Manipulation of User-Defined GeoRegions.jl for your Project

In this tutorial, we will show you the ropes of adding, retrieving the information of, and removing GeoRegions for a project.

julia
using GeoRegions
+    
Skip to content

Manipulation of User-Defined GeoRegions.jl for your Project

In this tutorial, we will show you the ropes of adding, retrieving the information of, and removing GeoRegions for a project.

julia
using GeoRegions
 mkpath(joinpath(pwd(),"test"))
 setupGeoRegions(path=joinpath(pwd(),"test"))

1. Adding custom GeoRegions to your Project

If you wish to automatically save a new GeoRegions as it is created, specify the keyword argument save = true. To specify the directory to which the GeoRegion information is saved to, use the path keyword.

  • RectRegion(ID, pID, name, ..., save = true, path = ...) writes to $path/rectlist.txt

  • TiltRegion(ID, pID, name, ..., save = true, path = ...) writes to $path/tiltlist.txt

  • PolyRegion(ID, pID, name, ..., save = true, path = ...) writes to $path/polylist.txt

Default path Directory

By default, path = joinpath(DEPOT_PATH[1],"files","GeoRegions"). If path is not specified, the information will be saved in the respective custom lists in this directory.

Modification of Custom Lists

While it is possible to do manually modify the lists, it is not recommended to do so, especially for polylist.txt, which is pretty complicated. Instead, you should let GeoRegions.jl do most of the heavy lifting.

You can also add a GeoRegion variable in the workspace that you have not yet saved into the custom lists

julia
geo = PolyRegion(ID, pID, name, ...)
 add(geo, path = ...)

For example, we can do

julia
geo = PolyRegion("TSP","GLB","Test Save PolyRegion",[10,100,-50,10],[20,10,0,20])
-add(geo,path=joinpath(pwd(),"test"))
[ Info: 2024-09-28T04:08:41.771 - GeoRegions.jl - Adding the GeoRegion TSP to the list.

See the API here

Or we can just directly add the GeoRegion simultaneously when it is defined, as follows:

julia
RectRegion("TSR","GLB","Test Save RectRegion",[40,-20,14,-60],save=true,path=joinpath(pwd(),"test"))
The Rectilinear Region TSR has the following properties:
+add(geo,path=joinpath(pwd(),"test"))
[ Info: 2024-09-29T05:56:46.149 - GeoRegions.jl - Adding the GeoRegion TSP to the list.

See the API here

Or we can just directly add the GeoRegion simultaneously when it is defined, as follows:

julia
RectRegion("TSR","GLB","Test Save RectRegion",[40,-20,14,-60],save=true,path=joinpath(pwd(),"test"))
The Rectilinear Region TSR has the following properties:
     Region ID     (ID) : TSR
     Parent ID    (pID) : GLB
     Name        (name) : Test Save RectRegion
@@ -62,23 +62,23 @@
     Shape      (shape) : Point{2, Float64}[[10.0, 20.0], [90.0, 10.0], [-50.0, 0.0], [10.0, 20.0]]
 
 julia> add(geo,path=joinpath(pwd(),"test"))
-ERROR: 2024-09-28T04:08:42.064 - GeoRegions.jl - The GeoRegion TSP has already been defined.  Please use another identifier.

We see that we cannot add another GeoRegion with the ID = TSP. In order to replace the GeoRegion associated with this ID with another set of information, you need to overwrite the preexisting information with overwrite()

julia
overwrite(geo,path=joinpath(pwd(),"test"))
[ Info: 2024-09-28T04:08:42.518 - GeoRegions.jl - Adding the GeoRegion TSP to the list.

And we reload the GeoRegion associated with the ID = TSP

julia
ply = GeoRegion("TSP",path=joinpath(pwd(),"test"))
The Polygonal Region TSP has the following properties:
+ERROR: 2024-09-29T05:56:46.451 - GeoRegions.jl - The GeoRegion TSP has already been defined.  Please use another identifier.

We see that we cannot add another GeoRegion with the ID = TSP. In order to replace the GeoRegion associated with this ID with another set of information, you need to overwrite the preexisting information with overwrite()

julia
overwrite(geo,path=joinpath(pwd(),"test"))
[ Info: 2024-09-29T05:56:46.935 - GeoRegions.jl - Adding the GeoRegion TSP to the list.

And we reload the GeoRegion associated with the ID = TSP

julia
ply = GeoRegion("TSP",path=joinpath(pwd(),"test"))
The Polygonal Region TSP has the following properties:
     Region ID     (ID) : TSP
     Parent ID    (pID) : GLB
     Name        (name) : Test Save PolyRegion 2
     Bounds   (N,S,E,W) : [20.0, 0.0, 90.0, -50.0]
-    Shape      (shape) : Point{2, Float64}[[10.0, 20.0], [90.0, 10.0], [-50.0, 0.0], [10.0, 20.0]]

See the API here

5. Removing a custom GeoRegions from your Project

Now, we've realized that you don't really need a GeoRegion anymore, or for some reason you want to delete the information of a particular GeoRegion associate with a certain ID and replace it with a new information, there are two ways to do it:

5.1 Removing a GeoRegion that has been loaded

THe first method is to remove a GeoRegion geo that has already been loaded into the workspace. We use the function rm() to do this

julia
rm(ply,path=joinpath(pwd(),"test"))
[ Info: 2024-09-28T04:08:42.734 - GeoRegions.jl - Removing the GeoRegion TSP ...

And now we check if the GeoRegion TSP now exists:

julia
julia> isID("TSP",path=joinpath(pwd(),"test"))
-ERROR: 2024-09-28T04:08:42.737 - GeoRegions.jl - TSP is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.

And we see that it does not.

See the API here

5.2 Removing a GeoRegion based on its ID

The second method is to remove a GeoRegion based on an ID, or its string identifier. We do this with the function rmID()

julia
rmID("TSR",path=joinpath(pwd(),"test"))
[ Info: 2024-09-28T04:08:42.741 - GeoRegions.jl - Removing the GeoRegion TSR ...
julia
julia> isID("TSR",path=joinpath(pwd(),"test"))
-ERROR: 2024-09-28T04:08:42.767 - GeoRegions.jl - TSR is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.

Predefined GeoRegions cannot be removed

You cannot remove GLB, GF_*, SRX_* or AR6_* that have been predefined in GeoRegions.jl

See the API here

6. Removing a the custom GeoRegions lists from your Project

If you use deleteGeoRegions() to remove all the custom lists, you will remove all the custom GeoRegions for the projects and they cannot be retrieved.

julia
TiltRegion("TST","GLB","Test Save TiltRegion",10,5,50,20,30,path=joinpath(pwd(),"test"))
The Tilted Rectilinear Region TST has the following properties:
+    Shape      (shape) : Point{2, Float64}[[10.0, 20.0], [90.0, 10.0], [-50.0, 0.0], [10.0, 20.0]]

See the API here

5. Removing a custom GeoRegions from your Project

Now, we've realized that you don't really need a GeoRegion anymore, or for some reason you want to delete the information of a particular GeoRegion associate with a certain ID and replace it with a new information, there are two ways to do it:

5.1 Removing a GeoRegion that has been loaded

THe first method is to remove a GeoRegion geo that has already been loaded into the workspace. We use the function rm() to do this

julia
rm(ply,path=joinpath(pwd(),"test"))
[ Info: 2024-09-29T05:56:47.161 - GeoRegions.jl - Removing the GeoRegion TSP ...

And now we check if the GeoRegion TSP now exists:

julia
julia> isID("TSP",path=joinpath(pwd(),"test"))
+ERROR: 2024-09-29T05:56:47.164 - GeoRegions.jl - TSP is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.

And we see that it does not.

See the API here

5.2 Removing a GeoRegion based on its ID

The second method is to remove a GeoRegion based on an ID, or its string identifier. We do this with the function rmID()

julia
rmID("TSR",path=joinpath(pwd(),"test"))
[ Info: 2024-09-29T05:56:47.169 - GeoRegions.jl - Removing the GeoRegion TSR ...
julia
julia> isID("TSR",path=joinpath(pwd(),"test"))
+ERROR: 2024-09-29T05:56:47.197 - GeoRegions.jl - TSR is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.

Predefined GeoRegions cannot be removed

You cannot remove GLB, GF_*, SRX_* or AR6_* that have been predefined in GeoRegions.jl

See the API here

6. Removing a the custom GeoRegions lists from your Project

If you use deleteGeoRegions() to remove all the custom lists, you will remove all the custom GeoRegions for the projects and they cannot be retrieved.

julia
TiltRegion("TST","GLB","Test Save TiltRegion",10,5,50,20,30,path=joinpath(pwd(),"test"))
The Tilted Rectilinear Region TST has the following properties:
     Region ID     (ID) : TST
     Parent ID    (pID) : GLB
     Name        (name) : Test Save TiltRegion
     Bounds   (N,S,E,W) : [47.32050807568877, -37.32050807568877, 63.30127018922193, -43.30127018922193]
     Shape      (shape) : Point{2, Float64}[[-43.30127018922193, -2.679491924311229], [-23.30127018922193, -37.32050807568877], [63.30127018922193, 12.679491924311229], [43.30127018922193, 47.32050807568877], [-43.30127018922193, -2.679491924311229]]
-    Tilt (X,Y,ΔX,ΔY,θ) : [10.0, 5.0, 50.0, 20.0, 30.0]
julia
deleteGeoRegions(path=joinpath(pwd(),"test"))
┌ Warning: 2024-09-28T04:08:42.822 - GeoRegions.jl - Removing custom GeoRegions.jl files from /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/test, all GeoRegion information saved into these files will be permanently lost.
+    Tilt (X,Y,ΔX,ΔY,θ) : [10.0, 5.0, 50.0, 20.0, 30.0]
julia
deleteGeoRegions(path=joinpath(pwd(),"test"))
┌ Warning: 2024-09-29T05:56:47.268 - GeoRegions.jl - Removing custom GeoRegions.jl files from /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/test, all GeoRegion information saved into these files will be permanently lost.
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/project.jl:161

Let's test and see if we can retrieve the user-defined GeoRegions now we have deleted their information from the project.

julia
julia> isID("TST",path=joinpath(pwd(),"test"),throw=false)
 false
- + \ No newline at end of file diff --git a/dev/tutorials/files.html b/dev/tutorials/files.html index fb6ad64c..a899409f 100644 --- a/dev/tutorials/files.html +++ b/dev/tutorials/files.html @@ -8,17 +8,17 @@ - + - + - - + + \ No newline at end of file diff --git a/dev/tutorials/projects.html b/dev/tutorials/projects.html index 25047865..6b7ffa7d 100644 --- a/dev/tutorials/projects.html +++ b/dev/tutorials/projects.html @@ -8,32 +8,32 @@ - + - + - + -
Skip to content

GeoRegions.jl for your Research Project

In previous version of GeoRegions.jl (≤v6), we assume that all user-defined GeoRegions were meant to be universally shared. However, we have come to realize that this can cause problems if different projects have similar identifiers (ID) for different regions.

Therefore in v7 and above, GeoRegions.jl explicitly works on a project basis. This means that: * Predefined GeoRegions (GF, SREX and AR6) will still be available as part of the GeoRegions package. * All user-defined GeoRegions for a project should entail specification of a project directory using the keyword path, so that the GeoRegion can be saved specifically for the project. * Retrieving a GeoRegion for a particular project will require specification of the project directory using path. * By default path is the variable homedir()

1. Setup GeoRegions.jl for your Project

The best way to get started, is to use setupGeoRegions(path = "<directory>") in order to copy over the necessary files that will store your custom user-defined GeoRegions.

julia
using GeoRegions
+    
Skip to content

GeoRegions.jl for your Research Project

In previous version of GeoRegions.jl (≤v6), we assume that all user-defined GeoRegions were meant to be universally shared. However, we have come to realize that this can cause problems if different projects have similar identifiers (ID) for different regions.

Therefore in v7 and above, GeoRegions.jl explicitly works on a project basis. This means that: * Predefined GeoRegions (GF, SREX and AR6) will still be available as part of the GeoRegions package. * All user-defined GeoRegions for a project should entail specification of a project directory using the keyword path, so that the GeoRegion can be saved specifically for the project. * Retrieving a GeoRegion for a particular project will require specification of the project directory using path. * By default path is the variable homedir()

1. Setup GeoRegions.jl for your Project

The best way to get started, is to use setupGeoRegions(path = "<directory>") in order to copy over the necessary files that will store your custom user-defined GeoRegions.

julia
using GeoRegions
 setupGeoRegions(path=pwd())

This will copy over the following files: rectlist.txt, polylist.txt, tiltlist.txt, which will stored RectRegions, PolyRegions and TiltRegions respectively.

julia
isfile(joinpath(pwd(),"rectlist.txt")),
 isfile(joinpath(pwd(),"polylist.txt")),
-isfile(joinpath(pwd(),"tiltlist.txt"))
(true, true, true)

If any of these files already exist in path, they will not be overwritten. To specifically overwrite all preexisting user-defined GeoRegions, use the keyword overwrite = true.

julia
setupGeoRegions(path=pwd(),overwrite=true)
┌ Warning: 2024-09-28T04:08:42.906 - GeoRegions.jl - Overwriting /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/rectlist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/files/rectlist.txt ...
+isfile(joinpath(pwd(),"tiltlist.txt"))
(true, true, true)

If any of these files already exist in path, they will not be overwritten. To specifically overwrite all preexisting user-defined GeoRegions, use the keyword overwrite = true.

julia
setupGeoRegions(path=pwd(),overwrite=true)
┌ Warning: 2024-09-29T05:56:47.358 - GeoRegions.jl - Overwriting /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/rectlist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/files/rectlist.txt ...
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/project.jl:43
-┌ Warning: 2024-09-28T04:08:42.906 - GeoRegions.jl - Overwriting /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/polylist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/files/polylist.txt ...
+┌ Warning: 2024-09-29T05:56:47.358 - GeoRegions.jl - Overwriting /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/polylist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/files/polylist.txt ...
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/project.jl:43
-┌ Warning: 2024-09-28T04:08:42.906 - GeoRegions.jl - Overwriting /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/tiltlist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/files/tiltlist.txt ...
+┌ Warning: 2024-09-29T05:56:47.358 - GeoRegions.jl - Overwriting /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials/tiltlist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/files/tiltlist.txt ...
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/project.jl:43

See the API here

2. Listing out the custom GeoRegions for your Project

You can create a table of all the GeoRegions that have been saved to path using tableGeoRegions() as follows.

julia
tableGeoRegions(;path = ...)

For example, we create a table of user-defined and predefined GeoRegions for the current directory pwd().

Custom GeoRegions are always specified first

We always specify the custom user-defined GeoRegions first, because those are most relevant to a project.

julia
tableGeoRegions(path=pwd(),predefined=false)
 ----- ------------ ------- -------- --------------------------- ------------
   ID       Type      Name    Parent       Bounds [N,S,E,W]           File
  ----- ------------ ------- -------- --------------------------- ------------
   GLB   RectRegion   Globe    GLB     [90.0, -90.0, 360.0, 0.0]   global.txt
- ----- ------------ ------- -------- --------------------------- ------------

Note, we have no custom GeoRegions added, so there is nothing to list right now even though the files exist. If any of rectlist.txt, polylist.txt and tiltlist.txt are not present, a warning will be shown unless the keyword warn = false is set.

See the API here

3. Removing a the custom GeoRegions list from your Project

Say you want to completely clear your project of custom GeoRegions, replacing them with new lists. You can just delete the files directly, or you can do deleteGeoRegions().

Default path is pwd()

For deleteGeoRegions(), the default path is the current directory pwd().

julia
deleteGeoRegions()
┌ Warning: 2024-09-28T04:08:42.918 - GeoRegions.jl - Removing custom GeoRegions.jl files from /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials, all GeoRegion information saved into these files will be permanently lost.
+ ----- ------------ ------- -------- --------------------------- ------------

Note, we have no custom GeoRegions added, so there is nothing to list right now even though the files exist. If any of rectlist.txt, polylist.txt and tiltlist.txt are not present, a warning will be shown unless the keyword warn = false is set.

See the API here

3. Removing a the custom GeoRegions list from your Project

Say you want to completely clear your project of custom GeoRegions, replacing them with new lists. You can just delete the files directly, or you can do deleteGeoRegions().

Default path is pwd()

For deleteGeoRegions(), the default path is the current directory pwd().

julia
deleteGeoRegions()
┌ Warning: 2024-09-29T05:56:47.371 - GeoRegions.jl - Removing custom GeoRegions.jl files from /home/runner/work/GeoRegions.jl/GeoRegions.jl/docs/build/tutorials, all GeoRegion information saved into these files will be permanently lost.
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/project.jl:161

And then we see if rectlist.txt exists!

julia
isfile(joinpath(pwd(),"rectlist.txt")),
 isfile(joinpath(pwd(),"polylist.txt")),
 isfile(joinpath(pwd(),"tiltlist.txt"))
(false, false, false)

See the API here

- + \ No newline at end of file