Más

Obtener el valor codificado del dominio de la capa del mapa con arcgis javascript api

Obtener el valor codificado del dominio de la capa del mapa con arcgis javascript api


Estoy tratando de leer valores de dominio en un mapa, ¿cómo lograr este objetivo en arcgis javascript api? ¿alguna ayuda?


Puede obtener esto delFeatureLayerclase. Hay un atributo llamadolos campos, que es una matriz de Campo objetos. El Campo la clase tienedominioatributo.

Lo siguiente generará los dominios en la consola (si corresponde):

var map = new Map (…); var fl = new FeatureLayer (…); map.addLayer (fl); // cuando la capa esté lista fl.on ("load", () => {for (var i = 0; i 

¡Buena suerte!


en v3.12, intente usar getDomain, fl.getDomain ("fieldName") https://developers.arcgis.com/javascript/jsapi/featurelayer-amd.html#getdomain


¿Cómo obtener ObjectID de ArcGIS FeatureLayer en la función de clic?

Estoy intentando trabajar con la API de JavaScript de ArcGIS. Estoy usando este ejemplo de FeatureLayer e intento crear una ventana emergente, que mostrará diferentes datos basados ​​en el ID de objeto en el que hago clic. Básicamente lo que ves en ese ejemplo.

El problema es que en realidad no puedo acceder al ObjectID fuera de la plantilla de variable. Dentro de esta plantilla de variable, simplemente establezca un título como título: "El ID de este objeto es ". Eso funciona bien. Pero tengo mis datos almacenados en mi base de datos MySQL, así que quiero obtener el ObjectID almacenado en la variable cuando hago clic en él y luego posiblemente enviarlo a través de ajax a alguna ruta. Luego, en el controlador, busque el objeto coincidente, obtenga su datos de la base de datos y enviarlos a la plantilla emergente y mostrarlos.

Esa es mi idea de cómo podría funcionar, pero primero necesito obtener el ObjectID, al que no sé cómo acceder. Si tiene alguna idea de cómo podría resolverse o conoce una manera mejor de cómo poner datos adicionales de la base de datos en la PopupTemplate, hágamelo saber, por favor. Gracias.


TileLayer

TileLayer le permite trabajar con un servicio de mapas en caché expuesto por la API REST de ArcGIS Server y agregarlo a un mapa como una capa de teselas. Un servicio almacenado en caché accede a mosaicos desde un caché en lugar de representar imágenes dinámicamente. Debido a que se almacenan en caché, las capas en mosaico se procesan más rápido que MapImageLayers. Para crear una instancia de TileLayer, debe hacer referencia a la URL del servicio de mapas en caché.

Si la imagen se solicita desde un dominio diferente, se requiere un servidor habilitado para CORS o un proxy. Si CORS está habilitado en el servidor, agregue el dominio de servicio a esriConfig.request.corsEnabledServers. Alternativamente, si CORS no se puede habilitar en ArcGIS Server, puede configurar un proxy en su servidor web y luego agregarlo a la lista de reglas de proxy en esriConfig usando addProxyRule ().

Una instancia de esta clase también es una Promesa. Esto le permite ejecutar código una vez que se resuelve la promesa o cuando la capa termina de cargar sus recursos. Consulte luego () para obtener detalles adicionales.

Para mostrar un servicio de mapas no almacenado en caché como una capa dinámica, consulte MapImageLayer.

Limitaciones conocidas

Al agregar un TileLayer a un mapa en un SceneView, existen las siguientes limitaciones:

  • Esta capa debe publicarse desde ArcGIS Server 10.3 y posterior o ArcGIS Server 10.2.2 con esta corrección aplicada.
  • Si el modo de visualización es global, solo se admiten los servicios con ArcGIS Online / Bing Maps / Google Maps (Web Mercator) o el esquema de ordenamiento en teselas de la versión 2 del sistema de coordenadas geográficas WGS84.
  • Si viewMode es local, solo se admiten los servicios con sistemas de coordenadas proyectadas.

