Aspectos generales de sintaxis en los Módulos de Soporte a MiraMon (MSA)
Introducción
En este apartado se recogen aspectos de sintaxis que afectan a algunos Módulos de Soporte a MiraMon.

Selección de un campo de la base de datos asociada
- REL v.1:
- /TAULA= es el índice, numerado desde 0, que indica cuál es la tabla de la base de datos que contiene el campo atributivo de interés: indique -1 si es la tabla principal o bien el índice del campo de la tabla principal sobre el que está vinculada la tabla asociada (normalmente un tesaurus).
- /CAMP= es el índice del campo dentro de la tabla escogida (también numerado desde 0). Estos criterios de indexación pueden conocerse con InfoTop o utilizando la propia interfaz Windows del programa wCombiCa y pulsando el botón ">>BAT...".
- REL v.4:

Selección de un registro cuando hay registro múltiple para un objeto gráfico
- /REPE= indica qué ficha se toma en caso de que existan múltiples registros sobre el mismo identificador gráfico (1 para la 1a, 2 para la 2a...). Si se indica con signo menos se empieza a contar por la última; si indica, por ejemplo, 2a ocurrencia y esta NO existe, el objeto gráfico es totalmente ignorado. El valor por defecto es 1.

Selección de objectos gráficos a partir de los atributos de la base de datos
- /COND#_TAULA= y /COND#_CAMP= tabla y campo escogidos para la condición #. # es un índice que empieza desde 1. Para saber más sobre el valor de estos parámetros siga las consideraciones del apartado Selección de un campo de la base de datos asociada de este mismo documento.
- /COND#_OP= es el operador lógico de la condición #. # es un índice que empieza desde 1. Puede ser:
- "EQ" igual (=)
- "NO_EQ" diferente (=/=)
- "LT" más pequeño que... (<)
- "GT" más grande que... (>)
- "LT_EQ" más pequeño o igual que... (<=)
- "GT_EQ" más grande o igual que... (>=)
- "INTERVAL" intervalo cerrado, incluye los extremos ([a,b])
- "EQ_SUBCADENA" cadena con... (con)
- "NO_EQ_SUBCADENA" cadena sin... (sin)
- /COND#_VALOR= es el valor del campo. Hacen falta comillas si lleva espacios.
- /COND#_NEXE= nexo entre las condiciones # y #+1. Puede ser AND (y) o OR (o).
- /COND#_PRIOR= prioridad del nexo #, indexada desde 1. Es un parámetro optativo. Si no se indica la prioridad es, simplemente, el orden. Las cajas de diálogo muestran una traducción de las prioridades de cada condición expresada en notación de paréntesis.

Selección de una coordenada Z para cada vértice en un fichero vectorial 3D con múltiples alturas para cada vértice
- /ALCADA= Determina cual de las posibles alturas se escoge: para la primera encontrada,1 para la superior y 2 para la inferior.

