manual curso arcims 04-05 bloque2 version2

Upload: norwin-ernesto-acosta

Post on 17-Jul-2015

156 views

Category:

Documents


0 download

TRANSCRIPT

Materiales curso prctico ArcIMS

mayo de 2005

ArcIMS 9.0 Curso prctico Introduccin, personalizacin y desarrollo de aplicaciones Cliente Parte 2

Manual Prctico del Curso

BGR - PN 1999.2103.2

Pgina 1 de 83

Materiales curso prctico ArcIMS

mayo de 2005

ContenidosCurso prctico: Introduccin, personalizacin y desarrollo de aplicaciones cliente en ArcIMS 9.0

Parte 2: XML, ArcXML y esquemas La comunicacin entre visor y servidor a travs del protocolo ArcXML Modificacin avanzada de archivos de configuracin de mapas Administracin avanzada de sitios ArcIMS Consultas de la informacin de atributos y espacial Personalizacin avanzada del visor HTML

Metas y prerrequisitosMetas: Disear sitios Web con mapas dinmicos a partir del uso de la tecnologa ArcIMS, ArcXML y HTML Prerrequisitos: Conocimientos en HTML y JavaScript Conocimientos en ArcGIS Participacin en el curso prctico parte 1 Reglas del curso: Apagar celulares y desenchufar telfono Salir de la sala solamente durante los descansos Seguir los materiales del curso no adelantar en la materia

BGR - PN 1999.2103.2

Pgina 2 de 83

Materiales curso prctico ArcIMS

mayo de 2005

1

XML, ArcXML y estndares

La estructura de XML: Etiquetas y atributos Comentarios Localizacin Las principales aplicaciones de XML DTD, estndares de esquemas y DOM Transformacin de XML: Presentacin en Web Procesamiento (parsing) El DTD de ArcXML: Validacin de archivos de configuracin El rol de ArcXML en ArcIMS La gua de referencia ArcXML

BGR - PN 1999.2103.2

Pgina 3 de 83

Materiales curso prctico ArcIMS

mayo de 2005

La estructura de XML Al igual como HTML, XML es un lenguaje textual de etiquetas (Markup) A diferencia con HTML, etiquetas XML identifican datos en vez de estilos de presentacin XML se compone de etiquetas y atributos. Una etiqueta puede contener cero, uno o varios atributos: Cdigo XML puede contener etiquetas vacas: Documentos XML pueden incluir comentarios explicativas sobre el cdigo: XML es ms restrictivo que HTML en cuanto a errores de sintaxis: etiquetas abiertas no estn permitidas. Cada documento XML requiere de un prlogo en el formato: XML, ArcXML y estndares 1

XML se compone de atributos y elementos, y en muchos casos una estructura XML podra disearse utilizando atributos para un elemento de informacin o sub-elementos de un elemento existente: Este es un ttulo ... Sin embargo, existen ciertas reglas que deciden sobre cundo utilizar un elemento y cundo utilizar un atributo para crear una estructura XML: Si los datos contienen sub-estructuras el objeto tiene que ser modelado como elemento porque atributos solo aceptan cadenas simples de texto Si los datos contienen ms que una lnea de texto el objeto debe modelarse como elemento Si un objeto puede ocurrir ms que una vez, ste debe modelarse como elemento Si los datos cambian frecuentemente, es recomendable utilizar elementos en vez de atributos (es ms fcil editar elementos) Si los datos son cadenas de texto son pequeas y simples y cambian raramente, atributos pueden utilizarse para modelar el objeto DTD pueden restringir valores permitidos de atributos pero no de elementos

BGR - PN 1999.2103.2

Pgina 4 de 83

Materiales curso prctico ArcIMS

mayo de 2005

