CartoDroid Manual de Referencia v0 44 X
CartoDroid Manual de Referencia v0 44 X
CartoDroid Manual de Referencia v0 44 X
Manual de referencia
www.cartodroid.es
Manual de referencia de CartoDroid
NDICE
1. Introduccin ........................................................................................................................... 3
2. Estructura de ficheros de la aplicacin. ............................................................................... 4
3. Creacin de capas desde CartoDroid................................................................................... 5
4. Gestin de proyectos con CRTDRD ..................................................................................... 8
5. Configuracin de capas en proyectos ................................................................................. 9
5.1 Estructura general del fichero ............................................................................................................. 9
5.2 Configuracin de capa Vectorial ....................................................................................................... 10
5.3 Configuracin de capa Raster ............................................................................................................ 13
5.4 Configuracin de orgenes de datos ................................................................................................ 14
5.4.1 Orgenes de datos para capas vectoriales .............................................................................. 14
5.4.2 Orgenes de datos para capas raster ...................................................................................... 16
6. Configuracin de simbologas en proyectos ..................................................................... 20
6.1 Estructura general del fichero ........................................................................................................... 20
6.2 Relacin entre estilos y simbologas ............................................................................................... 21
6.3 Estilos y simbologas para puntos .................................................................................................... 22
6.3.1 Definicin de estilos ................................................................................................................. 22
6.3.2 Definicin de simbologa .......................................................................................................... 22
6.4 Estilos y simbologas para lneas ...................................................................................................... 23
6.4.1 Definicin de estilos ................................................................................................................. 23
6.4.2 Definicin de simbologa .......................................................................................................... 23
6.5 Estilos y simbologas para polgonos .............................................................................................. 24
6.5.1 Definicin de estilos ................................................................................................................. 24
6.5.2 Definicin de simbologa .......................................................................................................... 24
6.6 Estilos y simbologas para etiquetas ............................................................................................... 25
6.6.1 Definicin de estilos ................................................................................................................. 25
6.7 Estilos y simbologas por defecto ..................................................................................................... 26
6.8 Simbologas condicionales .................................................................................................................. 27
7. Configuracin de la visualizacin de formularios ............................................................. 29
7.1 Estructura general del fichero ........................................................................................................... 29
7.2 Configuracin de campos del formulario ...................................................................................... 30
8. Casos prcticos de parametrizacin de capas vectoriales .............................................. 34
8.1 Configuracin de capa vectorial con mltiples ficheros .......................................................... 34
8.2 Configuracin de capa vectorial con restricciones para la edicin ..................................... 34
8.3 Definir una etiqueta dinmica ........................................................................................................... 35
8.4 Cambiar la vista de identificacin de una entidad. .................................................................... 35
8.5 Cambiar la vista de la lista de entidades. ....................................................................................... 36
1
Manual de referencia de CartoDroid
2
Manual de referencia de CartoDroid
1. Introduccin
CartoDroid es una aplicacin desarrollada en el Instituto Tecnolgico Agrario de Castilla y Len
(ITACyL) pensada como herramienta de apoyo para el trabajo en campo, que busca resolver el
problema de la edicin de informacin georeferenciada sin conexin de datos en el dispositivo.
En muchas zonas de campo la cobertura de redes mviles es inexistente o insuficiente para
trabajar de forma eficaz, CartoDroid da solucin a este problema permitiendo visualizar capas
vectoriales y raster descargadas en el propio dispositivo y crear geometras dibujndolas
directamente en la pantalla o utilizando el GPS.
CartoDroid no requiere de conocimientos GIS previos para su manejo y es fcil de configurar y
utilizar, lo que abre la puerta a que cualquier persona pueda usarla para manejar informacin en
campo y despus exportar los datos grabados para utilizarlos en otras aplicaciones.
3
Manual de referencia de CartoDroid
CARTODROID
config: contiene los ficheros de configuracin de los proyectos, tanto el bsico que viene de
base con CartoDroid, como de los proyectos creados por usuarios. En el directorio se
encuentra:
o crtdrdLayers.<id_proyecto>.xml: ficheros de configuracin de proyectos. Por defecto
con la instalacin de CartoDroid se incluye un fichero crtdrdLayer.xml sin contenido
para trabajar en el proyecto bsico.
o crtdrdSymbologies.<id_proyecto>.xml: fichero de configuracin de simbologas
personalizadas para el proyecto.
o crtdrdStockSymbologies.xml: fichero de configuracin de las simbologas bsicas
incluidas de base en la instalacin.
o sigpac.properties: configuracin de las tablas que se utilizarn para la bsqueda de
recintos SIGPAC.
data: directorio por defecto para almacenar las las bases de datos sqlite que se crean desde
la herramienta.
values: en este directorio se encuentran los archivos para almacenar valores constantes
que utilizaremos en la aplicacin. (Ej: sistemas de explotacin).
temp: directorio con archivos temporales de la aplicacin.
pictures:
directorio donde se almacenarn las fotos tomadas desde CartoDroid (asociadas a
entidades geogrficas).
4
Manual de referencia de CartoDroid
5
Manual de referencia de CartoDroid
6
Manual de referencia de CartoDroid
Con los datos introducidos en el formulario la aplicacin crear una base de datos sqlite-spatialite
en el directorio /cartodroid/data del dispositivo y actualizar el fichero cartodroid/config/
crtdrdLayers.xml para incluir la definicin de la nueva capa.
7
Manual de referencia de CartoDroid
8
Manual de referencia de CartoDroid
Etiqueta Descripcin
WKSLayerConfiguration Elemento raz del fichero de configuracin. Tendr anidado un
elemento layers, dentro del cual se configuran las capas con
etiquetas entry.
layers Elemento que agrupa el listado de capas del proyecto.
entry Representa una entrada en la TOC. Debe tener anidados dos
elementos, string, que ser el identificador de la capa, y otro
elemento con la referencia al modelo de capa concreto a utilizar:
es.jcyl.ita.crtcyl.core.model.VectorialLayer: para aadir una
capa vectorial.
es.jcyl.ita.crtcyl.core.model.RasterLayer: para aadir una capa
raster.
9
Manual de referencia de CartoDroid
Etiqueta Descripcin
id
Identificador nico de la capa. Debe ser una cadena de texto sin espacios
en blanco, que contenga nicamente letras y dgitos.
Tipos de features que almacena la capa: debe tener uno de estos valores:
10 para geometras MULTIPOINT
vectorialType
20 para geometras POLYLINE
30 para geometras MULTIPOLYGON
showOnTOC Determina si la capa se muestra en la lista de capas de la TOC.
Visualizacin y simbologas
zOrder
Determina el orden de solapamiento de las capas a la hora del pintado.
La capa con mayor zOrden aparece en el plano ms cercano al usuario.
Indica los niveles de zoom en los que la capa estar visible. Para indicarlo
se deben anidar dos etiquetas max y min para indicar el rango. Ej:
range <range>
<min>15</min>
<max>21</max>
</range>
labelRange
Indica los rangos de visualizacin de las etiquetas. Se configura con
elementos anidados min/max de forma similar a la etiqueta range.
showArrowHeads
Mostrar flechas de orientacin de los puntos de las entidades. Solo
aplicable para entidades lineales. true|false.
10
Manual de referencia de CartoDroid
la capa.
canDeleteAll
Si se debe mostrar el botn Eliminar todos los elementos de la capa en
la TOC. true|false.
canEditVertices
Si se debe mostrar la operacin Editar vrtices durante la edicin de una
geometra de la capa. true|false.
editable
Si se pueden editar las entidades de una capa (tanto la geometras como
los atributos). true|false.
inspeccionable
Si el botn de Filtrado de inspecciones debe estar activo cuando la capa
est seleccionado. true|false.
searchable
Si al mostrar el listado de entidades de la capa, se muestran los filtros de
bsqueda. true|false.
11
Manual de referencia de CartoDroid
Configuracin de formularios
alphaEditFinisher
Identificador del formulario que a utilizar para editar los atributos de la
capa.
attributesClassName
Clase que se utilizar para recuperar la informacin de la capa. Ver
apartado de orgenes de datos para ms informacin.
editAfterCreation
Si despus de una edicin o creacin se debe lanzar el formulario de
edicin de atributos. true|false.
En el siguiente ejemplo se muestra el mnimo XML que se debe definir para configurar una capa
vectorial. En este caso es una capa poligonal (vectorialType=30), el fichero de BD se llama
plantaciones.sql y se encontrar en la carpeta cartodroid/data. La tabla que almacena la capa se
llama tambin plantaciones y tienen un ndice geogrfico idx_plantaciones_Geometry.
<layers class="java.util.LinkedHashMap">
<entry>
<string>capa1</string>
<es.jcyl.ita.crtcyl.core.model.VectorialLayer>
<id>plantaciones</id>
<name>Plantaciones</name>
<vectorialType>30</vectorialType> <!-- capa poligonal -->
12
Manual de referencia de CartoDroid
<srs>25830</srs>
<attributesClassName>es.jcyl.ita.crtdrd.data.DefaultSqlite</attributesClassName>
<sources>
<es.jcyl.ita.crtcyl.client.dao.source.SpatiaLiteServiceDescriptor>
<dbURL>plantaciones.sqlite</dbURL>
<dataTable>plantaciones</dataTable>
<indexTable>idx_plantaciones_Geometry</indexTable>
</es.jcyl.ita.crtcyl.client.dao.source.SpatiaLiteServiceDescriptor>
</sources>
<symbId>REBECA</symbId>
<range>
<max>21</max>
<min>0</min>
</range>
</es.jcyl.ita.crtcyl.core.model.VectorialLayer>
</entry>
</layers>
Etiqueta Descripcin
id
Identificador nico de la capa. Debe ser una cadena de texto sin espacios
en blanco, que contenga nicamente letras y dgitos.
Visualizacin y simbologas
zOrder
Determina el orden de solapamiento de las capas a la hora del pintado.
La capa con mayor zOrden aparece en el plano ms cercano al usuario.
Indica los niveles de zoom en los que la capa estar visible. Para indicarlo
se deben anidar dos etiquetas max y min para indicar el rango. Ej:
range <rango>
<max>21</max>
<min>15</min>
</rango>
13
Manual de referencia de CartoDroid
14
Manual de referencia de CartoDroid
De esta forma CartoDroid busca en esa misma carpeta todos los ficheros que empiecen
por recintos y tengan extensin sqlite y los utiliza como fuentes de datos para la capa
Nota: es importante resaltar, que los implentadores multi solo se pueden utilizar para
operaciones de consulta sobre entidades. Si se utiliza este tipo de implementador y se
intenta modificar una geometra o sus atributos, se mostrar un mensaje de error.
Combinando estos dos parmetros, tenemos los cuatro posibles valores que podemos aplicar en
la etiqueta <attributesClassName>.
Fichero
es.jcyl.ita.crtdrd.data.DefaultSqlite es.jcyl.ita.crtdrd.data.LargeSqlite
nico
Mltiples
es.jcyl.ita.crtdrd.data.MultiSqlite es.jcyl.ita.crtdrd.data.MultiLargeSqlite
ficheros
Etiqueta Descripcin
es.jcyl.ita.crtcyl.client.dao.source.SpatiaLiteServiceDescriptor
Ejemplo:
<es.jcyl.ita.crtcyl.client.dao.source.SpatiaLiteServiceDescriptor>
<dbURL>/storage/emulated/0/CartoDroid/data/plantaciones.sqlite</dbURL>
<dataTable>plantaciones</dataTable>
<indexTable>idx_plantaciones_Geometry</indexTable>
</es.jcyl.ita.crtcyl.client.dao.source.SpatiaLiteServiceDescriptor>
15
Manual de referencia de CartoDroid
Etiqueta Descripcin
es.jcyl.ita.crtcyl.client.dao.source.RepoSpatiaLiteServiceDescriptor
resourceid Localizacin del fichero, con una ruta absoluta en el dispositivo o relativa
a la carpeta /CartoDroid/data.
srid Sistema de referencia a utilizar en la capa.
version Identificador de la versin del producto cartogrfico.
dataTable Nombre visible de la capa en la TOC.
indexTable Identifica el ndice geogrfico asociada a la capa
Con estos atributos, CartoDroid buscar en todo el dispositivo un fichero con el nombre:
<resourceid>_<srid>_<version>.sqlite
es.jcyl.ita.crtcyl.client.dao.source. es.jcyl.ita.crtcyl.client.dao.source.
Rasterlite RasterLiteServiceDescriptor RepoRasterLiteServiceDescriptor
es.jcyl.ita.crtcyl.client.dao.source. es.jcyl.ita.crtcyl.client.dao.source.
MBTiles MBTilesServiceDescriptor RepoMBTilesServiceDescriptor
16
Manual de referencia de CartoDroid
17
Manual de referencia de CartoDroid
CartoDroid soporta una implementacin mnima del acceso a servicios WMS. La versin actual no
soporta consultas de tipo GetCapabilities para comprobar capacidades del servidor, pero se
pueden configurar prcticamente todos los parmetros de una peticin WMS.
Etiqueta Descripcin
es.jcyl.ita.crtcyl.client.dao.source.WMSServiceDescriptor
18
Manual de referencia de CartoDroid
request Tipo de peticin WMS que se enviar al servicio, generalmente ser GetMap.
19
Manual de referencia de CartoDroid
Etiqueta Descripcin
symbologyConf Elemento raz del fichero de configuracin. Tendr anidado un elemento estilos
y un elemento simbologias.
estilos Elemento que agrupa los elementos entry para definir los estilos.
simbologias Elemento que agrupa los elementos entry para definir las simbologas.
entry Dentro de los elementos estilos y simbologas, se pueden anidar uno ms
elementos entry.
En el caso de estilos, una entrada se define creando una etiqueta estilo, y en
el caso de simbologias, con la etiqueta symb. Adems cada elemento entry debe
llevar asociada una etiqueta string con un valor nico que identifica al
estilo/simbologa.
</estilo>
</entry>
<entry>
<string>estilo2</string>
<estilo class="estiloPoligono">
</estilo>
</entry>
</estilos>
<simbologias>
<entry>
<string>simbologia1</string>
<symb class="poligono">
20
Manual de referencia de CartoDroid
</symb>
</entry>
</simbologias>
</symbologyConf>
En los siguientes apartados se describe cmo crear una visualizacin a medida para cada tipo de
Geometra (punto, lnea, polgono).
21
Manual de referencia de CartoDroid
Nombre del fichero de la imagen que se mostrar para sustituir el marker por
urlImagen
defecto de google. La imagen debe estar en el directorio /cartodroid/symbol.
<estilos> <simbologias>
<entry> <entry>
<string>symbSelectedPoint</string> <string>symbSelectedPoint</string>
<estilo class="estiloMarca"> <symb class="punto">
<id>symbSelectedPoint</id> <id>symbSelectedPoint</id>
<transparencia>1.0</transparencia> <idEstiloPunto>symbSelectedPoint
<color> </idEstiloPunto>
<rgb>0,255,255,255</rgb> </symb>
</color> </entry>
</estilo> </simbologias>
</entry>
</estilos>
22
Manual de referencia de CartoDroid
<trazo class=basicStroke>
<anchura>3</anchura>
</trazo>
<estilos> <simbologias>
<entry> <entry>
<string>symbInspeccionLinea</string> <string>symbInspeccionLinea</string>
<estilo class="estiloLinea"> <symb class="linea">
<id>symbInspeccionLinea</id> <id>symbInspeccionLinea</id>
<transparencia>1.0</transparencia> <idEstiloLinea>symbInspeccionLinea</
<colorLinea> idEstiloLinea>
<rgb>0,255,255,255</rgb> </symb>
</colorLinea> </entry>
<trazo class=basicStroke> </simbologias>
<anchura>3</anchura>
</trazo>
</estilo>
</entry>
</estilos>
23
Manual de referencia de CartoDroid
<trazo class=basicStroke>
<anchura>3</anchura>
</trazo>
24
Manual de referencia de CartoDroid
<estilos> <simbologias>
<entry> <entry>
<string>pend50</string> <string>pend50</string>
<estilo class="estiloPoligono"> <symb class="poligono">
<id>pend50</id> <id>pend50</id>
<transparencia>1.0</transparencia>
<colorLinea> <idEstiloPoligono>pend50</idEstiloPoligono>
<rgb>0,255,255,255</rgb> </symb>
</colorLinea> </entry>
<trazo class=basicStroke> </simbologias>
<anchura>3</anchura>
</trazo>
<colorRelleno>
<rgb>255,145,0,80</rgb>
</colorRelleno>
</estilo>
</entry>
</estilos>
25
Manual de referencia de CartoDroid
<entry> <entry>
<string>idTextRojo</string> <string>label_rojas_symb</string>
<estilo class="estiloTexto"> <symb class="poligono">
<id>idTextRojo</id> <id>Default_label</id>
<transparencia>1.0</transparencia> <texto>idTextRojo</texto>
<fuente> <idEstiloPoligono>label_rojas_pol
<tamano>36</tamano> </idEstiloPoligono>
</fuente> </symb>
<colorTexto> </entry>
<rgb>255,0,0,255</rgb>
</colorTexto>
<rotacion>0.0</rotacion>
</estilo>
</entry>
En este caso definimos una simbologa de tipo polgono label_rojas_symb que referencia a un
estilo de tipo texto idTextoRojo y a un estilo de tipo polgono label_rojas_pol. Para utilizar esta
simbologa, tendremos que referenciarla en la definicin de la capa del siguiente modo:
<labelSymbId>label_rojas_symb</labelSymbId>.
26
Manual de referencia de CartoDroid
Estas reglas se aplican en el orden en el que son definidas en el XML, es decir, para cada
geometra se evalan las reglas en secuencia y se aplica la simbologa de la primera regla
satisfecha. En caso de no cumplir ninguno de los casos, se utiliza la simbologa por defecto de la
capa, la definida en el atributo symbId.
La ventaja respecto a utilizar la etiqueta symbologyExpression, es que al poder describir por
separado cada regla, y darle un nombre, desde cartodroid se puede utilizar esta informacin para
27
Manual de referencia de CartoDroid
mostrar una leyenda del mapa. Al pulsar sobre el cuadro de la simbologa en la TOC, se abre una
pantalla con la descripcin de los estilos.
En las siguientes pantallas se puede ver cmo se aplican estas reglas sobre las capas de recintos
y la leyenda que se genera a partir de las reglas.
28
Manual de referencia de CartoDroid
29
Manual de referencia de CartoDroid
Etiqueta Descripcin
type Tipo de campo, puede ser TEXT, COMBO, DATE, BOOLEAN, SEPARATOR, INFO.
persistedField
Nombre del campo de la BD que se utilizar para mostrar/almacenar la
informacin.
Nota: Utilizando el tipo SEPARATOR es posible crear cabeceras intermedias para los datos, o bien
vacas (una lnea horizontal), o bien con un texto (rellenando el atributo name).
Nota: Aunque se hayan establecido como COMBO algunos de los valores, sigue siendo necesario
especificar de qu fichero de propiedades deben leerse los valores de dichos campos utilizando el
atributo valuesFromList del XML de configuracin de capas.
30
Manual de referencia de CartoDroid
31
Manual de referencia de CartoDroid
<type>BOOLEAN</type>
<persistedField>b_oblig_nombre_logo_ue</persistedField>
<editable>true</editable>
</field>
<field>
<id>b_oblig_nombre_mencion_igp</id>
<name>Va acompaado de mencin DOP/IGP</name>
<type>BOOLEAN</type>
<persistedField>b_oblig_nombre_mencion_igp</persistedField>
<editable>true</editable>
</field>
32
Manual de referencia de CartoDroid
<regexp>\d+([\.,]\d{1,2})?</regexp>
33
Manual de referencia de CartoDroid
34
Manual de referencia de CartoDroid
<range>
<max>21</max>
<min>17</min>
</range>
<editable>false</editable>
<deletable>false</deletable>
<canCreate>false</canCreate>
<canPaste>false</canPaste>
<canSanitize>false</canSanitize>
</es.jcyl.ita.crtcyl.core.model.VectorialLayer>
</entry>
Pero tambin podemos aplicar funciones para que este valor se calcule en funcin de diferentes.
En este caso se utilizar como etiqueta de la geometra del municipio el cdigo y su descripcin
separados por un valor.
<labelExpression>cod_municipio || - || desc_municipio</labelExpression>
Por ejemplo, en este caso, mostramos un campo numrico formateado a 2 decimales y aadimos
al final el texto %.
<sqlIdentify>*, ROUND(cobertura,2) || '%' as cobertura</sqlIdentify>
35
Manual de referencia de CartoDroid
El fichero contendr el nombre que aparecer en el desplegable de filtros y la definition query que
se establecer. Por ejemplo si establecemos el fichero /cartodroid/values/
plantacionesDefinitionQueries.properties el siguiente contenido:
Cobertura >10% = cobertura>0.1
Cobertura >20% = cobertura>0.2
36
Manual de referencia de CartoDroid
O cruzar con otra tabla para establecer la condicin en base a campos de la tabla referida, por
ejemplo para mostrar solo las parcelas de los propietarios asociados:
Asociados=exists(select 1 from propietario p where p.pk_uid = r.propietario_id and p.asociado
= 'S')
37
Manual de referencia de CartoDroid
<max>21</max>
<min>10</min>
</range>
<srs>25830</srs>
<vectorialType>30</vectorialType>
<valuesFromList>variedad=variedades;sistCond=sistemas</valuesFromList>
</es.jcyl.ita.crtcyl.core.model.VectorialLayer>
</entry>
En el formulario, al seleccionar el campo para introducir un valor, se mostrar un listado con los
valores definidos en el correspondiente fichero:
38
Manual de referencia de CartoDroid
<origenes>
<es.jcyl.ita.crtcyl.client.dao.source.SpatiaLiteServiceDescriptor>
<dbURL>dorueda.sqlite</dbURL>
<dataTable>plantaciones</dataTable>
<indexTable>idx_plantaciones_Geometry</indexTable>
</es.jcyl.ita.crtcyl.client.dao.source.SpatiaLiteServiceDescriptor>
</origenes>
<rango>
<max>21</max>
<min>0</min>
</rango>
<srs>25830</srs>
<attributesClassName>es.jcyl.ita.crtdrd.data.DefaultSqlite</attributesClassName>
<!-- la etiqueta para la entidad ser el cdigo de variedad -->
<labelExpression>variedad</labelExpression>
<symbologyExpression>case when variedad = 'PA' then 'ALICIA'
when variedad = 'VI' then 'CARLA'
when variedad = 'VE' then 'CAMILO'
when variedad = 'TE' then 'ANA'
when variedad = 'SA' then 'JUAN'
when variedad = 'GA' then 'JAIME'
when variedad = 'CA' then 'IRENE'
when variedad = 'ME' then 'SOFIA'
else 'REBECA' end</symbologyExpression>
</es.jcyl.ita.crtcyl.core.model.VectorialLayer>
</entry>
Este sera el resultado, una capa en la que las geometras se muestran con distinta apariencia en
funcin del atributo variedad.
39
Manual de referencia de CartoDroid
40
Manual de referencia de CartoDroid
9.1 Requisitos
Requisitos que debe cumplir una capa spatialite para poder ser utilizada en CartoDroid:
La capa debe tener correctamente definido el sistema de referencia.
La tabla debe tener un campo de clave primaria con el nombre pk_uid.
El campo que contiene la geometra en la tabla se debe llamar Geometry (con G en
mayscula).
Para dar robustez a la edicin, es conveniente utilizar tipos de datos multiparte:
MULTIPOLYGON, MULTILINESTRING, MULTIPOINT.
Esto se puede forzar con la siguiente sentencia:
update geometry_columns set type = 'MULTIPOLYGON' where f_table_name = 'inspeccion'
41