Solo se admiten las capas de mosaico con las siguientes especificaciones de esquema de mosaico:

  • Mosaicos de 256x256 o 512x512 píxeles
  • Los niveles de escala deben aumentar o disminuir en una potencia de dos
  • En el nivel 0 no debería haber más de 30 mosaicos raíz.
  • Todas las capas en mosaico deben tener el mismo esquema de ordenamiento en mosaico y SpatialReference.

Esri requiere que cuando use un mapa base de ArcGIS Online en su aplicación, el mapa debe incluir la atribución de Esri y usted debe tener una licencia para usar el contenido. Para obtener pautas detalladas sobre cómo trabajar con la atribución, visite la atribución oficial en la documentación de su aplicación. Para obtener información sobre los términos de uso, consulte las Preguntas frecuentes sobre los términos de uso.


Los modos de fusión se utilizan para fusionar capas y crear un efecto interesante en una capa, o incluso para producir lo que parece una nueva capa.

Efecto proporciona varias funciones de filtro que se pueden realizar en la capa para lograr diferentes efectos visuales similares a cómo funcionan los filtros de imagen.

El ID único asignado a la capa.

Indica si la capa se incluirá en la leyenda.

Símbolo utilizado para representar entidades de línea del feed de GeoRSS.

Indica cómo debe mostrarse la capa en el widget LayerList.

Indica si se han cargado los recursos de la capa.

El objeto Error se devuelve si se produce un error durante la carga.

Representa el estado de una operación de carga.

Una lista de advertencias que se produjeron durante la carga.

La escala máxima (más ampliada) a la que la capa es visible en la vista.

La escala mínima (más alejada) en la que la capa es visible en la vista.

Símbolo utilizado para representar entidades puntuales del feed de GeoRSS.

Símbolo utilizado para representar entidades poligonales del feed de GeoRSS.

El título de la capa utilizada para identificarla en lugares como los widgets Legend y LayerList.

La URL que apunta a un archivo GeoRSS.

Indica si la capa está visible en la Vista.

Detalles de la propiedad

Los modos de fusión se utilizan para fusionar capas y crear un efecto interesante en una capa, o incluso para producir lo que parece una nueva capa. A diferencia del método de usar transparencia que puede resultar en una capa superior descolorida, los modos de fusión pueden crear una variedad de resultados muy vibrantes e intrigantes al mezclar una capa con la (s) capa (s) debajo de ella.

Al fusionar capas, una capa superior es una capa que tiene un modo de fusión aplicado. Todas las capas debajo de la capa superior son capas de fondo. El modo de fusión predeterminado es normal donde la capa superior simplemente se muestra sobre la capa de fondo. Si bien este comportamiento predeterminado es perfectamente aceptable, el uso de modos de fusión en capas abre un mundo de infinitas posibilidades para generar mapas creativos.

Las capas de un GroupLayer se combinan de forma aislada del resto del mapa.

En las siguientes capturas de pantalla, la capa de relieve sombreada vintage se muestra sobre una capa de imágenes del mundo de luciérnagas. El modo de mezcla de colores se aplica al relieve sombreado vintage y el resultado parece una nueva capa.

Limitaciones conocidas

Los siguientes factores afectarán el resultado de la mezcla:

  • Orden de todas las capas
  • Opacidad de la capa
  • Opacidad de entidades en capas
  • Visibilidad de capas
  • De forma predeterminada, la capa inferior de un mapa se dibuja sobre un fondo transparente. Puede cambiar el color de fondo de MapView.

Aligerar los modos de fusión:

Los siguientes modos de fusión crean resultados más claros que todas las capas. En los modos de fusión más claros, los colores negros puros de la capa superior se vuelven transparentes, lo que permite que se vea la capa de fondo. El blanco de la capa superior no cambiará. Cualquier color que sea más claro que el negro puro aclarará los colores de la capa superior en diversos grados hasta llegar al blanco puro.

Los modos de mezcla de aclarar pueden resultar útiles para aclarar colores oscuros de la capa superior o eliminar colores negros del resultado. Los modos más, aclarar y pantalla se pueden utilizar para iluminar capas que tienen colores descoloridos u oscuros sobre un fondo oscuro.