La principales aplicaciones de XML Procesamiento tradicional de datos XML codifica los datos a procesar Intercambio de informacin en Internet Protocolo de comunicacin de plataformas multi-capa Programacin basada en documentos (Document-Driven Programming - DDP) XML describe el diseo de software Definicin de la apariencia de una aplicacin Referencias a la interfaz grfica y componentes lgicos y funcionales Vinculacin (Binding) El DTD especifica cdigo de alto nivel para el procesamiento del XML Generacin automtica de cdigo de procesamiento de datos Creacin de clases que procesan datos a partir de su DTD Archivo (Archiving) Documentos XML archivan componentes de software reutilizables Transferencia de componentes desarrollados en diferentes lenguajes Modificacin de componentes a travs de reemplazar textoXML, ArcXML y estndares 2

La importancia de XML tiene sus razones en una serie de caractersticas inherentes a las especificaciones y el modelo de objetos de documento: Texto sencillo: XML no est almacenada en formato binario o propietario sino en formato texto ASCII compatible con cualquier editor de texto estndar. Al mismo tiempo la estructura y jerarqua de XML es tan potente y escalable como un sistema de base de datos relacional o repositorio de datos. Identificacin de la informacin El modelo de objetos de documento (DOM) permite consultar y filtrar la informacin contenida en documentos XML a partir de las etiquetas definidas en el DTD. Representacin visual El contenido de documentos XML puede visualizarse en la Web a travs de hojas de estilo, tanto como convertirse en PostScript, TEX, PDF u otros formatos.

BGR - PN 1999.2103.2

Pgina 5 de 83

Materiales curso prctico ArcIMS

mayo de 2005

DTD, estndares de esquemas y DOM Las Definiciones de Tipo de Documento son partes opcionales de la especificacin XML y definen las etiquetas vlidas y su jerarqua en un documento XML. Esquemas son ms poderosos que DTD. Parecidas a estructuras de bases de datos, las esquemas permiten la validacin de atributos y jerarquas complejas. Uno de los primeros protocolos para el acceso programtico a XML es el API Simple para XML SAX. Ms importante, es el Modelo de Objetos de Documentos (DOM) que convierte cdigo XML en una serie de objetos que pueden accederse al azar. Espacios de nombres (Namespaces) es un estndar que permite combinar dos o varios conjuntos de etiquetas en el mismo documento. XHTML es una especificacin basada en la idea de incluir etiquetas HTML en documentos XML, de esta forma permitiendo su despliegue en navegadores.

XML, ArcXML y estndares

3

XML ya es base para varios estndares especializados que se han construido utilizando XML como herramienta de definicin de lenguajes: SMIL Synchronized Multimedia Integration Language - SMIL es una recomendacin del W3C que cubre audio, video y animaciones MathML Mathematical Markup Language - MathML es una recomendacin del W3C para la representacin de formulas matemticas SVG Scalable Vector Graphics - SVG es una recomendacin del W3C para la representacin de grficos de vectores en Internet DrawML Drawing Meta Language - DrawML es una recomendacin del W3C que cubre imgenes 2D para ilustraciones tcnicas

BGR - PN 1999.2103.2

Pgina 6 de 83

Materiales curso prctico ArcIMS

mayo de 2005

La transformacin de XML Documentos XML no contienen instrucciones que definen el formato y los estilos de la presentacin en Web de su contenido. XSLT es un estndar para la transformacin de etiquetas XML y de la informacin almacenada en un documento a HTML. Se usa XSLT en combinacin con XPATH, un mecanismo que permite filtrar y seleccionar los elementos a presentar. Lenguajes de programacin en Web como por ejemplo JSP utilizan XPATH para interpretar y crear consultas a documentos XML. La interpretacin (Parsing) y consulta programtica de documentos y cdigo XML puede realizarse a travs del modelo de objetos DOM y SAX. Aplicaciones escritas en el lenguaje Java pueden utilizar libreras como JAXP (Java API for XML Processing) para interpretar cdigo XML.

XML, ArcXML y estndares

4

