Skip to content

Commit

Permalink
More
Browse files Browse the repository at this point in the history
  • Loading branch information
joa-quim committed Jul 21, 2024
1 parent ed267d4 commit f77871b
Show file tree
Hide file tree
Showing 6 changed files with 51 additions and 22 deletions.
1 change: 1 addition & 0 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ ImageIO = "82e4d734-157c-48bb-816b-45c225c6df19"
ImageMagick = "6218d12a-5da1-5696-b52f-db25d2ecc6d1"
ImageTransformations = "02fcd773-0e25-5acc-982a-7f6622650795"
JSServe = "824d6782-a2ef-11e9-3a09-e5662e0c26f9"
Meshes = "eacbb407-ea5a-433e-ab97-5258b1ca43fa"
NCDatasets = "85f8d34a-cbdd-5861-8df4-14fed0d494ab"
NodeJS = "2bd173c7-0d6d-553b-b6af-13a54713934c"
PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d"
Expand Down
12 changes: 6 additions & 6 deletions documentation/all_docs_ref/all_refs.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,12 @@ its use requires resorting to the \myreflink{Monolithic} mode.
| \myreflink{ablines} | \myreflink{append2fig} | \myreflink{blendimg!} | \myreflink{cart2pol} | \myreflink{cart2sph} | \myreflink{colorzones!} | \myreflink{cpt4dcw} | \myreflink{crop} |
| \myreflink{cubeplot} | \myreflink{coastlinesproj} | \myreflink{cubeslice} | \myreflink{date2doy} | \myreflink{delrows!} | \myreflink{doy2date} | \myreflink{gadm} | \myreflink{geocoder} |
| \myreflink{geodetic2enu} | \myreflink{getbyattrib} | \myreflink{gmtread} | \myreflink{gmtwrite} | \myreflink{graticules} | \myreflink{gridit} | \myreflink{gunique} | \myreflink{imagesc} |
| \myreflink{inwhichpolygon} | \myreflink{image_alpha!} | \myreflink{image_cpt!} | \myreflink{imshow} | \myreflink{ind2rgb} | \myreflink{info} | \myreflink{isnodata} | \myreflink{lelandshade} |
| \myreflink{linearfitxy} | \myreflink{magic} | \myreflink{mat2ds} | \myreflink{mat2grid} | \myreflink{mat2img} | \myreflink{mosaic} | \myreflink{ODE2ds} | \myreflink{orbits} |
| \myreflink{pca} | \myreflink{plotgrid!} | \myreflink{plotyy} \myreflink{pol2cart} | \myreflink{polygonlevels} | \myreflink{rasterzones!} | \myreflink{regiongeog} | \myreflink{rescale} | \myreflink{slicecube} |
| \myreflink{sph2cart} | \myreflink{stackgrids} | \myreflink{ter2cart} | \myreflink{theme} | \myreflink{uniqueind} | \myreflink{vecangles} | \myreflink{weather} | \myreflink{whereami} |
| \myreflink{wmsinfo} | \myreflink{wmsread} | \myreflink{wmstest} | \myreflink{worldrectgrid} | \myreflink{worldrectcoast} | \myreflink{worldrectangular} | \myreflink{xyzw2cube} | \myreflink{yeardecimal} |
| \myreflink{zonal_stats} | | | | | | | |
| \myreflink{inpolygon} | \myreflink{inwhichpolygon} | \myreflink{image_alpha!} | \myreflink{image_cpt!} | \myreflink{imshow} | \myreflink{ind2rgb} | \myreflink{info} | \myreflink{isnodata} |
| \myreflink{lelandshade} | \myreflink{linearfitxy} | \myreflink{magic} | \myreflink{mat2ds} | \myreflink{mat2grid} | \myreflink{mat2img} | \myreflink{mosaic} | \myreflink{ODE2ds} |
| \myreflink{orbits} | \myreflink{pca} | \myreflink{plotgrid!} | \myreflink{plotyy} \myreflink{pol2cart} | \myreflink{polygonlevels} | \myreflink{rasterzones!} | \myreflink{regiongeog} | \myreflink{rescale} |
| \myreflink{slicecube} | \myreflink{sph2cart} | \myreflink{stackgrids} | \myreflink{ter2cart} | \myreflink{theme} | \myreflink{uniqueind} | \myreflink{vecangles} | \myreflink{weather} |
| \myreflink{whereami} | \myreflink{wmsinfo} | \myreflink{wmsread} | \myreflink{wmstest} | \myreflink{worldrectgrid} | \myreflink{worldrectcoast} | \myreflink{worldrectangular} | \myreflink{xyzw2cube} |
| \myreflink{yeardecimal} | \myreflink{zonal_stats} | | | | | | |


## GDAL utility functions
Expand Down
12 changes: 12 additions & 0 deletions documentation/modules/clip.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,18 @@ clip!(endclip=true, frame=:same, show=true)
where we activate and deactivate the clip path. Note we also draw the
outline of the clip path to make it clear what is being clipped.

But although the above example shows how we can fine tune what is plotted under the clip path, and we could
have drawn more elements if whiched, it is also a bit cumbersome for simple plots. A much more straightforward
command can be done using the _nested_ clip program that is available to all plotting modules. This one-liner
produces almost the same plot.

\begin{examplefig}{}
```julia
using GMT
plot("@tut_data.txt", fill=:red, marker=:circ, ms=2, region=(0,6,0,6), clip=[0 0; 5 1; 5 5], show=true)
```
\end{examplefig}

See Also
--------

Expand Down
4 changes: 2 additions & 2 deletions documentation/modules/coast.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ painted and no land fill is set then the land-areas will be transparent. A map p
The resolution drops off by 80% between data sets. The default is **res=:auto**, which chooses
to automatically select the best resolution given the chosen map scale.

- **E** or **DCW** : -- *DCW=code1,code2,...* **|** *DCW=(country=code, continent=code, pen=pen, fill=fill)*\
Select painting country polygons from the Digital Chart of the World. This is another dataset independent of GSHHG and hence the **area** and **resolution** options do not apply. **DCW="+l"** just list the countries and their codes [plotting takes place] and **DCW="+L"** shows states/territories for Argentina, Australia, Brazil, Canada, and the US. *country* or **name=code(s)**, where **code(s)** is a one or more comma-separated countries using the 2-character ISO 3166-1 alpha-2 convention. To select a state of a country (if available), append .state, e.g, US.TX for Texas. To specify a whole continent, use **continent=code**, with continent codes AF (Africa),AN (Antarctica), AS (Asia), EU (Europe), OC (Oceania), NA (North America), or SA (South America). Use **pen=pen** (see \myreflink{Pen attributes}) to draw polygon outlines and **fill=fill** (see \myreflink{Fill color/pattern}) to fill them [default is no fill]. At least one of these must be specified unless **dump** is in effect, in which case only one **DCW** option can be given. It is also possible to specify the parameters using simple Tuples. For example: **DCW=("PT", (0.5,"red","--"), "blue")** plots the polygon *PT* with a 0.5p red dashed line and filled with blue and **DCW=:PT** uses a default pen of 0.5. **DCW=(:PT, :blue)** fills with blue. You may repeat **DCW** to give different groups of items their own *pen/fill* settings. However, since we cannot repeat a keyword, the solution to setting different groupes is to use a tuple of tuples. An example would be *DCW=((country=:PT, pen=(2,:red), fill=:blue), (country=:ES, pen=(2,:blue)) )*. If neither **proj** nor **dump** are set then we just print the **region**.
- **E** or **DCW** : -- *DCW=code1,code2,...* **|** *DCW=(country=code, continent=code, pen=pen, fill=fill, file=fname, inside=true, outside=false, adjust_r=??, , adjust_R=??, , adjust_e=??, headers=false)*\
Select painting country polygons from the Digital Chart of the World. This is another dataset independent of GSHHG and hence the **area** and **resolution** options do not apply. **DCW="+l"** just list the countries and their codes [plotting takes place] and **DCW="+L"** shows states/territories for Argentina, Australia, Brazil, Canada, and the US. *country* or **name=code(s)**, where **code(s)** is a one or more comma-separated countries using the 2-character ISO 3166-1 alpha-2 convention. To select a state of a country (if available), append .state, e.g, US.TX for Texas. To specify a whole continent, use **continent=code**, with continent codes AF (Africa),AN (Antarctica), AS (Asia), EU (Europe), OC (Oceania), NA (North America), or SA (South America). Use **pen=pen** (see \myreflink{Pen attributes}) to draw polygon outlines and **fill=fill** (see \myreflink{Fill color/pattern}) to fill them [default is no fill]. At least one of these must be specified unless **dump** is in effect, in which case only one **DCW** option can be given. It is also possible to specify the parameters using simple Tuples. For example: **DCW=("PT", (0.5,"red","--"), "blue")** plots the polygon *PT* with a 0.5p red dashed line and filled with blue and **DCW=:PT** uses a default pen of 0.5. **DCW=(:PT, :blue)** fills with blue. You may repeat **DCW** to give different groups of items their own *pen/fill* settings. However, since we cannot repeat a keyword, the solution to setting different groupes is to use a tuple of tuples. An example would be *DCW=((country=:PT, pen=(2,:red), fill=:blue), (country=:ES, pen=(2,:blue)) )*. If neither **proj** nor **dump** are set then we just print the **region**. The **file=fname** is a new option in future GMT to let users select alternative DCW files. The **inside=true** (the default) means that data is ket _inside_ the clipping polygon. Use **outside=true** if want the reverse. **adjust_r=??** adjusts the region boundaries to be multiples of the steps indicated by _inc_ or _xinc/yinc_ or _winc/einc/sinc/ninc_. **adjust_R=??** adjusts the region boundaries adding the amounts specified by _inc_ or _xinc/yinc_ or _winc/einc/sinc/ninc_. **headers=true** place the country code in the segment headers via _-Zcode_ settings (for use with the **dump** option).

- **getR** or **getregion** or **get_region** : -- *getR=code1,code2,...*\
Return the region corresponding to the code/list-of-codes passed in as argument. The code(s) are the same
Expand Down
30 changes: 24 additions & 6 deletions documentation/modules/grdimage.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,20 @@ Optional Arguments

\textinput{common_opts/use_cpt_grd}

- **clim** : -- *clim=(z_min,z_max)* **|** *clim=:zscale*\
When doing an automatic colorization (*i.e.*, when a colormap is not provided explicitly), limit the automatic
color map to be computed between *z_min,z_max*. Grid values below *z_min* and above *z_max* will be painted
with the same color as those. Alternatively, use *clim=:zscale* to use the Interval based on IRAF’s zscale
that is an algorithm used in astronomy for finding colorbar limits of for the grid, which showcase data near the median.

- **clip** : -- *clip="land"* **|** *clip=:ocean* **|** *clip="country_code(s)"* **|** *clip=(country="code(s)", [outside=true])* **|** *clip=xy* **|** *clip=(xy, inverse=true)*\
Clip the image according to the selected option. First set of options do the clipping using the `coast` module. _e.,g._:
**clip="land"** (or =:land) clip outside land areas. **clip="ocean"** does the inverse. **clip="country_code(s)"** uses
one or more country codes (separated by commas) to do the clipping. If want to reverse the sense of the clipping, use the
form **clip=(country="code(s)", outside=true)**. Use **clip=(continent=code, [outside=true])** to pass the name of
continent. Pay attention that this option must be a named tuple. The second set of options make use of the `clip` module
and expect a first argument with a Mx2 matrix with the coordinates of the clipping polygon.