Formato interno de la fecha y la hora
- FECHA: La fecha se guarda con el formato AAAAMMDD, es decir 20030103 para el 1 de marzo de 2003. Este formato tiene la ventaja de que es directamente ordenable.
- HORA: La hora puede almacenarse hasta centésimas de segundo siguiendo el formato HHmmsscc, es decir 23595999 para las 23:59:59.99 horas (en hora local oficial). Note que se usa un formato de 24h y no se soporta la notación en 12h y am/pm. Según el tipo de hora puede añadirse a continuación de esta cadena alguna otra codificación:
- Hora UTC: Se añade una Z al final de la hora, por ejemplo: 23595999Z para las 23:59:59.99 hora UTC.
- Hora local oficial con corrector: Se añade el corrector horario al final de la hora. Este está compuesto por un signo (+ o -), dos dígitos indicando el número de horas y dos dígitos indicando el número de minutos (sin separadores). Por ejemplo: 23595999+0130 para las 23:59:59.99 hora local oficial con un corrector de paso de UTC a local de hora y media.
- Hora solar: Se añade una S al final de la hora, por ejemplo: 23595999S para las 23:59:59.99 hora solar local.
- FECHA y HORA ÚNICA: La fecha y la hora se escriben seguidas y separadas por un espacio, por ejemplo "20030103 2359599" para el 1 de marzo de 2003 a las 23:59:59.99 hora local oficial (sin corrector).
- INTERVALO DE FECHA y HORA: La fecha y hora finales del intervalo se escriben detrás de la fecha y hora iniciales del intervalo y separadas por una coma (sin espacios). Por ejemplo "20030103 2359599,20040103 2359599" para el período entre el 1 de marzo de 2003 a las 23:59:59.99 y el 1 de marzo de 2004 a las 23:59:59.99 con horas locales oficiales (sin corrector). Las dos horas de un intervalo deben ser del mismo tipo. No es posible mezclar, por ejemplo, una hora local oficial con corrector con una hora local oficial sin corrector, aunque sí es posible almacenar un corrector horario diferente para la fecha inicial y final.
- FECHA Y HORA INCOMPLETA: En el caso de querer documentar una hora de forma incompleta utilice el 9 como marca de desconocido. Si toda la hora es desconocida no es necesario escribirla. Por ejemplo "20030103 23999999,20040103" correspondería al período entre el 1 de marzo de 2003 a las 23 horas (minutos, segundos y centésimas desconocidos) y el 1 de marzo de 2004 (hora desconocida).
Para más información consulte las consideraciones generales sobre la fecha y la hora.

¿Cómo saber qué tipo de algoritmo de estructuración utilizar en algunas MSA? (modificador opcional /ALGORITMO=)
Se puede elegir entre dos algoritmos para el cálculo de las intersecciones entre los diferentes elementos vectoriales: "algoritmo directo" y "algoritmo de barrido".
- /ALGORISME=DIRECTE: El algoritmo hace un repaso por todos los elementos comparándolos con el resto, de forma que se encuentran las intersecciones por comparación dos a dos.
- /ALGORISME=ESCOMBRATGE: El algoritmo ordena los elementos vectoriales de una determinada manera en el plano y hace un barrido de izquierda a derecha que calculando las intersecciones entre elementos cercanos. Con ello se evita comparar elementos que se sabe que nunca se cortarán, evitando así mucho tiempo de cálculo.
- /ALGORISME=AUTOMATIC: Se deja en el programa la elección entre los métodos descritos anteriormente.
Entonces,
- /ALGORISME=DIRECTE es más rápido para capas donde ya se haya realizado una estructuración previa, o bien se sepa que no hay intersecciones más allá de los vértices ya existentes (la estructuración topológica es implícita).
- /ALGORISME=ESCOMBRATGE es más rápido justamente en el caso contrario: capas donde los elementos cortan otros elementos provocando intersecciones en puntos que no eran previamente vértices finales y que, por tanto, son nuevos nodos de la capa de salida.
Si en el momento de estructurar una capa se sabe que la estructuración generará nuevos puntos (es decir, se detectarán intersecciones) es mejor elegir "barrido". En caso contrario, se puede escoger "directo".

Desempate para los cuantiles (modificador opcional /MEDIANA_EMPAT=)
Si una aplicación efectúa el cálculo de algún cuantil (como la mediana, un cuartil o un percentil), puede indicarse el tipo de desempate a usar para su cálculo cuando la posición del cuantil sea entre dos valores de la serie. El criterio también se aplicará para calcular la media de las desviaciones absolutas respecto a la mediana (ya que requiere calcular la mediana). Las opciones de cálculo son:
- /MEDIANA_EMPAT=1 para elegir valor alternado.
- /MEDIANA_EMPAT=2 para elegir valor inferior.
- /MEDIANA_EMPAT=3 para elegir valor superior.
- /MEDIANA_EMPAT=4 para elegir promedio de los dos valores entre los que los encuentra.
La opción por defecto es la 1.