Un modelo de objetos de documento (DOM) es una estructura tipo rbol en la cual cada nodo contiene una de los componentes de una estructura XML. Los nodos ms comunes son nodos de elemento (element nodes ) y nodos de texto (text nodes). Utilizando funciones del DOM (p. ej. nodeValue(), node.nodeType(), and nodeName()), los nodos pueden ser creados, borrados y sus contenidos modificados. Otras funciones permiten recorrer la jerarqua del documento e inspeccionar sub-conjuntos de elementos o sub-elementos.

BGR - PN 1999.2103.2

Pgina 7 de 83

Materiales curso prctico ArcIMS

mayo de 2005

El DTD de ArcIMS ESRI provee con una Definicin de Tipo de Documento (DTD) de ArcXML que puede utilizarse para validar etiquetas y estructura de archivos AXL. La validacin de documentos XML se realiza en editores XML. El DTD de ArcXML puede utilizarse en una gran variedad de editores XML pero se recomienda editores que soportan codificacin UTF-8. Dos editores recomendados son XMLSpy y Xeena El DTD tiene que especificarse en el elemento DOCTYPE en la cabecera del documento ArcXML: Los editores XML pueden desplegar el contenido y la estructura de un archivo de configuracin de mapas en forma de una rejilla

XML, ArcXML y estndares

5

XML es un sistema complejo de tratamiento de informacin. Mientras que HTML es un lenguaje, XML representa una familia de lenguajes o metalenguaje capaz de definir otros lenguajes. El cdigo HTML, por ejemplo, est basado en un DTD (Document Type Definition, definicin de tipo de documento) interno. DTD es una definicin de las normas que regulan la formacin de las etiquetas de un lenguaje de marcas determinado, en este caso el HTML. En XML no existen DTDs predefinidos, por lo que es labor del diseador especificar su propio DTD para cada tipo de documento XML. El DTD de ArcIMS es la definicin de los tipos de nodos y atributos permitidos en los elementos de ArcXML.

BGR - PN 1999.2103.2

Pgina 8 de 83

Materiales curso prctico ArcIMS

mayo de 2005

El rol de ArcXML en ArcIMS ArcXML es el protocolo de configuracin de servicios de mapas y de comunicacin con el servidor espacial en ArcIMS ArcXML provee las capacidades funcionales para componer y acceder mapas y datos en un formato apropiado antes de enviarlos a los clientes Es importante entender la relacin entre archivos de configuracin, peticiones y respuestas en ArcXML. Archivos de configuracin de mapas definen el contenido y la simbologa inicial de un servicio de mapas ArcIMS. A partir de peticiones ArcXML, enviados desde el cliente al servidor espacial a travs del servidor de aplicaciones, puede modificarse la apariencia del mapa. Asimismo, pueden realizarse consultas espaciales y a las tablas de atributos. El servidor espacial procesa el mapa y enva los resultados en protocolo ArcXML.XML, ArcXML y estndares 6

La comunicacin entre los diferentes componentes de ArcIMS se realiza a travs del protocolo ArcXML. ArcXML es un derivado de XML, y se diferencian en tanto ArcXML no describe la estructura para la presentacin de una pgina Web de mapas, sino para la estructura del siguiente contenido y funcionalidad: Configuracin de servicios de mapas: Definen el contenido y el diseo de mapas a diseminar, incluyendo las capas de informacin espacial y su simbologa. Consultas: Emplean un filtro a servicios de mapas existentes y especifican la parte del mapa y datos relacionados que van a ser procesados. Respuestas: Mandan la informacin requerida al cliente.

BGR - PN 1999.2103.2

Pgina 9 de 83

Materiales curso prctico ArcIMS

mayo de 2005

Prctica

Validacin de un archivo de configuracin AXL con XMLSpy

XML, ArcXML y estndares

7

BGR - PN 1999.2103.2

Pgina 10 de 83

Materiales curso prctico ArcIMS

mayo de 2005

2

La comunicacin entre cliente y servidor