Modo de mezcla Descripción
aligerar Compara las capas superior y de fondo y conserva el color más claro. Los colores de la capa superior se vuelven transparentes si son más oscuros que los colores superpuestos en la capa de fondo, lo que permite que la capa de fondo se vea completamente. Se puede pensar en lo opuesto al modo de fusión de oscurecimiento.
encendedor Los colores de las capas superior y de fondo se multiplican por sus valores alfa (opacidad de la capa y opacidad de los datos de la capa. Luego, los colores resultantes se suman. Todos los colores de rango medio superpuestos se aclaran en la capa superior. La opacidad de la capa y los datos de la capa afectarán el resultado de la mezcla). .
más Los colores de las capas superior y de fondo se suman. Todos los colores de rango medio superpuestos se aclaran en la capa superior. Este modo también se conoce como sumar o esquivar lineal.
pantalla Multiplica los colores invertidos en las capas superior y de fondo y luego vuelve a invertir los colores. Los colores resultantes serán más claros que el color original con menos contraste. La pantalla puede producir muchos niveles diferentes de brillo según los valores de luminosidad de la capa superior. Se puede pensar en lo opuesto al modo de multiplicación.
esquivar el color Divide los colores de la capa de fondo por la capa superior invertida. Esto aclara la capa de fondo dependiendo del valor de la capa superior. Cuanto más brillante sea la capa superior, más afectará su color a la capa de fondo. Disminuye el contraste entre las capas superior y de fondo, lo que resulta en tonos medios saturados y reflejos brillantes.

Modos de fusión más oscuros:

Los siguientes modos de fusión crean resultados más oscuros que todas las capas. En los modos de fusión oscuros, el blanco puro de la capa superior se volverá transparente, lo que permitirá que se vea la capa de fondo. El negro en la capa superior no cambiará. Cualquier color que sea más oscuro que el blanco puro oscurecerá una capa superior en diversos grados hasta llegar al negro puro.

El modo de mezcla múltiple se usa a menudo para resaltar sombras, mostrar contraste o acentuar un aspecto de un mapa. Por ejemplo, puede usar el modo de mezcla múltiple en un mapa topográfico que se muestra sobre el sombreado cuando desea que su elevación se muestre a través de la capa topográfica. Vea la introducción a la muestra de fusión de capas.

Los modos de multiplicar y oscurecer se pueden usar para tener etiquetas oscuras del mapa base para mostrar a través de las capas superiores. Vea la muestra de mezcla oscura.

El modo de quemado de color funciona bien con capas superiores y de fondo de colores, ya que aumenta la saturación en los tonos medios. Aumenta el contraste al teñir los píxeles en áreas superpuestas en las capas superior e inferior más hacia el color de la capa superior. Utilice este modo de fusión cuando desee un efecto con más contraste que multiplicar u oscurecer.

Las siguientes capturas de pantalla muestran cómo se utilizó el modo de combinación múltiple para crear un mapa físico del mundo que muestra tanto los límites como la elevación.

Modo de mezcla Descripción
oscurecer Enfatiza las partes más oscuras de las capas superpuestas. Los colores de la capa superior se vuelven transparentes si son más claros que los colores superpuestos en la capa de fondo, lo que permite que la capa de fondo se vea completamente.
multiplicar Enfatiza las partes más oscuras de las capas superpuestas multiplicando los colores de la capa superior y la capa de fondo. Los colores de rango medio de las capas superior y de fondo se mezclan de manera más uniforme.
color quemado Intensifica las zonas oscuras en todas las capas. Aumenta el contraste entre las capas superior y de fondo, al teñir los colores en el área superpuesta hacia el color superior. Para hacer esto, invierte los colores de la capa de fondo, divide el resultado por los colores de la capa superior y luego invierte los resultados.

Modos de mezcla de contraste:

