Web del MiraMon

Sistemes de referència horitzontal al MiraMon.
Taules i fitxers de geodèsia


Sistemes de referència horitzontal

Taules i fitxers de geodèsia

Sistema de referència oficial a Catalunya


Sistemes de referència horitzontal

En un Sistema d'Informació Geogràfica (SIG), el sistema de referència horitzontal (SRH) serveix per a poder definir el marc de referència (origen, unitats, etc.) a partir de qual es mesuren les quantitats lineals o angulars que s'assignen a la posició que ocupa cada punt a l'espai bidimensional X,Y on es representen els objectes i fenòmens que emmagatzema el SIG. En altres paraules, donada una coordenada X,Y del mapa, el SRH permet saber des d'on està mesurada, en quines unitats, etc.

Els sistemes de referència horitzontal del MiraMon es classifiquen en: locals i cartogràfics. Els SRH locals s'usen en casos senzills com un plànol d'una finca agrària mesurat en metres des d'un origen situat a un angle de la mateixa, o com un mapa escannejat mesurat en píxels i amb origen al vèrtex inferior esquerre del ràster generat en l'escaneig. Els SRH locals no tenen cap complexitat especial i no requereixen pràcticament cap altra especificació tècnica. Tanmateix, els SRH locals són inadequats per a aplicacions cartogràfiques en què l'extensió del territori tractat, la necessitat de fer la informació encreuable amb altres fonts, etc., obliguen a adoptar els procediments i les convencions que, des de fa molts anys, han estat establertes per la Cartografia i la Geodèsia.

Aquests procediments i convencions fan que els SRH cartogràfics tinguin un nivell de complexitat molt superior als SRH locals; cal entendre, però, que aquesta complexitat és necessària per tal com explicita les transformacions efectuades per passar des de la superfície terrestre (corbada, etc.) a una certa projecció cartogràfica, dàtum, el·lipsoide, etc.

Aquest document descriu els SRH de tipus cartogràfic. En el MiraMon, les capes poden estar documentades en qualsevol sistema de referència cartogràfic; ara bé, perquè el MiraMon reconegui el sistema i pugui mostrar coordenades latitud/longitud, visualitzar una xarxa de meridians i paral·lels o transformar la capa a una altra projecció o a un altre sistema de referència, ha d'associar-li un identificador que anomenem identificador del sistema de referència horitzontal. Aquest identificador permet descriure completament les propietats del sistema geodèsic subjacent a qualsevol SRH de tipus cartogràfic. Tanmateix, per tal que això sigui possible, l'identificador ha de complir una de les següents condicions, avaluades pel mateix ordre en què es presenten. En altres paraules, quan es llegeixen les metadades d'una capa s'obté l'identificador de SRH que hi consta i aquest identificador es va avaluant seguint les següents condicions fins que es troba una associació:

  • L'identificador de SRH trobat és un identificador definit a la taula m_idofic.dbf del MiraMon. Aquesta taula és un recull efectuat per l'equip del MiraMon que presenta uns quants casos de sinònims típics entre identificadors de SRH usats antigament, o encara actualment, i els que oficialment utilitza el programa (que són a la taula m_geodes.dbf).
  • L'identificador de SRH trobat és un identificador definit a la taula u_idofic.dbf, que és una taula d'estructura i funció similar m_idofic.dbf, però que està pensada per a permetre a qualsevol usuari establir sinonímies entre identificadors de SRH que usi o hagi usat en el passat i els que oficialment utilitza el programa (que són a la taula m_geodes.dbf).
  • L'identificador de SRH trobat és un identificador definit a la taula m_geodes.dbf del MiraMon, és a dir, és un dels que oficialment utilitza el programa MiraMon.
  • L'identificador de SRH trobat està descrit a través de les claus específiques de la secció [SPATIAL_REFERENCE_SYSTEM:HORIZONTAL] del fitxer REL de metadades de la pròpia capa.
  • L'identificador de SRH trobat és un identificador definit a la taula u_geodes.dbf, que és una taula d'estructura i funció similar m_geodes.dbf, però que està pensada per a permetre a qualsevol usuari establir nous identificadors de SRH, és a dir nous identificadors que defineixin noves combinacions de projeccions cartogràfiques, el·lipsoides, dàtums, etc.