Las relaciones entre los elementos principales de ArcXML CONFIG - Configuracin REQUEST - Peticin RESPONSE - Respuesta El ciclo de peticin y respuesta El funcionamiento del PostFrame Obtencin de informaciones sobre servicios ArcIMS

BGR - PN 1999.2103.2

Pgina 11 de 83

Materiales curso prctico ArcIMS

mayo de 2005

Las relaciones entre los elementos principales de ArcXML ArcXML contiene tres elementos principales: CONFIG, REQUEST y RESPONSE

La comunicacin entre cliente y servidor

1

Existen 3 tipos de elementos principales en ArcXML: , , . CONFIG se utiliza para la configuracin de archivos de mapas, base para la creacin de servicios de mapas. REQUEST utiliza el cliente para comunicarse con el servidor espacial y obtener informacin en forma de mapas o datos. RESPONSE utiliza el servidor para enviar la informacin solicitada al cliente. La comunicacin entre cliente y servidor espacial se realiza a travs del servidor de aplicaciones y el conector Servlet. Al utilizar una herramienta o funcin en el Cliente, se ejecutan una serie de funciones Javascript para realizar esta comunicacin en forma de un ciclo peticin - respuesta (request-response cycle). El diagrama a continuacin muestra el ciclo complete para las herramientas de cliente Zoom In e Identify.

BGR - PN 1999.2103.2

Pgina 12 de 83

Materiales curso prctico ArcIMS

mayo de 2005

Ciclos de comunicacin1. Esquema de ciclos de comunicacin (Zoom / Identificar)

La comunicacin entre cliente y servidor

2

Al utilizar una herramienta (Zoom e Indentify en este ejemplo) y hacer clic sobre el mapa principal una serie de funciones JavaScript se ejecutan y preparan la informacin a enviar al servidor con la funcin sendToServer y el modo de procesar la respuesta con processXML().

BGR - PN 1999.2103.2

Pgina 13 de 83

Materiales curso prctico ArcIMS

mayo de 2005

Ciclos de comunicacin2. El ciclo peticin respuesta en el visor HTML

La comunicacin entre cliente y servidor

3

La comunicacin entre el cliente (visor) y el servidor se basa en peticiones y respuestas codificadas en ArcXML. En cada ciclo consulta-respuesta, las funciones Javascript actualizan los atributos y elementos de entrada del archivo PostFrame (jsform.htm). El contenido de PostFrame se enva al conector Servlet en forma de formulario HTML. El mismo conector recibe la respuesta del servidor espacial y la convierte en una nueva pgina PostFrame. Este mtodo de envo de un formulario es necesario porque JavaScript y HTML so son capaces de manejar un ciclo de peticin respuesta por su propia cuenta.

BGR - PN 1999.2103.2

Pgina 14 de 83

Materiales curso prctico ArcIMS

mayo de 2005

Ciclos de comunicacin3. La peticin 1) Una funcin JavaScript crea cdigo ArcXML apropiado para la operacin seleccionado por el usuario. Se ejecuta la funcin sendToServer en MapFrame que actualiza el elemento ArcXMLRequest del formulario de la pgina PostFrame. El formulario de PostFrame se enva al servidor Web y el conector Servlet extrae las valores de los parmetros del formulario. El conector Servlet reenva la peticin al servidor de Aplicaciones el cual la manda al servidor espacial para ser procesado.

2)

3)

4)

La comunicacin entre cliente y servidor

4

Una funcin Javascript crea la peticin ArcXML y ejecuta la funcin sendToServer en MapFrame (mapframe.htm) para actualizar los elementos de PostFrame. El formulario PostFrame es enviado al servidor Web y el conector Servlet extrae la informacin del formulario. El conector enva la informacin al servidor de Aplicaciones y ste la manda al servidor espacial.

BGR - PN 1999.2103.2

Pgina 15 de 83

Materiales curso prctico ArcIMS

mayo de 2005