Los siguientes modos de fusión crean contraste al aclarar las áreas más claras y oscurecer las áreas más oscuras de la capa superior mediante el uso de modos de fusión de aclarado u oscurecimiento para crear la fusión. Los modos de mezcla de contraste aclararán los colores más claros que un 50% de gris ([128,128,128]) y oscurecerán los colores más oscuros que un 50% de grises. El 50% de gris será transparente en la capa superior. Cada modo puede crear una variedad de resultados dependiendo de los colores de las capas superior y de fondo que se combinan. El modo de fusión de superposición realiza sus cálculos en función del brillo de los colores en la capa de fondo, mientras que todos los demás modos de fusión de contraste realizan sus cálculos en función del brillo de la capa superior. Algunos de estos modos están diseñados para simular el efecto de hacer brillar una luz a través de la capa superior, proyectando efectivamente sobre las capas debajo de ella.

Los modos de mezcla de contraste se pueden usar para aumentar el contraste y la saturación para tener colores más vibrantes y dar un toque a sus capas. Por ejemplo, puede duplicar una capa y establecer el modo de fusión de superposición en la capa superior para aumentar el contraste y los tonos de su capa. También puede agregar una capa de polígono con un símbolo de relleno blanco sobre una capa de imágenes oscuras y aplicar el modo de fusión de luz suave para aumentar el brillo en la capa de imágenes.

Las siguientes capturas de pantalla muestran un efecto del modo de fusión de superposición en GraphicsLayer. La imagen de la izquierda muestra cuando la capa de gráficos de búfer tiene el modo de fusión normal. Como puede ver, el color gris del polígono de zona de influencia bloquea las secciones censales que se cruzan. La imagen de la derecha muestra cuando se aplica el modo de fusión de superposición a la capa de gráficos de búfer. El modo de fusión de superposición oscurece o aclara el polígono de zona de influencia gris en función de los colores de la capa de fondo, mientras que la capa de distritos censales está brillando. Vea esto en acción.

Modo de mezcla normal Modo de fusión de superposición
Modo de mezcla Descripción
cubrir Utiliza una combinación de modos de pantalla y multiplicar para oscurecer y aclarar los colores en la capa superior con la capa de fondo siempre brillando. El resultado es que los valores de color más oscuros en la capa de fondo intensifican la capa superior, mientras que los colores más claros en la capa de fondo eliminan las áreas superpuestas en la capa superior.
luz tenue Aplica un modo de pantalla de intensidad media a las áreas más claras y un modo de multiplicación de intensidad media para oscurecer las áreas de la capa superior. Puede pensar en la luz suave como una versión más suave del modo de superposición.
luz dura Multiplica o trama los colores, dependiendo de los colores de la capa superior. El efecto es similar a hacer brillar un foco fuerte en la capa superior.
viva luz Utiliza una combinación de color-burn o color-dodge aumentando o disminuyendo el contraste, dependiendo de los colores de la capa superior.

Modos de mezcla de componentes:

Los siguientes modos de fusión utilizan componentes de colores primarios, que son tono, saturación y luminosidad para fusionar las capas superior y de fondo. Puede agregar una capa de características con un renderizador simple sobre cualquier capa y establecer el modo de fusión de tono, saturación, color o luminosidad en esta capa. Con esta técnica, crea un mapa de aspecto completamente nuevo.

Las siguientes capturas de pantalla muestran dónde se combina la capa topo con la capa de sombreado mundial con el modo de combinación de luminosidad. El resultado es un mapa de aspecto drásticamente diferente que conserva el brillo de la capa topo mientras adapta el tono y la saturación de la capa de sombreado.


Modo de mezcla Descripción
matiz Crea un efecto con el tono de la capa superior y la luminosidad y saturación de la capa de fondo.
saturación Crea un efecto con la saturación de la capa superior y el tono y luminosidad de la capa de fondo. 50% de gris sin saturación en la capa de fondo no producirá ningún cambio.
luminosidad Crea efecto con la luminosidad de la capa superior y el tono y saturación de la capa de fondo. Se puede considerar lo opuesto al modo de combinación de colores.
color Crea un efecto con el tono y la saturación de la capa superior y la luminosidad de la capa de fondo. Se puede considerar lo opuesto al modo de fusión de luminosidad.

Modos de mezcla compuestos:

Los siguientes modos de fusión se pueden utilizar para enmascarar el contenido de la parte superior, el fondo o ambas capas.

  • Los modos de destino se utilizan para enmascarar los datos de la capa superior con los datos de la capa de fondo.
  • Los modos de origen se utilizan para enmascarar los datos de la capa de fondo con los datos de la capa superior.

El modo de mezcla de destino se puede utilizar para mostrar áreas de enfoque como terremotos, migración de animales o contaminación de fuentes puntuales al revelar el mapa subyacente, lo que proporciona una vista de pájaro del fenómeno. Vea múltiples muestras de fusión y fusión groupLayer para ver los modos de fusión compuestos en acción.

Las siguientes capturas de pantalla muestran capas de características e imágenes en el lado izquierdo por sí solas en el orden en que se dibujan en la vista. La capa de imágenes que contiene rásteres de clasificación de cobertura terrestre. La capa de entidades contiene datos de cultivos del condado de 2007. La imagen de la derecha muestra el resultado de la combinación de capas donde se establece el blendMode de destino en la capa de imágenes. Como puede ver, el efecto es muy diferente al de las capas originales. El resultado combinado muestra solo áreas de cultivos cultivados (donde tanto las imágenes como las capas de entidades se superponen).


Modo de mezcla Descripción
destino-sobre La capa de destino / fondo cubre la capa superior. La capa superior se dibuja debajo de la capa de destino. Verá que la capa superior se asoma por donde la capa de fondo es transparente o no tiene datos.
destino en la cima La capa de destino / fondo se dibuja solo donde se superpone a la capa superior. La capa superior se dibuja debajo de la capa de fondo. Verá que la capa superior se asoma por donde la capa de fondo es transparente o no tiene datos.
destino en La capa de destino / fondo se dibuja solo donde se superpone con la capa superior. Todo lo demás se vuelve transparente.
destino fuera La capa de destino / fondo se dibuja donde no se superpone a la capa superior. Todo lo demás se vuelve transparente.
fuente en la cima La capa de origen / superior se dibuja solo donde se superpone a la capa de fondo. Verá que la capa de fondo se asoma por donde la capa de origen es transparente o no tiene datos.
fuente de entrada La capa de origen / superior se dibuja solo donde se superpone con la capa de fondo. Todo lo demás se vuelve transparente.
fuente de salida La capa de origen / superior se dibuja donde no se superpone a la capa de fondo. Todo lo demás se vuelve transparente.
xor Las capas superior y de fondo se vuelven transparentes donde se superponen. Ambas capas se dibujan normales en todas partes.

Invertir modos de fusión:

Los siguientes modos de fusión invierten o cancelan los colores según los colores de la capa de fondo. Estos modos de fusión buscan variaciones entre las capas superior y de fondo. Por ejemplo, puede utilizar modos de mezcla de diferencia o exclusión en dos capas de imágenes de cubiertas forestales para visualizar cómo cambiaron las cubiertas forestales de un año a otro.

El modo de fusión invertida se puede utilizar para convertir cualquier mapa base claro en un mapa base oscuro para adaptarse a quienes trabajan en condiciones de poca luz. Las siguientes capturas de pantalla muestran cómo configurar el modo de fusión invertido establecido en una capa de entidades con un renderizador simple convierte el mapa base del terreno mundial en un mapa base temático oscuro en poco tiempo.


Modo de mezcla Descripción
diferencia Resta el más oscuro de los colores superpuestos del color más claro. Cuando se restan dos píxeles con el mismo valor, el resultado es negro. Mezclar con negro no produce cambios. Mezclar con blanco invierte los colores. Este modo de fusión es útil para alinear capas con contenido similar.
exclusión Similar al modo de fusión de diferencias, excepto que la imagen resultante es más clara en general. Las áreas superpuestas con valores de color más claros se aclaran, mientras que los valores de color superpuestos más oscuros se vuelven transparentes.
menos Resta los colores de la capa superior de los colores de la capa de fondo, haciendo que el resultado de la mezcla sea más oscuro. En el caso de valores negativos, se muestra el negro.
invertir Invierte los colores de fondo donde se superponen las capas superior y de fondo. El modo de mezcla invertida invierte la capa de forma similar a un negativo fotográfico.
reflejar Este modo de fusión crea efectos como si agregara objetos brillantes o áreas de luz en la capa. Los píxeles negros de la capa de fondo se ignoran como si fueran transparentes.