Si es compleix alguna d'aquestes condicions, l'identificador de SRH queda lligat a unes unitats horitzontals, a un dàtum, a un el·lipsoide, a una projecció cartogràfica i a uns paràmetres vàlids per a aquesta projecció. Si no es troba cap associació es considera que el SRH és local i no cartogràfic.


Taules i fitxers de geodèsia

El MiraMon proporciona un joc de taules de geodèsia: les taules de geodèsia del MiraMon. Aquestes taules no poden ser editades per l'usuari i el MiraMon es reserva el dret d'introduir ampliacions i modificacions en successives versions. Els noms de les taules del MiraMon comencen pels caràcters "m_". L'usuari pot introduir nous sistemes de referència, nous dàtums, nous el·lipsoides, o nous valors de paràmetres de projecció a les taules de geodèsia d'usuari. Els noms de les taules d'usuari comencen per "u_", presenten idèntica estructura a les taules de geodèsia del MiraMon i es poden crear a partir de les del MiraMon copiant cada taula i esborrant tots els registres.

La següent taula indica els noms de les taules i una petita descripció que serà ampliada en els pròxims punts d'aquest document:

Taula del MiraMon Taula d'usuari Descripció
m_geodes.dbf u_geodes.dbf Relaciona l'identificador d'identificador de SRH amb les unitats horitzontals, la projecció, els paràmetres de projecció, el dàtum i l'el·lipsoide.
m_pardtm.dbf u_pardtm.dbf Defineix els valors dels paràmetres de Molodenski o Bursa-Wolf, en sentit directe (del dàtum a WGS84) i invers (de WGS84 al dàtum), el grup de dàtums a què pertany cada dàtum i els llocs on s'usa.
m_datum.dbf u_datum.dbf Defineix els grups de dàtums i l'el·lipsoide al qual està associat cada grup.
m_ellip.dbf u_ellip.dbf Defineix els valors del radi major i l'aplanament (el·lipsoide) o el radi (esfera) per a cada el·lipsoide.
m_prj.dbf - Defineix les propietats de les projeccions suportades.
m_parprj.dbf - Defineix el llistat de paràmetres de projecció i els seus identificadors possibles per a cada projecció suportada. És una taula de cardinalitat múltiple.
m_valprj.ini u_valprj.ini Defineix els valors dels paràmetres de projecció vàlids per a cada projecció donada, en les seves diferents variants.
m_idofic.dbf u_idofic.dbf Defineix una taula de sinònims per a convertir entre identificadors de versions anteriors o d'altres nomenclatures als identificadors de SRH oficials.

Totes les taules tenen format dbf i es poden visualitzar amb MiraDades (MiraD.exe), excepte la taula de valors dels paràmetres de projecció (m_valprj.ini i u_valprj.ini) que és un fitxer en format ini (rel) editable amb el bloc de notes (notepad.exe).

Aquestes taules són:

1. GEODES: Taula de geodèsia

Com es veurà més endavant, el nombre de dàtums, el·lipsoides, projeccions i valors per a paràmetres de projeccions vàlids per el sistema resulta pràcticament il·limitat. Malgrat això, i per a cada regió de la Terra, la cartografia s'expressa amb un nombre petit de sistemes de referència horitzontal i, generalment, hi ha un sol sistema que, amb el temps, ha esdevingut estàndard, sovint per llei, en un territori. És per això, i per facilitar l'ús del sistema, que es proporciona una taula que permet definir, a partir dels identificadors de dàtum, el·lipsoide, projecció, etc., un nombre reduït d'entrades que representin un subconjunt útil per l'entorn de treball de l'usuari. Aquesta és la taula de geodèsia del MiraMon (m_geodes.dbf). L'usuari pot ampliar aquest conjunt amb una taula de geodèsia d'usuari (u_geodes). La taula defineix cada identificador de SRH a partir de les unitats horitzontals (camp UNITATS), un identificador de la projecció (camp ID_PRJ), un identificador de paràmetres de projecció (camp ID_VALPRJ), un identificador de dàtum (camp ID_DATUM) i un identificador d'el·lipsoide alternatiu (camp ID_ELL_ALT).