- **coast** : -- *coast=true* **|** *coast=(...)*\
Call the \myreflink{coast} module to overlay coastlines and/or countries. The short form *coast=true* just
plots the coastlines with a black, 0.5p thickness line. To access all options available in the *coast*
Expand All @@ -64,12 +78,6 @@ Optional Arguments
color bar on the right side of the image using the current color map stored in the global scope. To
access all options available in the *colorbar* module passe them in the named tuple (...).

- **clim** : -- *clim=(z_min,z_max)* **|** *clim=:zscale*\
When doing an automatic colorization (*i.e.*, when a colormap is not provided explicitly), limit the automatic
color map to be computed between *z_min,z_max*. Grid values below *z_min* and above *z_max* will be painted
with the same color as those. Alternatively, use *clim=:zscale* to use the Interval based on IRAF’s zscale
that is an algorithm used in astronomy for finding colorbar limits of for the grid, which showcase data near the median.

- **equalize** : -- *equalize=true* **|** *equalize=ncolors*\
With automatic colorization, map data values to colors through the data’s cumulative distribution function (CDF),
so that the colors are histogram equalized. Default (with `equalize=true`) chooses arbitrary values by a crazy
Expand Down Expand Up @@ -156,3 +164,13 @@ using GMT
grdimage("@AK_gulf_grav.nc", shade=true, coast=true, show=true)
```
\end{examplefig}

Clip the outside of Africa from Bing mosaic. (You can try also `viz(I, clip=:land)` and `viz(I, clip=(continent=:AF, outside=true))`)

\begin{examplefig}{}
```julia
using GMT
I = mosaic(region=(continent="AF",)); # Get a mosaic of the ~Africa region
viz(I, clip=(continent=:AF,)) # Clip outside of the African continent.
```
\end{examplefig}
14 changes: 6 additions & 8 deletions documentation/utilities/inwhichpolygon.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,23 @@
# inwhichpolygon

```julia
inwhichpolygon(D::Vector{GMTdataset}, point::Matrix{Real})
inwhichpolygon(D::Vector{GMTdataset}, point::Matrix{Real}; on_is_in=false)

or

inwhichpolygon(D::Vector{GMTdataset}, x, y)
inwhichpolygon(D::Vector{GMTdataset}, x, y; on_is_in=false)
```

*keywords: GMT, Julia, point in polygon*

Finds the IDs of the polygons enclosing the query points in `point`. Each row in the matrix `point` contains
the coordinates of a query point. Query points that don't fall in any polygon get an ID = 0.
Returns either an ``Int`` or a ``Vector{Int}`` depending on the number of input quiery points.
Returns either an ``Int`` or a ``Vector{Int}`` depending on the number of input query points.

- `D`: A Vector of \myreflink{GMTdadaset} defining the polygons.

- `point`: A Mx2 matrix or a two elements vector with the x and y point coordinates.

- `x, y`: Specifies the x-coordinates and y-coordinates of 2-D query points as separate vectors (or two scalars).

- `on_is_in`: If `on_is_in=true` then points exactly on the border are considered inside. Default is `false`.

Examples
--------
Expand All @@ -31,7 +29,7 @@ using GMT
pts = [[1 2 3;1 2 3;1 2 3][:] [1 1 1;2 2 2; 3 3 3][:]];
D = triplot(pts, noplot=true);
points = [2.4 1.2; 1.4 1.4];
ids = inwhichpolygon(D, points);
ids = inwhichpolygon(points, D);

# Plot the triangulation and the query points.
plot(D)
Expand All @@ -45,4 +43,4 @@ plot!(points, marker=:star, ms="12p", fill=:blue, show=true)
See Also
--------

\myreflink{getbyattrib}, \myreflink{plot}, \myreflink{triplot}
\myreflink{inpolygon}, \myreflink{getbyattrib}, \myreflink{plot}, \myreflink{triplot}

0 comments on commit f77871b

Please sign in to comment.