Valores posibles: "promedio" | "quema de color" | "esquivar color" | "color" | "oscurecer" | "destino en la cima" | "destino de entrada" | "destino de salida" | "destino sobre" | "diferencia" | "exclusión" | "luz dura" | "tono" | "invertir" | "aligerar" | "más ligero" | "luminosidad" | "menos" | "multiplicar" | "normal" | "superposición" | "más" | "reflexionar" | "saturación" | "pantalla" | "luz suave" | "fuente en la cima" | "fuente de entrada" | "fuente de salida" | "luz viva" | "xor"


La capa en caché no se mostrará.

He creado dos cachés de servicio de mapas en mosaico en la misma máquina bajo el mismo directorio virtual principal.

En última instancia, quiero agregarlos a ambos al mismo mapa usando la API de JavaScript (código a continuación), sin embargo, uno funciona y el otro no.

Obtengo una imagen para la que no funciona cuando uso el mapa de exportación de la interfaz de descanso predeterminado, así que supongo que el servicio está funcionando y la caché no está dañada.

Si inspecciono mis solicitudes / respuestas en mi navegador, el que sí funciona envía una solicitud que se parece a esto:

Y luego un montón de solicitudes que se ven así para los mosaicos individuales:

Sin embargo, cuando inspecciono las solicitudes enviadas al servicio que no funciona, solo veo esa primera solicitud y, aunque recibe un código de respuesta 200 (en realidad, recibe una respuesta 304 si envío la solicitud en la misma extensión nuevamente , pero ambos servicios muestran este comportamiento), no se envían solicitudes futuras para los mosaicos individuales.

No se informan errores de javascript en la consola.

He reconstruido el caché muchas veces, borré el resto del caché del servidor, reinicié iis, etc.


Definitivamente deberías revisar GeoNames. Tienen el mundo entero en una base de datos estandarizada. Puedes descargarlo o usar su API.

Descargo la base de datos de EE. UU. Y uso un conector que creé en C # para insertar estados, ciudades, pueblos y códigos postales en mi base de datos.

También hay Open Street Maps que puede descargar o usar su API.

No sugiero que la nueva API de Yahoo esté cortando productos de izquierda a derecha y nunca se sabe cuánto tiempo estará disponible. Además, actualmente no puede descargar un volcado completo.

Actualización del 29 de enero de 2013: Creé un conjunto de datos CSV de todas las ciudades y lugares poblados del mundo, junto con un centroide de área de latitud / longitud, y lo coloqué en el dominio público. Combiné datos del servidor USGS GNIS para los EE. UU. Y el servidor NGA GNS para todos los demás países. A continuación, se muestran los metadatos para el diseño del archivo CSV y el enlace al conjunto de datos:

Columna 1: Código de país ISO 3166-1 alfa-2.
Columna 2: Código de división administrativa de primer nivel FIPS 5-2 de EE. UU. (Por ejemplo, estado / provincia).
Columna 3: Código de descripción de funciones (DSG) de NGA GNS.
Columna 4: Identificador de característica única (UFI) de NGA GNS.
Columna 5: Código ISO 639-1 alpha-2/3 para el idioma correspondiente al nombre de la función.
Columna 6: Escritura del idioma (p. Ej., Latín, árabe, chino, etc.) correspondiente al nombre de la función.
Columna 7: Nombre de la función.
Columna 8: Coordenada de latitud del centroide del área.
Columna 9: Coordenada de longitud del centroide del área.

Miré la solución de Jonperl. Le vendrían bien algunos comentarios. Primero, creo que geonames.org obtiene los datos de la ciudad de EE. UU. Del servidor USGS GNIS. Uno puede obtener directamente un archivo de descarga de ellos.

Algunos puntos que alguien debería saber: ADM1 significa división administrativa de primer nivel. Para los EE. UU., Estos son los 50 estados, el Distrito de Columbia, los 5 territorios de EE. UU. Y los 4 estados asociados libremente.