Un dàtum ja porta associat el seu el·lipsoide (mai una esfera) en la taula m_datum.dbf, camp ID_ELLIP. Per això, el camp d'el·lipsoide alternatiu (ID_ELL_ALT) sol deixar-se en blanc en la majoria de casos. Essencialment, el camp ID_ELL_ALT està pensat per a poder aplicar models de projecció esfèrics. Quan es defineix l'el·lipsoide alternatiu, només s'aplica en els procés de canvi de projecció (pas de coordenades mapa a longitud/latitud), però no en el canvi de dàtum (pas a coordenades geocèntriques), on es fa servir sempre l'el·lipsoide associat al dàtum.

2. PARDTM: Taula de paràmetres de dàtum per a una regió concreta

Cada identificador de SRH ha de tenir correctament definit el dàtum. Aquesta definició completa no ha d'indicar només el dàtum geodètic, sinó també els paràmetres òptims de transformació local entre aquest dàtum i WGS84 i entre WGS84 i aquest dàtum. Amb aquesta finalitat, el camp ID_DATUM de les taules geodes (m_geodes i u_geodes) conté un identificador de dàtum que permet accedir a la completa definició del dàtum a través del camp homònim de les taules parDtm (m_ParDtm i u_ParDtm). Com hem dit, en aquestes taules el dàtum es defineix de forma completa informant del dàtum que s'ha utilitzat (ED50, NAD27, etc.), així com dels paràmetres de transformació entre aquest dàtum i WGS84 i entre WGS84 i aquest dàtum, els quals han estat calculats de forma optimitzada per a cada regió concreta que disposa d'un identificador de dàtum.

El dàtum que s'ha utilitzat (ED50, NAD27, etc.) no es descriu completament en aquesta taula, ja que això implicaria una gran redundància per als diversos identificadors de dàtum que utilitzen un mateix dàtum però diferents paràmetres de transformació respecte a WGS84. Els diferents identificadors de dàtum que utilitzen un mateix dàtum (però diferents paràmetres de transformació respecte a WGS84) constitueixen un "grup". És per això que el camp ID_GRUP de les taules ParDtm permet indicar el "grup" de dàtum utilitzat (ED50, NAD27, etc.), el qual s'explicita en les taules de dàtum (vegeu més endavant).

Els paràmetres de transformació entre el dàtum i WGS84 i entre WGS84 i el dàtum per a cada identificador de dàtum poden ser de Molodenski (si coneixem només els desplaçaments X,Y,Z geocèntrics entre dàtums), o de Bursa-Wolf (si coneixem també rotacions i escalat). S'indiquen en els següents camps de les taules de dàtum:

  • Desplaçaments del dàtum a WGS84 en metres: DELTA_X, DELTA_Y i DELTA_Z
  • Desplaçaments de WGS84 al dàtum en metres: R_DELTA_X, R_DELTA_Y i R_DELTA_Z
  • Rotacions del dàtum a WGS84 en segons d'arc: OMEGA, FI i KAPPA (rotacions respecte els eixos X, Y i Z respectivament)
  • Rotacions de WGS84 al dàtum en segons d'arc: R_OMEGA, R_FI i R_KAPPA (rotacions respecte els eixos X, Y i Z respectivament)
  • Escalat del dàtum a WGS84 en parts per milió: ESCALAT
  • Escalat de WGS84 al dàtum en parts per milió: R_ESCALAT

Deixeu en blanc els quatre últims punts per descriure els paràmetres de Molodenski. Existeix la possibilitat de definir l'error associat a cadascun dels paràmetres anteriors, per exemple S_DELTA_X correspondrà a l'error en DELTA_X tant en sentit directe com en invers. Per a alguns dàtums, hi ha paràmetres específics, ajustats de forma particularment òptima, per a diverses zones de la Terra. El camp LLOCS especifica les zones d'aplicació de cada joc de paràmetres.

3. DATUM: Taula de dàtums

Aquesta taula conté els diferents dàtums utilitzats en cartografia, però sense cap parametrització de conversió entre ells ni amb WGS84 (vegeu les taules ParDtm per a aquesta finalitat). Com s'ha explicat en referir-se a la taula ParDtm, diversos identificadors de dàtum s'agrupen al voltant d'un mateix dàtum geodètic, per la qual cosa el camp clau d'aquesta taula és l'anomenat ID_GRUP, amb el qual s'enllaça el camp homònim de les taules ParDtm.

Les taules DATUM descriuen els dàtums i indiquen l'el·lipsoide associat a cada dàtum.

