Files
2025/share/doc/seiscomp/html/_sources/apps/global_locrouter.rst.txt

234 lines
6.0 KiB
ReStructuredText

.. _global_locrouter:
#########
LocRouter
#########
Meta locator routing location requests of picks and origins to actual
locator implementations.
Description
===========
Router is a meta locator which selects an actual
:ref:`locator <concepts_locators>` based on region profiles configured in
GeoJSON or BNA files.
The locator supports both, the initial location based on a pick set and the
relocation based on an existing origin. In case no origin is available an
initial solution is calculated by a configurable locator followed by a
relocation configured through region profiles.
Setup
=====
The Router locator offers configuration by global module parameters.
Plugin
------
Add the plugin ``locrouter`` to :confval:`plugins` for activating the Router
locator. Example:
.. code-block:: sh
plugins = ${plugins},locrouter
Initial locator
---------------
For routing, an initial source location is required. When only picks but no
origins are provided, the initial location is unknown but it can be defined by
an initial locator independent of location. Set
:confval:`RouterLocator.initial.locator` and
:confval:`RouterLocator.initial.profile` for defining the initial locator.
Region Configuration
--------------------
Regions may be considered by configuring their names in
:confval:`RouterLocator.regions`. The regions themselves are defined as polygons
files in either :ref:`GeoJSON <sec-gui_layers-vector-format-geojson>` or
:ref:`BNA <sec-gui_layers-vector-format-bna>` format. Supported polygon
attributes are:
* name (recommended): Name of polygon. An empty string is assumed if not given.
* locator (mandatory): Name of the locator interface to use.
* profile: Name of the locator-specific profile which must be configured
according to the selected locator.
* minDepth: Minimum depth in km the profile should be applied to.
* maxDepth: Maximum depth in km the profile should be applied to.
The configured features are sorted by rank and area. Larger ranks and smaller
areas are prioritized.
Example :ref:`GeoJSON file<sec-gui_layers-vector-format-geojson>`:
.. code-block:: json
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"name": "Iceland",
"minDepth": 0,
"maxDepth": 30,
"locator": "LOCSAT",
"profile": "iceland"
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-24.5469, 63.3967
],
[
-13.4958, 63.3967
],
[
-13.4958, 66.5667
],
[
-24.5469, 66.5667
],
[
-24.5469, 63.3967
]
]
]
}
},
{
"type": "Feature",
"properties": {
"name": "World",
"locator": "LOCSAT",
"profile": "iasp91"
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-33, 90
],
[
-180, 90
],
[
-180, -90
],
[
-33, -90
],
[
33, -90
],
[
180, -90
],
[
180, 90
],
[
33, 90
],
[
-33, 90
]
]
]
}
}
]
}
Example :ref:`BNA file<sec-gui_layers-vector-format-bna>`:
.. code-block:: properties
"Iceland", "rank 1", "minDepth: 0, maxDepth: 30, locator: LOCSAT, profile: iceland", 4
-24.5469, 63.3967
-13.4958, 63.3967
-13.4958, 66.5667
-24.5469, 66.5667
"World", "rank 1", "locator: LOCSAT, profile: iasp91", 8
-33, 90
-180, 90
-180, -90
-33, -90
33, -90
180, -90
180, 90
33, 90
Application
===========
Once configured, the Router locator may be used by other |scname| modules such
as :ref:`scolv` or :ref:`screloc`. Refer to the locator as "Router".
.. _global_locrouter_configuration:
Module Configuration
====================
.. note::
**RouterLocator.\***
*Locator parameters: Router. This locator requires the plugin*
*"locrouter" to be loaded.*
.. confval:: RouterLocator.regions
Type: *string*
A GeoJSON or BNA file defining locator profiles by region.
Supported polygon attributes:
name: Name of polygon
locator: Name of the locator interface
profile: Name of the locator specific profile
minDepth: Minimum depth in km
maxDepth: Minimum depth in km
.. note::
**RouterLocator.initial.\***
*Configuration of initial locator used to create an*
*initial solution based on a pick set. If a solution is*
*found, relocate of the actual locator configured in the*
*region file is invoked.*
.. confval:: RouterLocator.initial.locator
Type: *string*
Name of the initial locator interface, e.g., LOCSAT.
.. confval:: RouterLocator.initial.profile
Type: *string*
Profile name of the initial locator, e.g., iasp91.