Uso de Geocortex Workflow 5 para mostrar automáticamente un formulario para editar atributos de capa [Consejo técnico de Geocortex]

Con Geocortex Workflow 5, crear flujos de trabajo nunca ha sido tan fácil. Con una biblioteca de 170 actividades predefinidas que se encadenan a la perfección, puede convertir incluso los procesos comerciales más sofisticados en una experiencia simple y guiada para el usuario final.

Una de las cosas de las que estamos realmente orgullosos cuando se trata de Workflow 5 es su capacidad para automatizar prácticamente cualquier tarea, por lo que pensamos que sería apropiado mostrarle en el Consejo técnico de geocortex de esta semana cómo usar nuestra tecnología de flujo de trabajo para mostrar un formulario para editar atributos de capa.

Transcripción del video

"Hola, mi nombre es Jeff. Soy un desarrollador de software en Geocortex Workflow 5, y hoy le mostraré cómo mostrar un formulario usando Workflow para que pueda editar características en su capa.

Por lo tanto, hoy voy a mostrarles esto en el nuevo Visor móvil de Geocortex, lo que significa que los objetos Esri con los que estamos interactuando en este flujo de trabajo serán del tiempo de ejecución de ArcGIS .NET, por lo que es posible que note algunos diferencias forman la API de JavaScript. Entonces, para mostrar nuestro formulario, usaremos una actividad de formulario de visualización, y seguí adelante y preconfiguré algunas actividades para este flujo de trabajo solo para ahorrar tiempo.

En nuestra actividad de formulario de visualización, no vamos a configurar ningún elemento de formulario y eso se debe a que queremos mostrar el formulario de forma dinámica según la capa que tengamos. Para configurar los elementos dinámicos del formulario, usaremos el controlador de eventos "cargar" en el encabezado del formulario. Si miramos aquí, lo primero que debemos hacer es obtener la capa usando la actividad "Obtener capa" y voy a usar un mapa web que tiene una capa con el ID "Service_Request_8759". Eso va a obtener nuestra capa y lo siguiente que queremos hacer es agregar un elemento de formulario para cada campo en la capa. Entonces, vamos a iterar sobre los campos de la capa. Puede ver que vamos a layer.featureTable.fields y esta tabla de características es un .NETism.

Lo primero que vamos a hacer en nuestro ciclo "For Each" es simplemente asignar el campo a una variable, de modo que no tengamos que acceder a cada elemento actual del ciclo For Each cada vez, por lo que esta es una actividad de Crear valor. Luego, lo siguiente que queremos hacer es verificar si el campo es editable, por lo que vamos a verificar la propiedad "isEditable". Si no se puede editar, no haremos nada porque no queremos mostrar nada.

Entonces, vamos a crear un objeto para nuestro elemento de formulario y vamos a asignar algunas propiedades, vamos a establecer la descripción al alias del campo y voy a establecer los elementos a un objeto vacío. , al que volveré en unos minutos. A continuación, queremos decidir qué tipo de control de IU de vista crear para cada campo.

El primer caso que vamos a manejar son los campos que tienen dominios de valor codificado, por lo que en esta actividad si estamos verificando si el campo tiene un objeto de dominio y si ese objeto de dominio tiene valores codificados. Si es así, querremos mostrar un cuadro desplegable con los dominios de valor codificado en él. Así que íbamos a iterar sobre los dominios de valor codificado para que pueda ver "domain.codedValues" en nuestro ciclo For Each aquí. Y lo primero que vamos a hacer aquí es simplemente asignar el valor codificado a la variable, por lo que no tenemos que acceder al ciclo For Each cada vez y vamos a crear un objeto para el elemento del formulario.