4. ELLIP: Taula d'el·lipsoides

El més habitual és que el sistema de referència usi l'el·lipsoide associat al seu dàtum tant pel pas de coordenades mapa a coordenades longitud/latitud com pel pas a coordenades geocèntriques. Aquest el·lipsoide està especificat al camp ID_ELLIP de la taula de dàtums, que enllaça amb la taula d'el·lipsoides m_ellip.dbf o u_ellip.dbf. Hi ha bases que, degut a la seva extensió continental o mundial i a la seva baixa resolució, empren un sistema de projecció esfèric. En aquest cas podem forçar l'ús d'un el·lipsoide alternatiu (només usat en el pas de coordenades mapa a longitud/latitud), introduint-lo en el camp ID_ELL_ALT de la taula de geodèsia (que d'altra manera resta en blanc). Aquest identificador també enllaça amb una de les taules d'el·lipsoides. Els paràmetres necessaris per a definir un el·lipsoide són:

  • Semieix major en metres: SMAJORAXIS
  • Invers de l'aplanament: RECFLATT

Si volem descriure un model esfèric, cal introduir el radi com a semieix major i deixar en blanc el camp de l'invers de l'aplanament.

5. PRJ: Taula de projeccions cartogràfiques

Els sistemes indicats a les taules de geodèsia (m_geodes.dbf i u_geodes.dbf) han d'enllaçar a través del camp ID_PRJ amb la taula de projeccions m_prj.dbf. En aquest cas no existeix una taula d'usuari; el MiraMon només pot suportar aquelles projeccions ja definides en aquesta taula. Si desitgeu suport a alguna projecció no implementada actualment, podeu sol·licitar la seva codificació a suport@miramon.cat. En canvi es permet definir tants jocs de paràmetres de cada projecció com creguem necessari (per exemple fusos de la projecció UTM o paral·lels automecoics en la Lambert cònica conforme). Cada projecció té associades unes unitats per defecte i, a més a més, s'han descrit les següents propietats geomètriques, per a millor informació a l'usuari:

  • CONFORME: La projecció no distorsiona les formes (manté els angles)
  • EQUIVALENT: La projecció conserva les arees (és a dir, un càlcul cartesià de l'àrea coincideix amb l'àrea real). Tanmateix, el MiraMon és capaç de proporcionar àrees ben calculades independentment de si la projecció és equivalent o no.
  • EQUIDISTANT: Les distàncies mesurades en el globus i en el pla de projecció són iguals. Aquesta propietat està associada a distàncies mesurades des d'un punt en qualsevol direcció, però mai no es compleix per a tots els punts i direccions del mapa alhora. Tanmateix, el MiraMon és capaç de proporcionar distàncies ben calculades independentment de si la projecció és equidistant o no.

Per a aquestes propietats, el valor 0 indica absència, 1 indica que la propietat es compleix en determinades localitzacions o direccions, 2 indica que la propietat es compleix parcialment i 3 indica que propietat es conserva en tot el seu domini.

6.PARPRJ: Taula de paràmetres de projecció

La taula m_prj.dbf enllaça amb la taula m_parprj.dbf, on hi ha tots els possibles paràmetres de cada projecció que poden rebre valors amb les seves unitats (noteu que per a les taules m_parprj i m_prj no existeixen taules d'usuari). La taula m_parprj.dbf també té la funcionalitat de descriure el significat geodèsic de cada paràmetre de la projecció i de controlar el rang dels seus possibles valors vàlids.

7.VALPRJ: Paràmetres de projecció

Un determinat SRH prendrà uns valors concrets dels paràmetres definits a m_parprj pel seu sistema de projecció. Aquests valors particulars es defineixen als fitxers m_valprj.ini i u_valprj.ini de la següent forma: El sistema de referència defineix un joc de paràmetres 'joc' en el camp ID_VALPRJ de la taula de geodèsia corresponent a la projecció 'prj' del camp ID_PRJ. Aquest joc de paràmetres de la projecció enllaça amb la secció [prj:joc] d'un dels fitxers m_valprj.ini o u_valprj.ini. En aquesta secció, cadascun dels possibles paràmetres de la projecció, definits a m_parprj.dbf, serà una clau on prendrà un valor concret. La seva absència implicarà que el paràmetre prendrà el valor per defecte.

En resum, cada projecció admet ser parametritzada de moltes maneres: quins paral·lels de referència s'usaran en certes projeccions còniques i cilíndriques, quin meridià s'assignarà a la coordenada X=0, etc. El camp ID_PRJ de m_geodes indica la projecció en si (i al seu torn, es pot saber quins paràmetres cal donar-li consultant la taula m_ParPrj per als registres que presentin el mateix valor al camp ID_PRJ d'aquesta taula). Tanmateix, la projecció es concreta (quin valor pren cadascun dels paràmetres de m_ParPrj) a través del fitxer m_ValPrj.ini, que conté seccions de nom combinat [ID_PRJ:ID_VALPRJ] que, al seu torn, contenen, en les seves claus, els valors dels paràmetres (per exemple "fals_est=600000" o "lambda_0=0.0").

Esquema i exemple

L'esquema relacional de les taules i fitxers de geodèsia en el MiraMon es pot resumir com:

Per exemple, al sistema de referència UTM-31N-UB/ICC li correspondria un esquema com el següent:

Notes:

Per tal d'interpretar correctament els noms de sistemes de referència de les versions del MiraMon anteriors a la 4 o per a identificar noms equivalents que provenen d'algunes importacions des de d'altres softwares, existeixen les taules d'identificadors oficials: m_idofic.dbf i u_idofic.dbf. El camp PSIDGEODES conté el nom anterior o alternatiu, mentre que el camp ID_GEODES conté el nom oficial que enllaça amb una de les taules m_geodes.dbf o u_geodes.dbf. Per exemple si tenim moltes bases documentades amb el SRH UTM-31N, podem definir que UTM-31N és equivalent a (sinònim de) l'actual UTM-31N-UB/ICC.

Cal tenir present quina és la jerarquia de l'esquema geodèsic per evitar possibles redefinicions. Un SRH ve unívocament identificat pel seu camp clau ID_GEODES. Si existís una repetició d'aquest identificador entre les taules de geodèsia i/o entre un REL corresponent a una capa en particular, en primer lloc prevalen els de la taula del MiraMon m_geodes.dbf, en segon lloc els del REL particular de la capa i en darrer lloc els de la taula d'usuari u_geodes.dbf.

Si voleu crear un sistema de referència diferent dels definits pel MiraMon, cal assignar-li un identificador diferent a la taula d'usuari i fer-lo correspondre a la resta d'elements geodèsics. Donat que el nombre de sistemes de referència horitzontal possibles en base a combinar projeccions, paràmetres, dàtums, etc., és enorme, les taules oficials del MiraMon (fitxer m_) només recullen els sistemes més emprats entre els nostres usuaris. Això permet que el nombre d'opcions disponible en els desplegables no sigui intractable. Gràcies a l'existència de les taules d'usuari, però, (fitxers "u_") cada usuari del món pot definir perfectament el seu sistema i veure'l en els desplegables com un sistema a punt per ser usat.

Tanmateix, aquells usuaris que considerin que el seu sistema de referència és molt universal, o usat per molts usuaris, i en particular aquelles institucions que difonguin cartografia per Internet a través de la tecnologia del MiraMon Internet Map Publisher (format MMZ i el Lector Universal de Mapes del MiraMon) poden demanar a suport@miramon.cat que el seu sistema s'incorpori entre els sistemes presents a les taules "m_" que es distribueixen amb el MiraMon i amb el "Lector Universal de Mapes del MiraMon".

L'usuari pot tenir diverses taules i fitxers de geodèsia, respectant els noms, en ubicacions diferents. Una sessió del MiraMon o qualsevol mòdul (MSA) té sempre definit el directori de treball (consulteu Ajuda | Directori de treball al menú del MiraMon). Les taules o fitxers ubicats en el directori de treball seran les que prevaldran. Si no es troben en el directori de treball, s'usen les que hi ha en el directori on està instal·lat el programa (típicament C:\MiraMon). Les taules de geodèsia m_* són subministrades pel MiraMon i no han de ser modificades. És possible definir un nou sistema de referència d'usuari a les taules u_* o directament en el fitxer REL. El MiraMon no proporciona taules d'usuari, però poden ser creades per l'usuari i afegir-hi els nous sistemes de referència. Cal anar amb compte en modificar l'estructura de les taules d'usuari: es permet afegir camps amb nova informació i canviar l'ordre dels camps, però altres modificacions podrien inutilitzar tot l'esquema geodèsic.

En aquelles taules en què hi ha un camp de nom SRC, aquest indica la font de les dades de cada registre.

En futures versions, es facilitaran interfícies per a afegir, de manera assistida, nous sistemes de referència, o fer algunes modificacions sobre els existents. Actualment és necessari comprendre tot l'esquema relacional, i manipular les taules directament amb MiraDades. Podeu crear noves entrades duplicant un registre ja existent que sigui semblant al nou sistema i modificar el contingut dels camps del nou registre.

Alguns camps de les taules de geodèsia, tenen un camp descriptor associat. El contingut d'aquest camp pot ser directament una cadena de text descriptiva o pot ser un cadena a l'estil STB#Desc. Aquest segon cas, usat per un millor manteniment idiomàtic, implica que el registre en qüestió, apunta a un descriptor (Desc) que trobarem definit en el fitxer general.stb.


Sistema de referència oficial a Catalunya

A partir de l'1 de gener de 2015 tota la cartografia i bases de dades d'informació geogràfica i cartogràfica produïda o actualitzada per les Administracions Públiques en l'àmbit de la Península Ibèrica i les Illes Balears s'ha de compilar i publicar en el sistema de referència ETRS89. Aquest fet ha implicat la migració entre l'antic sistema de referència oficial ED50 i el nou ETRS89.

En el MiraMon, quan es requereix una transformació entre sistemes de referència geogràfics (incloent el canvi de projecció, de dàtum, etc) el procediment utilitzat pel programari sol comportar aproximacions geodèsiques clàssiques, basades en la conversió de les coordenades a transformar a un sistema geocèntric, etc. Tanmateix, donat que l'Institut Cartogràfic de Catalunya (actualment Institut Cartogràfic i Geològic de Catalunya) va publicar una via específica per a la migració de la cartografia ED50 a ETRS89 a Catalunya basada en transformacions de semblança bidimensionals, i que aquesta es considera òptima per a escales fins a un detall 1:1000, inclosa, s'ha donat un suport específic a aquesta via en les dues eines fonamentals de transformacions entre sistemes de referència geogràfics: La calculadora geodèsica que permet el canvi de coordenades concretes ("Eines | Geometria | Calculadora geodèsica...", CalcGeo) i el mòdul que permet el canvi en conjunts de dades ràster o vectorials ("Eines | Geometria | Canvi de projecció cartogràfica...", CanviPrj).

Per facilitar al màxim la migració entre ED50 i ETRS89, s'ha programat que les esmentades eines apliquin automàticament la via alternativa proposada per l'ICGC en els casos en què resulti d'elecció. Donat que el MiraMon té un identificador concret per al sistema de referència UTM del fus 31 hemisferi nord en ED50 per a l'àmbit de Catalunya (UTM-31N-UB/ICC), així com un en ETRS89 (UTM-31N-ETRS89), el programari aplicarà aquesta via sempre que els sistemes d'origen o de destí siguin els esmentats (per tant, l'automatisme funciona tant per migrar d'ED50 a ETRS89 com viceversa).

Aquesta solució específica és convergent amb la que s'obté si s'apliquen les eines del MiraMon per a transformacions geomètriques elementals (translació, escalat, rotació, etc) amb els paràmetres oficials de les transformacions '100800400' i '800100400' proporcionats per l'ICGC, però resulta altament recomanada no només per la seva evident comoditat sinó també perquè fa menys probable la introducció involuntària d'algun paràmetre erroni.


Finalment, cal tenir en compte que les transformacions de capes se suporten per als formats propis del MiraMon, IMG pels ràsters, i PNT, ARC/NOD, POL o VEC pels casos vectorials. En cas de voler transformar una capa en qualsevol altre format caldrà realitzar una importació a través del mòdul corresponent de "Fitxer | Importar" (TIFIMG, DXFVEC, etc).

Aquest document és només una ajuda a nivell d'usuari de com han estat implementats els conceptes i mecanismes geodèsics en el SIG MiraMon i no té com a funció explicar els conceptes, transformacions, propietats, etc. de la geodèsia. Consulteu un bon manual de cartografia i/o geodèsia per a més detalls.