General syntax aspects in the MiraMon Support Modules (MSA)
Syntax aspects that afect some MiraMon Support Modules are expained here in a
generic way.
Related database field selection.
- REL v.1:
- /TAULA1= the index, numbered from 0,
indicating which table in the database contains the relevant attribute field:
-1 if it is the principal table or the index of the field of the principal table
to which the associated table is linked (normally a thesaurus).
- /CAMP1= is the index of the field within the selected table (also
numbered from 0). These indexing criteria may be found using InfoTop or
using the Windows interface of the program WCombiCa and pressing the button ">>BAT...".
- REL v.4:
Record selection when there are multiple records for a graphical object.
- /REPE= indicates which record to use should there exist multiple records for
the same graphical identifier (1 for the first, 2 for the second, ...). If entered with
a minus sign the count starts from the last. If 2 is entered, for example, and it does
NOT exist, then the graphical object is totally ignored. The default value is 1.
Selection of graphic objects according to database attributes.
- /COND#_TAULA= and /COND#_CAMP= table and field selected for the condition
#. # is an index that starts from 1. To learn more about these parameters follow
the instructions about Related database field selection
in this document.
- /COND#_OP= logical condition operator. # is an index that starts from 1. It can
be:
- "EQ" equal to (=)
- "NO_EQ" not equal to (=/=)
- "LT" less than... (<)
- "GT" greater than... (>)
- "LT_EQ" less than or equal to... (<=)
- "GT_EQ" greater than or equal to... (>=)
- "INTERVAL" closed interval ([a,b])
- "EQ_SUBCADENA" string with... (with)
- "NO_EQ_SUBCADENA" string without... (without)
- /COND#_VALOR= the field value. Inverted comas are needed if it contains spaces.
- /COND#_NEXE= logical link between conditions # and #+1. It can be AND or OR.
- /COND#_PRIOR= priority of the condition #, indexed from 1. This is an optional
parameter. If it is not indicated the priority is just the order. Dialog boxes
show a traduction of condition priorities expressed in bracket notation.
Selection of one vertex Z coordenate in a 3D vectorial
file with multiple height for each vertex.
- /ALCADA= Sets which of the possible heights is chosen: 0 select the first
chosen one, 1 to select the highest one and 2 to select the lowest one.
Internal date and hour format.
- DATE: Date is saved with the YYYYMMDD format, that is 20030103 for March 1st, 2003.
This format has the advantage that it can be ordered as is.
- HOUR: Hour can be stored down to one-hundredth of a second with the HHmmsscc format,
that is 23595999 means 23:59:59.99 hours (in the official local hour). Please note that
this format uses the 24h format; 12h am/pm format is not supported. Depending on the hour type
some other codification can be added to this string:
- UTC Hour: A Z is added as a suffix, for instance 23595999Z for
23:59:59.99 UTC hour.
- Local Official Hour with corrector: The hour corrector is added at the end. This corrector
is composed of a + or - sign, two digits which indicate the number of hours and two digits
which indicate the number of minutes (without separators). For instance: 23595999+0130
for the 23:59:59.99 official local hour with an UTC corrector of one hour and a half.
- Solar hour: An S is added at the end of the hour, for instance 23595999S, for
the 23:59:59.99 local solar hour.
- UNIQUE DATE and HOUR: Date and hour are written followed and separated by a blank space,
for instance "20030103 2359599" for March 1st, 2003 at 23:59:59.99 local official hour (without corrector).
- DATE and HOUR INTERVAL: Date and hour for the the end of the interval are written after
the initial date and hour of the interval, separated by a colon (without blank spaces). For instance,
"20030103 2359599,20040103 2359599" for the interval between March 1st, 2003 at 23:59:59.99 and
March 1st, 2004 at 23:59:59.99 both at local official hours (without corrector).
In a given interval or time period both hours must be of the same type. For instance, it is not possible
to mix local official hours with corrector with local official hour without corrector, despite the
fact that it is possible to store a different hour corrector for the initial and final hours.
- INCOMPLETE DATE and HOUR: In the need to document an incomplete hour the 9 digit is used as
a marker. If the whole hour is unknown it is not necessary to write it down. For instance,"20030103 23999999,20040103"
would correspond to the period between March 1st, 2003 at 23 hours (minutes, seconds and hundredths of a second are known) and
March 1st, 2004 (unknown hour).
For further information on dates and hours please refet to general considerations.
How to know what type of structuration algorithm use in some MSA? (optional modifier /ALGORITME=)
You can choose between two algorithms for calculating the intersections between different vectorial elements: "direct algorithm" and "sweep algorithm".
- /ALGORISME=DIRECTE: The algorithm reviews all elements comparing every one with the rest of them, so that the intersections are found comparing pairwise.
- /ALGORISME=ESCOMBRATGE: The algorithm sorts the vectorial elements in a certain way in the plane and made a sweeping left to right calculating intersections between neighboring elements. This avoids comparing elements that are known to never cut, avoiding long computation time.
- /ALGORISME=AUTOMATIC: Leave program choice between the methods described above.
Then,
- /ALGORISME=DIRECTE it is faster for a layers where structuration has been done before, or it is known that there are no intersections beyond the existing vertices (the topological structuration is implicit).
- /ALGORISME=ESCOMBRATGE it is faster in precisely the opposite case: layers where the elements intersect other elements causing intersections points that were not previously vertices end and, therefore, are new nodes in the output layer.
If at the time of structuring a layer it is know that structuration will generate new points (ie, intersections are detected) is better to choose "escombratge". Otherwise, you can choose to "directe".