La "etiqueta" será el nombre del valor codificado y el "valor" será el valor del valor codificado. Y luego vamos a establecer este elemento en nuestro objeto de elemento de formulario. Como puede ver, me dirijo a la propiedad de elementos del objeto de elemento de formulario. Y tenemos que asignarle una ID única, por lo que solo usaremos el pase de la actividad For Each y vamos a llamar a toString porque tiene que ser una ID de cadena, y vamos a pasar en el objeto que acabamos de crear. A continuación, agregaremos el elemento de formulario de la lista desplegable a nuestro formulario y lo haremos mediante la actividad "Agregar elemento de formulario". Tenemos que proporcionar una ID única, por lo que vamos a usar el nombre del campo y tenemos que especificar el tipo de elemento de formulario que queremos usar (debería obtener algo de intellisense aquí), queremos usar un lista desplegable y vamos a poner en nuestro objeto de elemento de formulario que acabamos de crear.

A continuación, le mostraré cómo hacer un campo numérico. Entonces, para esto tenemos que mirar la propiedad fieldType del campo y en .NET, esta es una numeración que está respaldada por enteros, por lo que solo tenemos que compararla con su valor entero, por lo que el valor de un entero es uno. . Entonces, queremos crear un objeto de formato para nuestro número para asegurarnos de que aparezca como un número entero & # 8211, así que para hacer esto, establecemos la precisión en '0', lo que significa que no se muestran lugares decimales y queremos establecer el paso en ' 1 '.

A continuación, queremos establecer nuestro objeto de formato que acabamos de crear en el objeto de elemento de formulario, por lo que estamos configurando la propiedad de formato en nuestro objeto de elemento de formulario en el objeto de formato que acabamos de crear. Una vez más, usaremos la actividad Agregar elemento de formulario para agregar esto a nuestro formulario. Esta vez elegiremos el número y usaremos el nombre del campo como ID. A continuación, les mostraré un campo de cadena. Entonces, el valor entero del tipo de campo para una cadena es "7", por lo que solo estamos buscando un "7", por lo que en ese caso queremos agregar un elemento de formulario TextArea a nuestro formulario. Entonces, es el caso más simple usar el nombre del campo nuevamente.

Muy bien, ahora voy a hacer una demostración de esto en el visor móvil de Geocortex.

Echemos un vistazo rápido al Json en la capa de características que estoy usando aquí. Estos son los campos en la capa de características, y puede ver que tengo un campo de cadena llamado "REQUESTSTATUS" que usa algunos dominios de valor codificado, hay tres dominios allí. Tengo un campo de cadena normal llamado "DESCRIPCIÓN" y un campo de número entero llamado "SEVERIDAD". Entonces, este el flujo de trabajo que hicimos para mostrar los elementos del formulario cubrirá estos tres campos.

Vamos a abrir Geocortex Mobile Viewer y te mostraré el flujo de trabajo. Por lo tanto, esta es solo una versión extremadamente básica del visor para dispositivos móviles que configuré únicamente con el propósito de mostrarles este flujo de trabajo. Entonces, tengo el flujo de trabajo en la barra de tareas y si hago clic en él, verá que obtendré un elemento de formulario para cada uno de los campos que son editables. Entonces, tengo mi elemento "Estado", que es un cuadro desplegable. Puedo elegir el valor, el campo "Descripción" es solo un campo de cadena y el campo "Severidad" es solo un número entero. Entonces, si escribo eso, puedo ver que es un número entero y puedo aumentar mis valores enteros.

Y así es como creamos una forma dinámica para una capa determinada. ¡Gracias por ver!"

¿Está interesado en probar Geocortex Workflow 5 usted mismo? ¡Visite nuestro Discovery Center y explore todo lo que Geocortex Workflow 5 tiene para ofrecer!


Sobre el Autor

Julie Powell

Julie Powell es gerente de producto técnico. Su enfoque principal es la API de ArcGIS para JavaScript. Tiene más de 17 años de experiencia trabajando con el desarrollo de software, brindando soluciones para los mercados de empresas y consumidores. Powell ha trabajado en una amplia gama de proyectos y actividades de consultoría, incluido el servicio como líder técnico de soluciones de mapeo web para clientes estratégicos. Ella interactúa con una amplia comunidad de usuarios para mantener el conocimiento y la comprensión de las necesidades de la comunidad SIG, mientras tanto, contribuye con comentarios a los equipos de desarrollo para ayudar a garantizar que los usuarios puedan tener éxito en la creación de soluciones de vanguardia y con un propósito utilizando el software ArcGIS.