Ciclos de comunicacin4. La respuesta 1) El servidor especial enva la respuesta con la informacin solicitada al conector Servlet a travs del servidor de Aplicaciones. El conectador crea una nueva versin del PostFrame con la informacin obtenida del servidor espacial y reemplaza la versin anterior. La funcin passXML pasa la informacin contenida en PostFrame a la funcin processXML de la pgina MapFrame. La funcin processXML finalmente ejecuta la funcin Javascript adecuada para procesar la informacin obtenida.

2)

3)

4)

La comunicacin entre cliente y servidor

5

BGR - PN 1999.2103.2

Pgina 16 de 83

Materiales curso prctico ArcIMS

mayo de 2005

Ciclos de comunicacin5. La pgina PostFrame Default Form function passXML() { var theResponse = // Conector reemplaza este valor; parent.MapFrame.processXML(theResponse); }

La comunicacin entre cliente y servidor

7

BGR - PN 1999.2103.2

Pgina 18 de 83

Materiales curso prctico ArcIMS

mayo de 2005

Ciclos de comunicacin6. Manejo del ciclo de comunicacin en el cliente El ciclo peticin - respuesta est manejado por las funciones sendToServer() y processXML() en aimsXML.js. Ambas funciones cambian y comprueban el valor de la variable okToSend despus de cada peticin y respuesta. La manera correcta de programar funciones propias es utilizando customMapTool() y useCustomFunction() en el archivo aimsCustom.js: (A) function customMapTool(e) { if (toolMode == 1001) { if (checkIfActiveLayerAvailable()) { select(e); } } } if (toolMode == 1002) { (B) function useCustomFunction(theReply) { if (XMLMode==1001) { var tempVar = toolMode; toolMode = 25; displayAttributeData(theReply); toolMode = tempVar; zoomToReturnedRecords(); } else if (XMLMode==1002) { La comunicacin entre cliente y servidor 8

(A) La funcin encargada de mandar los comandos personalizados al servidor espacial (a travs de servidor de aplicaciones) utilizando la funcin Javascript sendToServer. (B) La funcin personalizada para recibir y procesar la respuesta del servidor espacial.

BGR - PN 1999.2103.2

Pgina 19 de 83

Materiales curso prctico ArcIMS

mayo de 2005

Prctica1.

Revisin de los archivos HTML y JavaScript relacionados con el ciclo de comunicacin

Revisar la funciones sendToServer(), sendMapXML() y processXML() en aimsXML.js Revisar los parmetros y las funciones de accin del formulario del PostFrame en la pgina jsForm.htm. Buscar la variable okToSend en aimsXML.js y otros archivos JavaScript Revisar las funciones customMapTool() y useCustomFunction() en aimsCustom.js, aimsClick.js y aimsXML.js. Buscar y revisar los archivos JavaScript que ajusten las variables toolMode y XMLMode.

2.

3. 4.

5.

*Nota: el documento PDF Customizing the HTML Viewer contiene una referencia de las funciones JavaScriptLa comunicacin entre cliente y servidor 9

BGR - PN 1999.2103.2

Pgina 20 de 83

Materiales curso prctico ArcIMS

mayo de 2005

3

Modificacin avanzada de archivos de configuracin

Tablas de atributos y bases de datos externos Consultas almacenadas Extraccin de datos Utilizacin de proyecciones: El motor de proyecciones en ArcIMS Seleccionar una proyeccin Proyecciones en los archivos de configuracin

BGR - PN 1999.2103.2

Pgina 21 de 83

Materiales curso prctico ArcIMS

mayo de 2005

Modificacin avanzada de archivos de configuracinLa gua de referencia de ArcXML Referencia completa del sintaxis y elementos ArcXML Formatos HTML y PDF

Modificacin avanzada de archivos de configuracin

1

BGR - PN 1999.2103.2

Pgina 22 de 83

Materiales curso prctico ArcIMS

mayo de 2005

Integracin de tablas externas en servicios de mapas La unin de tablas se realiza a travs de los atributos jointables y joinexpression del elemento Modificacin avanzada de archivos de configuracin

2

El elemento realiza consultas a los datos que componen un servicio de mapas de las siguientes maneras: Consulta o filtra los datos en base a sus atributos alfanumricos Crea una consulta o filtro espacial en base a los elementos geogrficos Crea una combinacin de consulta de atributos y espacial

Adems, realiza la unin de las tablas de atributos con archivos DBF externos y la relacin con tablas ArcSDE. El archivo DBF debe encontrarse en la misma carpeta del archivo SHP. No debe utilizarse un archivo DBF de un archivo SHP utilizado en un servicio de mapas. Los atributos claves para la unin de tablas son joinexpression y jointables.

BGR - PN 1999.2103.2

Pgina 23 de 83

Materiales curso prctico ArcIMS

mayo de 2005

Consultas almacenadas Consultas SQL pueden ser predefinidas y almacenadas para su uso en los visores de ArcIMS. Consultas almacenadas facilitan el trabajo a usuarios poco experimentados con el sintaxis de SQL. Elementos claves para crear consultas almacenadas son , y Modificacin avanzada de archivos de configuracin

3

El elemento define los parmetros de consultas almacenadas y extracciones de capas. Para definir una consulta almacenada se utiliza el elemento STOREDQUERIES. Una consulta almacenada crea una consulta predefinida a ser utilizad en visores ArcIMS. El elemento sigue las mismas reglas en la construccin de clusulas SQL como . Es recomendable comprobar la consulta con valores reales y posteriormente reemplazar el valor con la variable [%var%].

BGR - PN 1999.2103.2

Pgina 24 de 83

Materiales curso prctico ArcIMS

mayo de 2005

Extraccin / descarga de datos La extraccin (descarga) de datos en formato Shape requiere de la extensin EXTRACT en el archivo de configuracin. La extensin EXTRACT debe incluir el elemento . Los elementos y definen nombres para el archivo shape y los campos de la tabla de atributos (alias). Si se define FEATURECOORDSYS, el servidor espacial calcula automticamente las unidades correctas. El atributo MAPUNITS est ignorado. Al especificar FEATURECOORDSYS y COORDSYS, objetos generados en capas acetato deben utilizar el atributo units="database".

BGR - PN 1999.2103.2

Pgina 27 de 83

Materiales curso prctico ArcIMS

mayo de 2005

Prctica 1

Unin de una tabla DBF externa y creacin de etiquetas o un clasificacin basada en un campo de la tabla unida

* *Notas: - El ejemplo completo se encuentra en practica3-2.axl - Un visor ejemplar con funcin de descarga se encuentra en ..\Visores\ExtractModificacin avanzada de archivos de configuracin 8

BGR - PN 1999.2103.2

Pgina 28 de 83

Materiales curso prctico ArcIMS

mayo de 2005

Prctica 3

Integracin de imgenes Landsat en proyeccin UTMWGS84 o Lambert en el archivo de configuracin

* *Nota: El ejemplo complete se encuentra en sismos_geor.axlModificacin avanzada de archivos de configuracin 9

BGR - PN 1999.2103.2

Pgina 29 de 83

Materiales curso prctico ArcIMS

mayo de 2005

4

Administracin avanzada de sitios ArcIMS

Comandos externos Informacin sobre servicios de mapas y catlogos Configuracin y manejo de seguridad

BGR - PN 1999.2103.2

Pgina 30 de 83

Materiales curso prctico ArcIMS

mayo de 2005

Manejo de ArcIMS con comandos externos Manejo de servicios de mapas, servidores espaciales y servidores virtuales. Se requiere de un archivo ArcXML utilizando el elemento Se utiliza el siguiente comando: >>java com.esri.aims.admincore.cmd.Exec http://servidor uid pwd file filename Ejemplo de un archivo AXL para adicionar e iniciar un servicio de mapas: