Más

¿Colocar el nombre de la capa junto a sus símbolos en la leyenda usando representaciones de ArcGIS for Desktop?

¿Colocar el nombre de la capa junto a sus símbolos en la leyenda usando representaciones de ArcGIS for Desktop?


Quiero colocar el nombre de la capa de mi clase de entidad (con estilo con una representación) al lado (lado derecho) de su símbolo en la leyenda de mi mapa en ArcMap 10.1.

Sé que el formato se puede cambiar a través de: leyenda> propiedades> tema> elegir mi capa y hacer clic en "estilo" y luego cambiar el estilo de los elementos de la leyenda de la lista. Sin embargo, si utilizo clases de entidad con estilo con representaciones, no sé cómo hacerlo. Usar formas no es un problema porque puedo ajustar la descripción de la capa en la tabla de contenido. Sin embargo, esto no es posible (o no sé cómo) cuando utilizo representaciones.

Estas imágenes visualizan mi pregunta:

Estilo de leyenda estándar para representaciones:

Posible cambiando el estilo de la leyenda:

Lo que quiero lograr:

¿Alguna sugerencia o sugerencia sobre cómo resolver mi problema? ¿Quizás hay una forma de crear estilos personalizados?


Lo primero es crear una consulta de definición para mostrar solo "Regla_1", luego crear simbología por "Símbolo único", arcmap automáticamente con mostrar solo el nombre de la capa.

En segundo lugar, si tiene que utilizar Categorías para la simbología.

1- Agregar un nuevo campo al conjunto de datos de características

2- calcule el campo con el nombre de la capa (para la característica que desea incluir en su caso "Regla_1")

3- Crea simbología con este campo

4- Eliminar otras categorías

5- Crear leyenda (la leyenda estará con el nombre de su capa)


Para obtener una leyenda más personalizada, es posible que desee seguir estos pasos una vez que cree inicialmente la leyenda:

  1. haga clic derecho y seleccione "propiedades"
  2. Vaya a la pestaña "elementos"
  3. haga clic en el botón "estilo" en la parte inferior de la ventana. Esto proporciona un montón de opciones de leyenda diferentes. Sin embargo, si no ve el estilo que está buscando, puede presionar "propiedades" para obtener aún más opciones.
  4. Si aún no ve el estilo que está buscando, puede hacer clic en "más estilos" y eso le proporcionará opciones de estilo adicionales.

Acerca de la visualización de capas

ArcGIS incluye muchas opciones de visualización de capas que se utilizan para representar información geográfica. Existen numerosas formas de representar capas mediante símbolos, colores y etiquetas. Los temas de esta sección de ayuda cubren cómo simbolizar y renderizar capas.

Las capas forman los bloques de construcción principales en los mapas GIS. Dentro de cada capa, se utilizan símbolos, colores y texto para representar información importante que describe cada uno de los elementos geográficos individuales.

Las entidades tienen geometría que define su ubicación y forma (por ejemplo, puntos, líneas y polígonos), así como valores de atributo. Se utiliza una amplia gama de renderizadores para asignar símbolos de mapa según los valores de los atributos.

Las características también suelen etiquetarse con sus atributos. Consulte la sección de ayuda sobre cómo agregar texto a un mapa para obtener información sobre el uso de etiquetas y anotaciones.


¿Colocar el nombre de la capa junto a sus símbolos en la leyenda utilizando representaciones de ArcGIS for Desktop? - Sistemas de Información Geográfica

Las opciones cartográficas se encuentran en el centro de la creación de mapas para la comunicación. La forma en que decida representar sus datos determinará lo que comunica el mapa. Puede desviar la atención del lector de un detalle hacia otro. Puede distorsionar los datos para que el lector obtenga una imagen sesgada de la "realidad" subyacente de los datos del mapa.

Considere estos 2 mapas que muestran la población de cada estado en los Estados Unidos contiguos, donde el color más oscuro representa una población más alta. El primer mapa muestra la población total, mientras que el segundo mapa muestra la densidad de población (población por unidad de área). En el primer mapa, California muestra la población más grande y algunos de los estados del noreste muestran una población baja. Sin embargo, en el segundo mapa, California muestra una población algo baja. densidad, mientras que el noreste muestra la mayor población densidad. Ambos mapas representan los mismos datos temáticos generales (población), pero cada uno usa un método cartográfico diferente y cada mapa comunica una idea diferente. Utilizaría uno u otro de estos mapas dependiendo de las ideas que quiera comunicar.

Con frecuencia, se eligen diferentes símbolos de mapa debido a su impacto psicológico (por ejemplo, los símbolos rellenos de color verde y azul se utilizan a menudo para mostrar áreas "frías" o no amenazantes, mientras que el rojo se utiliza para mostrar áreas "calientes" o peligrosas). Los grosores de línea también confieren una importancia relativa a las diferentes características lineales (las carreteras interestatales generalmente se dibujan más gruesas que las carreteras del condado). Se pueden usar diferentes símbolos de puntos para indicar las características de los lugares (los mapas de los parques nacionales a menudo muestran servicios como botes de botes, senderos, áreas de picnic y baños con símbolos de marcadores especializados). Piense detenidamente en lo que desea comunicar y elija los símbolos de su mapa en consecuencia.

La clasificación es otro método para cambiar lo que desea comunicar con sus mapas. Las investigaciones han demostrado que es más difícil comprender o comparar una gran cantidad de objetos, valores, símbolos o colores. La clasificación le permite agrupar características similares en clases, menos clases son más fáciles de comparar entre sí. En los mapas anteriores, si se usaran más clases, las clases se volverían visualmente indistinguibles entre sí. También es más fácil diferenciar entre un gran número de clases de colores en rampa que representan valores numéricos (por ejemplo, población) que diferenciar entre un gran número de clases de valores categóricos (por ejemplo, origen étnico dominante).

Cualquier buen software GIS le dará la capacidad de cambiar rápida y fácilmente la forma en que se muestran los mapas, cambiando símbolos, colores o esquemas de clasificación.

Las Propiedades de capa de ArcGIS para simbología le permiten cambiar la simbología de las entidades de capa dentro del mapa. Existe una gran flexibilidad sobre cómo mostrar las funciones. Hay muchas paletas de símbolos integradas disponibles para entidades de área, línea o punto, y también es posible crear símbolos personalizados.

Para cambiar la simbología de una capa, haga clic con el botón izquierdo en el nombre de la capa y seleccione Propiedades. Dentro de Propiedades de la capa diálogo, el Simbología pestaña contiene los controles para alterar la simbología.

Se accede a la mayoría de los cambios cartográficos descritos en esta sección a través de Propiedades de capa para simbología.

Elegir un tipo de leyenda

Hay varios tipos de leyendas disponibles:

    Símbolo único (todas las entidades de una capa se dibujarán con el mismo símbolo)
    Utilice un solo símbolo cuando solo necesite mostrar las ubicaciones de las funciones.


Establecer marcadores

Primero, iniciará sesión en ArcGIS Online (o ArcGIS Enterprise) y comenzará un nuevo mapa. Planea analizar los datos meteorológicos en varias regiones del mundo, por lo que establecerá marcadores para estas regiones para navegar hacia ellas rápidamente.

Si no tiene una cuenta de organización, puede registrarse para obtener una prueba gratuita de ArcGIS.

Se abre un nuevo mapa. El mapa base y la extensión del mapa para un mapa nuevo se establecen en los valores predeterminados de su organización. La mayoría de las organizaciones utilizan el mapa base topográfico como predeterminado. Puede comprobar el nombre de su mapa base en el panel Contenido.

Se muestra el nombre del mapa base.

  • Europa occidental
  • este de Asia
  • Australia
  • Sureste de Brasil
  • África del Norte
  • Sureste de Estados Unidos
  • California, Estados Unidos
  • Colorado, Estados Unidos

No es necesario que sus marcadores coincidan exactamente con las extensiones de la imagen de ejemplo. También puede agregar marcadores para cualquier otra área en la que esté interesado.

El mapa navega hasta el punto en el que se encontraba cuando creó el marcador.


API de ArcGIS para JavaScript 3.36

La API de ArcGIS para JavaScript admite la edición de datos geográficos en la Web. La edición basada en web permite que un grupo más grande de personas agregue y mejore sus datos. Estos incluyen trabajadores de campo, analistas de otros departamentos de su empresa o quizás incluso voluntarios de fuentes múltiples que pueden hacer contribuciones valiosas a sus datos gracias a una interfaz de edición simple.

Las API incluyen widgets que lo ayudan a agregar funcionalidad de edición a sus aplicaciones. Puede realizar algunos trabajos de diseño tanto en su mapa como en su aplicación web para simplificar la experiencia del usuario final al editar. Por ejemplo, puede predefinir un conjunto de plantillas de entidades, nuevo en ArcGIS 10, para que sea más fácil para los usuarios agregar ciertos tipos de entidades comunes. También puede limitar los atributos que se pueden agregar y agregar algunas opciones de atributos disponibles en una lista desplegable para facilitar la entrada de datos precisa y uniforme. Como diseñador de una aplicación de edición web, usted tiene control total sobre qué tan simple o compleja es la experiencia de edición que expone a sus usuarios.

La edición web requiere una configuración inicial de un servicio de entidades, que expone información sobre las geometrías y atributos de entidades de una capa. Además, los servicios de geometría se pueden utilizar para realizar algunas tareas de edición web. Para utilizar el widget Editor principal, por ejemplo, debe tener un servicio de geometría en ejecución.

¿Qué puedo hacer con la edición en las API web de ArcGIS?

Las API web de ArcGIS proporcionan una edición de características simple. Las entidades pueden provenir de una geodatabase registrada o de un servicio de entidades alojado a través de ArcGIS Online o Portal for ArcGIS.

Al editar datos con las API web, puede agregar, eliminar, mover, cortar, unir y remodelar funciones. También puede editar los atributos de las características. Si intenta modificar la misma función al mismo tiempo que otra persona, las últimas ediciones que se realizarán son las que se han enviado a la base de datos.

Para algunos flujos de trabajo de edición web, es una buena idea que un analista que utilice ArcGIS Desktop revise periódicamente las ediciones para verificar la integridad de los datos. Aunque los widgets de edición pueden realizar cierta validación de datos, otras tareas, como validar topologías, no se pueden realizar a través de la Web.

¿Cómo agrego funcionalidad de edición a mi aplicación?

La API de ArcGIS para JavaScript proporciona widgets para facilitarle la edición de sus aplicaciones web. Están disponibles los siguientes widgets.

Widget de editor

Si desea comenzar rápidamente, o si solo desea usar la interfaz de edición predeterminada incluida con la API, use el widget Editor. El widget Editor combina la funcionalidad de los otros widgets para proporcionar todo lo que necesita para editar una capa. Puede elegir el número y los tipos de herramientas que están disponibles en el widget.

El widget Editor guarda sus ediciones inmediatamente después de que se realizan, por ejemplo, tan pronto como termine de dibujar un polígono. Si decide no utilizar el widget Editor, debe determinar por sí mismo cuándo y con qué frecuencia desea aplicar las ediciones.

Si no usa el widget Editor, debe codificar su propia experiencia de edición. Sin embargo, aún puede aprovechar los widgets Selector de plantillas, Inspector de atributos y Editor de adjuntos para ayudarlo.

Selector de plantillas

El Selector de plantillas muestra un conjunto de opciones de funciones preconfiguradas que el usuario puede crear. El Selector de plantillas es una excelente manera de exponer tipos de funciones preconfiguradas para facilitar la edición y el control de calidad. Los símbolos visibles en el Selector de plantillas pueden provenir de las plantillas de edición que definió en el mapa de origen del servicio de entidades o pueden ser un conjunto de símbolos que defina en la aplicación.

Se incluye un selector de plantillas en el widget Editor. El Selector de plantillas se puede usar opcionalmente por sí solo como una leyenda simple para su mapa. Haga clic aquí para ver una muestra que usa el Selector de plantillas para mostrar una leyenda para el mapa.

Inspector de atributos

Cuando hace que los atributos estén disponibles para su edición en la Web, debe proporcionar una interfaz para que los usuarios editen los atributos y debe asegurarse de que los datos que ingresan sean válidos. El widget Inspector de atributos puede ayudarlo con estas dos tareas.

El inspector de atributos lee los campos de atributos disponibles a través de su capa de entidades y proporciona una interfaz de usuario para actualizar fácilmente esos campos. También valida los datos ingresados ​​en los campos, asegurando que la entrada coincida con el tipo de datos esperado. Por ejemplo, si se aplica un dominio de valor codificado a un campo, los valores permitidos aparecen en una lista desplegable, lo que restringe la posibilidad de que se ingresen otros valores. Si un campo requiere un valor de fecha, aparece un calendario que ayuda al usuario a proporcionar una fecha válida.

El Inspector de atributos expone todos los atributos disponibles en la capa para su edición. Si desea restringir los atributos disponibles, debe codificar su propia interfaz para ingresar y validar valores.

Se incluye un inspector de atributos en el widget Editor.

Editor de archivos adjuntos

En algunas situaciones, es posible que desee asociar un archivo descargable con una función. Por ejemplo, es posible que desee que los usuarios puedan hacer clic en una característica que representa una propiedad inmobiliaria y ver un enlace a un archivo PDF del título de propiedad. En las API web de ArcGIS, un archivo descargable asociado como este se conoce como adjunto de entidad.

El Editor de archivos adjuntos es un widget que ayuda a los usuarios a cargar y ver archivos adjuntos de funciones. El Editor de archivos adjuntos incluye una lista de archivos adjuntos actuales (con botones Eliminar), así como un botón Examinar que se puede usar para cargar más archivos adjuntos. El Editor de archivos adjuntos funciona bien dentro de una ventana de información, pero se puede colocar en cualquier otro lugar de la página.

Para utilizar adjuntos de entidades, los adjuntos deben estar habilitados en la clase de entidad de origen. Puede habilitar adjuntos para una clase de entidad en ArcCatalog o la ventana Catálogo en ArcMap. Si el widget Editor detecta que los archivos adjuntos están habilitados, incluirá un editor de archivos adjuntos.

¿Cómo funciona la edición?

La edición con las API web de ArcGIS funciona a través del servicio de entidades, un nuevo tipo de servicio disponible con ArcGIS 10. Los flujos de trabajo de edición también pueden aprovechar el servicio de geometría.

El rol del servicio de entidades

La edición web requiere un servicio de entidades para proporcionar la simbología y la geometría de las entidades de sus datos. El servicio de funciones es solo un servicio de mapas con la capacidad de Acceso a funciones habilitada. Esta capacidad permite que el servicio de mapas exponga geometrías de entidades y sus símbolos de una manera que sea fácil de usar y actualizar para las aplicaciones web.

Antes de crear una aplicación de edición web, debe trabajar un poco para crear un servicio de entidades que exponga las capas que desea editar. Esto implica configurar un documento de mapa y, opcionalmente, definir algunas plantillas para editar. Las plantillas le permiten preconfigurar la simbología y los atributos para algunos tipos de características de uso común. Por ejemplo, para prepararse para editar carreteras, puede configurar plantillas para "Autopista de acceso controlado", "Otra carretera dividida", "Autopista estatal" y "Carretera local". Las plantillas son opcionales, pero facilitan al usuario final de la aplicación la creación de funciones comunes.

Una vez que su mapa esté terminado, debe publicarlo en ArcGIS Server con la capacidad de Acceso a funciones habilitada. Esto crea URL REST, o puntos finales, tanto para un servicio de mapas y un servicio de características. Utilizará estas URL para hacer referencia a los servicios en su aplicación.

Los servicios de entidades son accesibles en las API web a través de un nuevo tipo de capa llamada capa de entidades. Sin embargo, las capas de entidades pueden hacer una variedad de cosas y pueden hacer referencia a servicios de mapas o servicios de entidades cuando se usa una capa de entidades para fines de edición necesita hacer referencia a un servicio de entidades.

Al editar, su aplicación web le dice a la capa de entidades qué atributos han cambiado y, si corresponde, cómo cambió la geometría. La capa de entidades también muestra las entidades actualizadas después de la edición. Puede llamar al método applyEdits en la capa de entidades para aplicar las ediciones, que luego las confirma en la base de datos.

El papel del servicio de geometría

El servicio de geometría de ArcGIS Server ayuda a realizar operaciones de edición comunes, como crear, cortar y remodelar entidades geográficas. Antes de usar el widget Editor, debe crear un servicio de geometría en su ArcGIS Server. Luego, cuando cree el widget, debe proporcionar la URL al servicio de geometría. El widget utiliza el servicio en segundo plano y no tendrá que llamar a los métodos del servicio de geometría usted mismo a menos que decida no utilizar el widget.

Si decide no usar el widget Editor, aún puede usar el servicio de geometría para ayudarlo a codificar sus propias herramientas de edición. El servicio de geometría también puede ayudarlo a validar datos. Por ejemplo, puede utilizar el servicio de geometría para realizar comprobaciones en las ediciones, como "ninguna edición puede quedar fuera de este cuadro" o "un límite de polígono no puede cruzarse a sí mismo". (El widget Editor en realidad llama al método Simplify () en el servicio de geometría antes de que confirme una geometría a su base de datos). Aunque la validación de topología de ArcGIS no está disponible a través del widget Editor o clases relacionadas con la edición, el servicio de geometría puede ayudarlo a lograr una resultado similar a través de estos tipos de comprobaciones de integridad de datos.

La barra de herramientas de edición

La barra de herramientas Editar es una clase que le ayuda a codificar la colocación y el movimiento de vértices y gráficos. Esto es útil en escenarios en los que no está utilizando el widget Editor y necesita escribir su propia lógica de edición, especialmente el comportamiento de visualización del cliente. Al igual que las otras barras de herramientas (Dibujar y Navegación), la barra de herramientas Editar no es una barra de herramientas de interfaz de usuario. En cambio, es una clase auxiliar que facilita la codificación de algunas funciones relacionadas comunes.

Diseñando tu experiencia de edición

Cuando construye una aplicación de edición web, es importante pensar en quién usará la aplicación y qué tendrá que hacer. Debe proporcionar a sus usuarios ni más ni menos que las herramientas que necesitan. En la mayoría de las situaciones, puede diseñar una experiencia de edición adecuada para sus usuarios mediante una combinación de los widgets de edición incluidos con la API. Tenga en cuenta que, aunque la API incluye un widget de editor completo para ayudarlo a comenzar, este widget en particular puede no ser el más adecuado para su escenario.

De alguna manera, la experiencia de edición con la API ya se le ha simplificado. Los widgets no incluyen botones para iniciar y detener sesiones de edición o para guardar ediciones. Opcionalmente, puede proporcionar estas funciones, pero no son necesarias para la mayoría de las aplicaciones.

Considere los siguientes enfoques para diseñar una aplicación de edición web. Cada enfoque tiene sus propios méritos y tipos de aplicaciones para los que es más apropiado.

Bosquejo de características

En este tipo de aplicación, los analistas de campo necesitan esbozar eventos o ideas simples en el mapa y agregar comentarios asociados. Un avistamiento de aves, un sendero imaginado o un área silvestre propuesta son todos ejemplos de los tipos de características que se pueden bosquejar en este tipo de aplicación. En este escenario, la facilidad de uso y la libertad para dibujar intuitivamente en la parte superior del mapa son más importantes que la precisión geométrica.

Al crear una aplicación de creación de bocetos de entidades, puede utilizar un Selector de plantillas para limitar los tipos de elementos que los usuarios pueden dibujar. El Inspector de atributos también es útil, ya que permite a los editores agregar comentarios, ya sea en un panel lateral o en una ventana de información que aparece cuando se hace clic en la función. Las opciones para dividir y fusionar características, agregar un punto en una ubicación X / Y, ajustar o cargar archivos adjuntos de características pueden saturar la aplicación y deben evitarse a menos que sea absolutamente necesario.

Haga clic aquí para ver una muestra que muestra cómo crear una aplicación de dibujo de características.

Edición solo de atributos

Algunas aplicaciones de edición incluyen un componente de mapeo, pero no requieren ningún cambio de características geográficas. Por ejemplo, es posible que desee crear una aplicación web que permita a cualquier empleado de la oficina editar los atributos de una característica de parcela en su base de datos. Desea evitar que editen la geometría, dejando esa tarea a sus analistas de SIG. En este escenario, puede incluir un mapa en su aplicación, pero exponer la edición solo a través del Inspector de atributos. Un simple clic en el mapa de una parcela muestra los atributos que se van a editar. No es necesario que incluya botones o widgets para crear, eliminar o remodelar funciones.

Haga clic aquí para ver una muestra que muestra cómo crear una aplicación de edición de atributos.

Participación ciudadana o geo-wiki

Esta es una variación del escenario de bosquejo de características en el que los ciudadanos pueden ser los editores y reportar problemas a una organización gubernamental colocando puntos en el mapa e incluyendo información auxiliar como fotografías o una breve descripción.

Los usuarios de este tipo de aplicaciones ni siquiera saben que están editando datos GIS. Solo se les permite agregar entidades puntuales a la base de datos, utilizando un conjunto cuidadosamente seleccionado de tipos de incidentes que usted predefinió en un Selector de plantillas. Los archivos adjuntos se permiten a través del widget Inspector de archivos adjuntos para que los ciudadanos puedan cargar imágenes del incidente. Se puede permitir la edición de atributos en un grado muy limitado para que los ciudadanos puedan describir los incidentes.

En este tipo de aplicación, es posible que deba codificar algunos controles de seguridad para garantizar que los usuarios solo puedan editar o eliminar sus propios incidentes. También puede incluir lógica para limpiar periódicamente la base de datos o permitir que un subconjunto de usuarios autenticados cierre o elimine incidentes.

Haga clic aquí para ver una muestra que muestra cómo crear una aplicación de participación ciudadana.


¿Cómo cambiar el nombre del elemento de leyenda en ArcGIS Pro?

En ArcGIS Pro, tengo una leyenda en un diseño adjunto a un mapa. En el panel Contenido, veo el nombre de la capa tal como aparece en el diseño. Sin embargo, no puedo cambiar el nombre de la capa.

En tantos otros elementos del panel Contenido, se puede hacer clic con el botón izquierdo en el nombre del elemento, convirtiendo el nombre del elemento en editable. Sin embargo, en los elementos Legend, esto no está disponible. Puedo hacer clic con el botón derecho en el elemento (para ver 'establecer como predeterminado', 'Eliminar' y 'Propiedades'. En las propiedades siempre existe la oportunidad de cambiar algo sobre el elemento (formato, tamaño, fuente, una galería de estilos posibles, agrupación , nombre de capa, nombre de grupo, etiquetas, descripción, etc.), sin embargo, no veo ningún lugar para cambiar el texto visible que aparece en la leyenda. De lo contrario, la Leyenda no está bloqueada, está en una serie de grupos. Alternativamente, en el mapa al que están adjuntos los elementos de leyenda. Veo la Capa y sus propiedades en la pestaña General, puedo cambiar el nombre de esa Capa (en el mapa), pero esto no cambia el Diseño. Cuando selecciono la Capa en Contenido, la pestaña / barra de botones / tira en la parte superior resalta la capa de características, pero no veo forma de cambiar cómo se nombra en el diseño.

Sospecho que esta es una solución fácil, pero por mi vida no puedo encontrar dónde Pro ha escondido esta funcionalidad. Gracias.


Notas de la versión 4.12

Aumentamos nuestras capacidades para visualizar datos temporales tanto en MapViews 2D como SceneViews 3D. Agregamos la clase TimeInterval para describir un período de tiempo en diferentes unidades temporales, al que hacen referencia las capas conscientes del tiempo y el widget TimeSlider.

La versión beta del widget TimeSlider simplifica la manipulación del tiempo en su aplicación y se puede configurar para actualizar View & # x27s timeExtent, lo que significa que todas las capas conscientes del tiempo actualizarán su contenido para ajustarse a este cambio. También puede usar el widget TimeSlider para visualizar datos temporales en el lado del cliente configurando filtros o efectos en FeatureLayerView, CSVLayerView y GeoJSONLayerView.

Continuaremos agregando más apoyo para la conciencia del tiempo. Esto incluye, entre otros, agregar propiedades timeExtent en capas que almacenan datos temporales, lo que permite que las capas sigan su propia línea de tiempo sin tener que seguir View.timeExtent, y mejoras y mejoras continuas en el widget TimeSlider.

Las capas de teselas vectoriales ahora se cargan un 50% más rápido debido a la obtención de teselas vectoriales mejoradas, incluida una mayor paralelización de solicitudes y optimizaciones de procesamiento de teselas. La representación de la capa de entidades mejoró debido a las optimizaciones relacionadas con la triangulación de geometrías. Se mejoró el procesamiento de triangulación sin reducir la calidad. El tiempo de carga de los mapas 2D se ha reducido gracias a los teseladores renovados. Esto mejora la velocidad, la precisión y el perfil de memoria de los algoritmos centrales. También agregamos estrategias de cambio adaptativo para seleccionar la más apropiada para una situación determinada.

Las mejoras en los dibujos incluyen un procesamiento más rápido de los valores de los datos en las visualizaciones para que puedan actualizarse más rápidamente, proporcionando una mejor experiencia de usuario y un rendimiento mejorado. Las actualizaciones de FeatureLayer son más rápidas cuando se cambia la variable que impulsa la visualización. La siguiente animación muestra el cambio entre 4.11 y 4.12.

El rendimiento de la capa de escena continúa mejorando: los objetos 3D SceneLayer e IntegratedMeshLayer se cargan y muestran en promedio dos veces más rápido con la nueva especificación I3S versión 1.7. Además, un nuevo almacenamiento en caché del lado del cliente ayuda a reducir las áreas sin datos al explorar una escena 3D. Para experimentar este mayor rendimiento, puede convertir sus SLPK existentes con la herramienta I3S Converter. Para obtener más detalles, lea el tema de la guía Trabajar con capas de escena.

Hicimos varias actualizaciones para modernizar la API. Estas actualizaciones nos permiten aprovechar más las API disponibles de forma nativa en los navegadores web modernos.

  • El 93% del código base está escrito en TypeScript. ahora usa la API Fetch internamente para solicitar recursos. Cuando no está disponible (por ejemplo, con IE11), usamos un polyfill de recuperación en su lugar.
  • La mayoría de los métodos asincrónicos de la API ahora admiten un parámetro de señal opcional de tipo AbortSignal. Consulte Cancelación de método asincrónico para obtener más información.
  • Hay disponible una nueva marca para habilitar las promesas de JavaScript nativas. Actualmente, las promesas devueltas por cualquier función asincrónica devuelven una promesa de Dojo. Con esta bandera, esas mismas funciones ahora pueden devolver una promesa de JavaScript. Más detalles sobre esta funcionalidad estarán disponibles en una próxima publicación de blog.

SceneLayerView y FeatureLayerView ahora admiten consultas del lado del cliente puras que no requieren un viaje de ida y vuelta al servidor. Seleccione características de forma interactiva y muestre estadísticas mediante expresiones espaciales y basadas en atributos. Un nuevo ejemplo muestra cómo puede consultar un SceneLayerView para obtener estadísticas sobre las características que coinciden con la consulta.

Agregue visualizaciones de agua animadas a sus escenas 3D usando el nuevo WaterSymbol3DLayer. Ya sea que mire un océano desde lejos o un lago de cerca, el nuevo estilo de polígono de agua le permite crear vistas realistas, como los reflejos de la luz solar en el agua.

Agregamos soporte para WebStyleSymbols 2D. Esto agrega más de 100 símbolos de alta calidad que están disponibles para usar en MapViews 2D. Consulte la página de la guía Esri Web Style Symbol (2D) para conocer los símbolos admitidos alojados por Esri. Estos símbolos se basan en CIM (Modelo de información cartográfica). La clase CIMSymbol permite a los usuarios crear símbolos que se componen de múltiples SymbolLayers con muchas opciones de visualización personalizables disponibles para el usuario. Consulte la muestra de WebStyleSymbol (2D) y la muestra de CIMSymbol para ver ejemplos.

Los nuevos modelos 3D en Esri Web Style Symbol (3D), como bicicletas e hidrantes, le permiten personalizar aún más sus escenas. Además, se agregaron a la galería estilos web de Infraestructura y Recreación. También agregamos un nivel automático de detalle a los árboles esquemáticos para mantener un rendimiento sólido en escenas con una gran cantidad de árboles.

Las API de visualización de mapas inteligentes alcanzaron la paridad total con la serie 3.xy agregaron funcionalidad adicional. Esto incluye: visualizaciones dependientes de la escala, soporte para renderizadores de densidad de puntos, soporte 3D para líneas y polígonos y widgets de control deslizante.

Las siguientes mejoras de escala solo se aplican a los renderizadores en MapViews 2D.

Tamaño del contorno por escala - El parámetro outlineOptimizationEnabled se agregó a todos los métodos de creación de renderizadores para capas de polígonos. Cuando se establece en verdadero, el renderizador generado incluirá contornos de símbolo que dinámicamente cambian su ancho por escala de vista.

contornos no visiblesvisible, no prominenteprominente

Rango de tamaño por escala - El parámetro sizeOptimizationEnabled se agregó a los siguientes métodos de creación de renderizadores para capas de polígonos. Cuando se establece en verdadero, los tamaños de los iconos generados cambiarán dinámicamente según la escala de la vista. Internamente, esta opción usa la nueva función sizeRange para determinar el rango de tamaño apropiado por escala. Esto solo se aplica a visualizaciones basadas en datos que involucran variables visuales de tamaño.

Visibilidad de capa sugerida por escala - La función scaleRange se agregó como una conveniencia para sugerir los rangos de escala mínimo y máximo para cualquier capa en una vista determinada.

El método dotDensityRendererCreator.createRenderer () se agregó al nuevo módulo de mapeo inteligente dotDensity. Este es un método auxiliar para generar un DotDensityRenderer con un dotValue sugerido apropiado para la escala de la vista donde se mostrará el renderizador. Está destinado exclusivamente a aplicaciones de creación de visualización y aplicaciones de exploración de datos.

Soporte 3D para líneas y polígonos

Todos los métodos de creación de renderizadores de los siguientes módulos ahora admiten capas de polilínea y polígono en SceneViews 3D:

  • esri / renderizadores / smartMapping / creators / color
  • esri / renderizadores / smartMapping / creators / location
  • esri / renderizadores / smartMapping / creators / opacity
  • esri / renderizadores / smartMapping / creators / relación
  • esri / renderizadores / smartMapping / creators / type

Los siguientes son nuevos widgets de control deslizante destinados a ayudar a los usuarios a explorar, actualizar y crear renderizadores.

Los siguientes widgets se eliminan de la API de JS en la versión 4.12 a favor de sus contrapartes anteriores:

  • esri / widgets / ColorSlider
  • esri / widgets / SizeSlider
  • esri / widgets / UnivariateColorSizeSlider

Agregamos etiquetas y nombres a todos los esquemas de color de mapeo inteligente y proporcionamos métodos para consultar esquemas por etiquetas y nombres. Esto facilita el trabajo con rampas de color disponibles a través de las API de mapeo inteligente para aplicaciones de creación de renderizadores. Todos los módulos de simbología ahora tienen métodos getSchemeByName (), getSchemesByTag () y getThemes ().

El nuevo perfil cuadrado en PathSymbol3DLayer, le permite visualizar líneas 3D con estilos cuadrados, tiras y paredes. Al igual que con otros símbolos, este nuevo perfil también admite el tamaño o el color controlados por atributos mediante VisualVariables.

Combine los perfiles de ruta con las nuevas opciones de configuración para límite, unión y rotación de perfil para mejorar el estilo de visualización de entidades de línea como calles o límites geográficos. Puede probar estas nuevas propiedades en la muestra de visualización de ruta en 3D.

Filtros en BuildingSceneLayer

BuildingSceneLayer le permite renderizar modelos de construcción 3D detallados. Con esta versión, agregamos soporte para filtros, para que pueda crear aplicaciones que aíslen pisos, resalten materiales de construcción o visualicen fases de construcción. Defina un BuildingFilter en la propiedad de filtros de BuildingSceneLayer y se aplicará automáticamente a todas las subcapas.

Cancelación de método asincrónico

La mayoría de los métodos asincrónicos de la API ahora admiten un parámetro de señal opcional de tipo AbortSignal. Esto permite solicitudes cancelables. Si se cancela, la promesa se rechaza con un error llamado AbortError. Consulte también AbortController. Para saber si un método asincrónico admite la señal, consulte los parámetros de los métodos en la referencia de la API.

Aquí hay un ejemplo en el que pasamos la señal del controlador & # x27s al método queryFeatures. Si la solicitud devuelve un error con el nombre AbortError, imprimimos un mensaje de error útil en la consola.

Agregamos una nueva clase, esri / geometry / support / geodesicUtils, que realiza cálculos geodésicos para esferoides terrestres y no terrestres. Esta clase tiene algunos métodos que son similares a los métodos geometryEngine. Consulte la tabla siguiente para comparar la funcionalidad disponible en cada clase.

FuncionalidadgeometryEnginegeodesicUtils
Sistemas coordinadosWeb Mercator, WGS84WGS84, 75 non-Earth geographic coordinate systems
geodesicArea(s)single polygonmultiple polygons
geodesicDensify
geodesicDistanceNo
geodesicLength(s)single geometrymultiple geometries
pointFromDistanceNo

We added support for CSS names for font.family property values for FeatureLayer, CSVLayer, and StreamLayer in 2D MapViews. For example, we now recommend using Old Standard TT instead of old-standard-tt . However, the old naming convention will still work. For more information and examples, please refer to Fonts for FeatureLayer, CSVLayer, and StreamLayer.

For both 2D MapViews and 3D SceneViews, we enhanced the labelClass.where property to accept more advanced SQL statements, and we added a default symbol to labelClass.symbol. Lastly, in 3D SceneViews, we improved the label placement around extruded polygons.

Date and number formatting updates

Multiple updates were made to streamline date and number formatting functionality. Date formatting is now better at recognizing regional differences. Prior to this version, the order of date components always followed US English (en-US) rules, e.g. Monday, June 24, 2019, 2:28 PM (Day of the week, Month Day, Year, time in 12 hours cycle). In addition, a new esri/intl class was added which provides helper methods used for formatting dates, numbers, and template strings.

With these updates, there comes a couple notable breaking changes. These changes pertain to out-of-the-box function formatters, ie. DateString , DateFormat , and NumberFormat , as they are no longer supported with the PopupTemplate.content. Instead, set it via the FieldInfo's fieldInfoFormat. Another change is that the PopupTemplate's content can no longer be set using a wildcard, e.g. * . Instead, set the Popup's defaultPopupTemplateEnabled property to true.

The following widgets are new at version 4.12:

esri/widgets/Slider - A generic slider that can be used for gathering any kind of user input involving numbers or a range of values.

esri/widgets/TimeSlider - A slider that can be used to manipulate time visualization in your application.

esri/widgets/HistogramRangeSlider - A slider that renders a histogram along the range for gathering user input involving a range of data values.

esri/widgets/Histogram - Renders a histogram that can be customized with styles and interactions for exploring data.

New Smart mapping widgets

We also added the following smart mapping widgets:

The Popup widget UI has been redesigned. Beginning with 4.12, actions defined on the PopupTemplate appear before those defined on the Popup widget. The actionsMenuEnabled property was removed from Popup widget as it was no longer needed with the updates made to the UI.

Popup UI - 4.11Popup UI - 4.12

API updates and enhancements

    now accepts a String in addition to a PortalFolder.
  • Added fromJSON() method to the WebMap Class.
  • Added a default symbol to labelClass.symbol for labeling in 2D MapViews and 3D SceneViews.
  • Added a new metadata.supportsAdvancedFieldProperties property to FeatureLayer.capabilities.
  • Added an AbortSignal object as an optional parameter for all asynchronous methods.
  • Added an error property to RequestInterceptor, which returns a function that passes an Error object.
  • Added class esri/geometry/support/geodesicUtils.
  • Added class esri/intl.
  • Added class esri/layers/support/FieldsIndex.
  • Added class esri/layers/support/RasterInfo.
  • Added class esri/renderers/smartMapping/creators/dotDensity .
  • Added class esri/renderers/smartMapping/heuristics/scaleRange .
  • Added class esri/renderers/smartMapping/heuristics/sizeRange .
  • Added class esri/renderers/smartMapping/symbology/dotDensity .
  • Added class esri/renderers/support/ClassBreakInfo.
  • Added class esri/renderers/support/UniqueValueInfo.
  • Added class esri/symbols/CIMSymbol.
  • Added class esri/symbols/WaterSymbol3DLayer.
  • Added class esri/TimeInterval.
  • Added class esri/webdoc/applicationProperties/Search.
  • Added class esri/webdoc/applicationProperties/SearchLayer.
  • Added class esri/webdoc/applicationProperties/SearchLayerField.
  • Added class esri/webdoc/applicationProperties/Viewing.
  • Added class esri/widgets/Histogram/HistogramViewModel.
  • Added class esri/widgets/Histogram.
  • Added class esri/widgets/HistogramRangeSlider/HistogramRangeSliderViewModel.
  • Added class esri/widgets/HistogramRangeSlider.
  • Added class esri/widgets/Slider/SliderViewModel.
  • Added class esri/widgets/Slider.
  • Added class esri/widgets/smartMapping/ClassedColorSlider/ClassedColorSliderViewModel.
  • Added class esri/widgets/smartMapping/ClassedColorSlider.
  • Added class esri/widgets/smartMapping/ClassedSizeSlider/ClassedSizeSliderViewModel.
  • Added class esri/widgets/smartMapping/ClassedSizeSlider.
  • Added class esri/widgets/smartMapping/ColorSizeSlider/ColorSizeSliderViewModel.
  • Added class esri/widgets/smartMapping/ColorSizeSlider.
  • Added class esri/widgets/smartMapping/ColorSlider/ColorSliderViewModel.
  • Added class esri/widgets/smartMapping/ColorSlider.
  • Added class esri/widgets/smartMapping/HeatmapSlider/HeatmapSliderViewModel.
  • Added class esri/widgets/smartMapping/HeatmapSlider.
  • Added class esri/widgets/smartMapping/OpacitySlider/OpacitySliderViewModel.
  • Added class esri/widgets/smartMapping/OpacitySlider.
  • Added class esri/widgets/smartMapping/SizeSlider/SizeSliderViewModel.
  • Added class esri/widgets/smartMapping/SizeSlider.
  • Added class esri/widgets/smartMapping/SmartMappingSliderBase.
  • Added class esri/widgets/smartMapping/support/utils.
  • Added class esri/widgets/Spinner/SpinnerViewModel.
  • Added class esri/widgets/TimeSlider/TimeSliderViewModel.
  • Added class esri/widgets/TimeSlider.
  • Added event layerview-create-error to esri/layers/BaseDynamicLayer.
  • Added event layerview-create-error to esri/layers/BaseElevationLayer.
  • Added event layerview-create-error to esri/layers/BaseTileLayer.
  • Added event layerview-create-error to esri/layers/BingMapsLayer.
  • Added event layerview-create-error to esri/layers/BuildingSceneLayer.
  • Added event layerview-create-error to esri/layers/CSVLayer.
  • Added event layerview-create-error to esri/layers/ElevationLayer.
  • Added event layerview-create-error to esri/layers/GeoJSONLayer.
  • Added event layerview-create-error to esri/layers/GeoRSSLayer.
  • Added event layerview-create-error to esri/layers/GraphicsLayer.
  • Added event layerview-create-error to esri/layers/GroupLayer.
  • Added event layerview-create-error to esri/layers/ImageryLayer.
  • Added event layerview-create-error to esri/layers/IntegratedMeshLayer.
  • Added event layerview-create-error to esri/layers/KMLLayer.
  • Added event layerview-create-error to esri/layers/Layer.
  • Added event layerview-create-error to esri/layers/MapImageLayer.
  • Added event layerview-create-error to esri/layers/MapNotesLayer.
  • Added event layerview-create-error to esri/layers/OpenStreetMapLayer.
  • Added event layerview-create-error to esri/layers/PointCloudLayer.
  • Added event layerview-create-error to esri/layers/SceneLayer.
  • Added event layerview-create-error to esri/layers/StreamLayer.
  • Added event layerview-create-error to esri/layers/TileLayer.
  • Added event layerview-create-error to esri/layers/UnknownLayer.
  • Added event layerview-create-error to esri/layers/UnsupportedLayer.
  • Added event layerview-create-error to esri/layers/VectorTileLayer.
  • Added event layerview-create-error to esri/layers/WebTileLayer.
  • Added event layerview-create-error to esri/layers/WMSLayer.
  • Added event layerview-create-error to esri/layers/WMTSLayer.
  • Added event layerview-create-error to esri/views/MapView.
  • Added event layerview-create-error to esri/views/SceneView.
  • Added event layerview-create-error to esri/views/View.
  • Added events edits, layerview-create-error to esri/layers/FeatureLayer.
  • Added method clone to esri/portal/PortalItem.
  • Added method createElevationSampler to esri/geometry/support/meshUtils.
  • Added method createQuery to esri/views/layers/CSVLayerView.
  • Added method createQuery to esri/views/layers/FeatureLayerView.
  • Added method createQuery to esri/views/layers/GeoJSONLayerView.
  • Added method createQuery to esri/views/layers/SceneLayerView.
  • Added method createQuery to esri/views/layers/support/FeatureFilter.
  • Added method debounce to esri/core/promiseUtils.
  • Added method fromJSON to esri/tasks/support/ImageServiceIdentifyParameters.
  • Added method fromJSON to esri/WebMap.
  • Added method generateRasterInfo to esri/layers/ImageryLayer.
  • Added method getThemes to esri/renderers/smartMapping/symbology/location .
  • Added method getThemes to esri/renderers/smartMapping/symbology/size .
  • Added method intersection to esri/TimeExtent.
  • Added method renderDotDensityPreview to esri/symbols/support/symbolUtils.
  • Added method toExportImageJSON to esri/layers/support/Sublayer.
  • Added method tryFatalErrorRecovery to esri/views/MapView.
  • Added method tryFatalErrorRecovery to esri/views/SceneView.
  • Added method tryFatalErrorRecovery to esri/views/View.
  • Added methods createClosestFacilityTask, createElevationLayers, createGeometryService, createPrintTask, createRouteTask, createServiceAreaTask to esri/portal/Portal.
  • Added methods createElevationSampler, queryElevation to esri/layers/BaseElevationLayer.
  • Added methods emit, hasEventListener, on to esri/widgets/FeatureTemplates/FeatureTemplatesViewModel.
  • Added methods getField, getFieldDomain to esri/layers/buildingSublayers/BuildingComponentSublayer.
  • Added methods getField, getFieldDomain to esri/layers/SceneLayer.
  • Added methods getSchemeByName , getSchemesByTag to esri/renderers/smartMapping/symbology/color .
  • Added methods getSchemeByName , getSchemesByTag to esri/renderers/smartMapping/symbology/heatmap .
  • Added methods getSchemeByName , getSchemesByTag , getThemes to esri/renderers/smartMapping/symbology/predominance .
  • Added methods getSchemeByName , getSchemesByTag , getThemes to esri/renderers/smartMapping/symbology/relationship .
  • Added methods getSchemeByName , getSchemesByTag , getThemes to esri/renderers/smartMapping/symbology/type .
  • Added properties activeFilterId, filters, maxScale, minScale to esri/layers/BuildingSceneLayer.
  • Added properties anchor, cap, height, join, profile, profileRotation, width to esri/symbols/PathSymbol3DLayer.
  • Added properties cap, join to esri/symbols/LineSymbol3DLayer.
  • Added properties description, valueType to esri/layers/support/Field.
  • Added properties dotBlendingEnabled, dotValue, seed to esri/renderers/DotDensityRenderer.
  • Added properties editingInfo, fieldsIndex to esri/layers/FeatureLayer.
  • Added properties fatalError, timeExtent to esri/views/MapView.
  • Added properties fatalError, timeExtent to esri/views/SceneView.
  • Added properties fatalError, timeExtent to esri/views/View.
  • Added properties fieldsIndex, maxScale, minScale, outFields to esri/layers/SceneLayer.
  • Added properties fieldsIndex, timeInfo to esri/layers/StreamLayer.
  • Added properties fullTimeExtent, interval to esri/layers/support/TimeInfo.
  • Added properties interpolation, legendEnabled, noData, noDataInterpretation, objectIdField, serviceRasterInfo, timeInfo to esri/layers/ImageryLayer.
  • Added properties maskIsAlpha, validPixelCount to esri/layers/support/PixelBlock.
  • Added properties maxItemCount, renderingRules, returnPixelValues, timeExtent to esri/tasks/support/ImageServiceIdentifyParameters.
  • Added properties maxScale, minScale to esri/layers/IntegratedMeshLayer.
  • Added properties maxScale, minScale to esri/layers/PointCloudLayer.
  • Added properties maxSliderValue, minSliderValue to esri/renderers/support/AuthoringInfo.
  • Added properties selectedItems, selectionEnabled to esri/widgets/LayerList.
  • Added property availableCreateTools to esri/widgets/Sketch.
  • Added property availableFields to esri/views/layers/SceneLayerView.
  • Added property basemapLegendVisible to esri/widgets/Legend.
  • Added property basemapLegendVisible to esri/widgets/Legend/LegendViewModel.
  • Added property fieldsIndex to esri/layers/CSVLayer.
  • Added property fieldsIndex to esri/layers/GeoJSONLayer.
  • Added property lastRoute to esri/widgets/Directions.
  • Added property locationType to esri/widgets/Search/LocatorSearchSource.
  • Added property orientationInfo to esri/layers/support/AttachmentInfo.
  • Added property outFields to esri/layers/buildingSublayers/BuildingComponentSublayer.
  • Added property ownerFolder to esri/portal/PortalItem.
  • Added property returnTopmostRaster to esri/popup/LayerOptions.
  • Added property timeInfo to esri/layers/MapImageLayer.
  • Added support for asynchronous interceptors by allowing the BeforeInterceptorCallback to be able to also return a Promise.
  • Added the parameter ignorePadding to the MapView.takeScreenshot() and SceneView.takeScreenshot() methods.
  • Added the parameter locationType to the addressToLocations(), addressesToLocations(), and locationToAddress() methods of the Locator Task.
  • Added the property fetchFeatures to the Popup.open() and PopupViewModel.open() methods' options .
  • Added the property locationType to the SearchProperties of the Directions widget.
  • Enhanced the KMLLayer class to better honor the default visibility of sublayers read from the XML.
  • Enhanced the labelClass.where property to accept more advanced SQL statements.
  • Enhanced the Legend widget to support date/time formatting for layers using SmartMapping.
  • Enhanced the placement of labels around extruded polygons in 3D SceneViews.
  • Updated the Esri Icon Font value for 2D MapViews to be CalciteWebCoreIcons , which is the same as for 3D SceneViews.
  • Updated the Search widget sources property to be of type SearchSource.
  • The IdentityManager is now only loaded when needed.
    was changed from a synchronous to an asynchronous function. was changed from a synchronous to an asynchronous function.
  • As part of performance optimizations, incorrect polygon geometries that don't follow the expected clockwise order, no longer display. Polygon rings should be clockwise, with counterclockwise rings considered holes.
  • Changed locatorTask.locationToAddress() arguments from (location, distance, requestOptions) to now accept (params, requestOptions) . The params object has two properties: location and locationType .
  • Changed the behavior for the queries queryExtent(), queryFeatureCount(), queryFeatures() and queryObjectIds() in SceneLayerView that the required fields needs to be defined with SceneLayer.outFields in advance.
  • Changed the behavior of color in SceneView to be consistent with MapView. If the color value of a graphic is set to null it will display transparent.
  • Full SQL support is now provided for where clauses on the LabelClass in 3D. Old where clauses that didn't implement strict SQL syntax might break.
  • Moved classes Search, SearchLayer and SearchLayerField from webscene.applicationProperties to the webdoc.applicationProperties module, common for WebMap and WebScene.
  • Removed actionsMenuEnabled property from Popup.
  • Removed dotBlendingEnabled and referenceDotValue properties from DotDensityRenderer.
  • Removed distance parameter from esri/widgets/Search and esri/tasks/Locator as it is deprecated and no longer recognized by the World Geocoding Service.
  • Removed localSearchOptions and locationToAddressDistance properties from esri/widgets/Search. These properties were deprecated at version 4.11.
  • Removed material property from the base class Symbol3DLayer. With this new behavior, subclasses of Symbol3DLayer implement the material property independently.
  • Removed noData property from ImageServiceIdentifyParameters.
  • Removed timeExtent property from TimeInfo. Use fullTimeExtent property instead.
  • Replaced esri/widgets/ColorSizeSlider with esri/widgets/smartMapping/ColorSizeSlider.
  • Replaced esri/widgets/ColorSlider with esri/widgets/smartMapping/ColorSlider.
  • Replaced esri/widgets/SizeSlider with esri/widgets/smartMapping/SizeSlider.
  • The PopupTemplate's content and/or title can no longer be set using a wildcard, e.g. * . Instead, set the Popup's defaultPopupTemplateEnabled property to true.
  • The DateString , DateFormat , and NumberFormat formatter functions are no longer supported when used with a PopupTemplate's content and/or title . Instead, set it via the FieldInfo'sfieldInfoFormat.
  • The noDataValue parameter is now nested within the options parameter when using ElevationLayer.fetchTile() method.
  • Use the new esri/intl module and its respective methods in places referencing the esri/core/lang.substitute() , dojo/number.format() , and dojo/date.format() methods.
  • Using parameterized functions in a PopupTemplate's content and/or title are no longer supported.
  • When neither height , nor width are set for PathSymbol3DLayer then the symbol doesn't render. This is a breaking change from previous versions when not setting size used to renderer the symbol with a height and a width of 1 meter.

Please refer to the Breaking Changes guide topic for a complete list of breaking changes across all releases of the 4x API.

Bug fixes and enhancements

  • BUG-000117500: Fixed an issue where setting ImageryLayer.definitionExpression only worked after panning or zooming the map.
  • BUG-000117587: Circle.clone() now works as expected.
  • BUG-000117981: LocatorSearchSource.popupTemplate now works as expected.
  • BUG-000118992: Fixed an issue where using the mouse to zoom into the MapView did not work correctly if created using constraints.
  • BUG-000119163: Fixed an issue when adding a feature layer with a HeatmapRenderer multiple times returned inconsistent symbols.
  • BUG-000119175: Updated the documentation of PictureMarkerSymbol to clearly indicate the maximum allowed height and width of picture marker symbols.
  • BUG-000119179: The Popup widget's action button now displays properly while in IE 11.
  • BUG-000119321: Fixed an issue where a PictureMarkerSymbol was unable to clear if a map was navigated while graphics were drawing.
  • BUG-000119461: Web Map Service (WMS) used as basemap layers now display as expected when brought in as a WebMap.
  • BUG-000119699: Fixed an issue with the Directions widget UI when working with Internet Explorer 11.
  • BUG-000119708: Fixed an issue with printing sublayers contained in a group layer of MapImageLayer when the Allow per request modification of layer order and symbology capability is enabled on ArcGIS Server.
  • BUG-000120221: Fixed an issue where some WMTSLayers sent incorrect requests and failed to display as expected.
  • BUG-000120806: Fixed an issue where layers would disappear from the view when using the Locate widget in Internet Explorer 11 or Edge.
  • BUG-000121020: Fixed an issue where zooming in on specific basemap layers failed to zoom as expected.
  • BUG-000121089: Fixed an issue when using an integer field in the LayerSearchSource of the Search widget.
  • BUG-000121150: Fixed Attribution widget to update directly after reordering of layers (without having to pan/zoom first).
  • BUG-000121232: Fixed an issue with the Search widget not providing accurate results when using a FeatureLayer in a geographic coordinate system.
  • BUG-000121323: Fixed an issue where symbolizing a point hosted feature service by symbology in ArcGIS Online using Arcade does not symbolize correctly in Map Viewer.
  • BUG-000122064: Fixed an issue where some WMTSLayers were rendered with reduced quality on lower DPI screens.
  • BUG-000122084: Fixed VectorTileLayer dark basemap displaying a lower LOD than expected in a SceneView.
  • BUG-000122246: Fixed some inconsistent behavior with the MapView.updating property.
  • BUG-000122340: Fixed an issue where using the ESC (escape) key while editing via the Editor widget would not allow subsequent edits while editing a single layer.
  • BUG-000122342: Fixed an issue where a WMTSLayer would not redraw all tiles when zooming out if the source was an OGC WMTS layer with multiple layers.
  • BUG-000122380 & BUG-000122674: Fixed an issue with the zoom extent of a VectorTileLayer when not added as a basemap.
  • BUG-000119175: Updated documentation for PictureMarkerSymbol height and width limitations. : Fixed an issue in the FeatureForm widget where updating input and then clicking to another entry would force the cursor focus out of existing input box. : Fixed an issue where the ImageryLayer.redraw() method didn't update the canvas with the newly filtered data.
  • ENH-000119326: Added the parameter ignorePadding to the MapView.takeScreenshot() and SceneView.takeScreenshot() methods to allow padded areas to be included in the screenshot.
  • Fixed an issue where the Scalebar widget would display incorrectly when zooming out and the view is larger than the width of the world.
  • Fixed an issue where the Track widget would not allow cancelling while waiting for the user to allow location access on their browser.
  • Fixed an issue where white lines would sometimes display between tiles on iOS devices.
  • Fixed an issue with KMLLayerView properties not getting populated when the updating property is set to false .
  • Fixed an issue with MapImageLayer where popups displayed for grouped sublayers that have a non-visible parent.
  • Fixed an issue with VectorTileLayer lines display at very large scales near tile boundaries.
  • Fixed an issue with the initialization process of the Directions widget becoming out of sync.

Version 4.12 of the ArcGIS API for JavaScript uses ArcGIS Arcade 1.7 (since 4.12), Dojo 1.14.2 (since 4.11), dgrid version 1.2.1 (since 4.5), and dstore version 1.1.2 (since 4.5). From Dojo 5 we use @dojo/framework version 5.0.4 (since 4.12).


The 100 largest wildfires in the province of Quebec from 1976 to 2019.

Web Experience Direct link: https://experience.arcgis.com/experience/b7a0987afdb1486fb97532788261cfd6/

Project background

The idea for this project originated from a curiosity about the numerous environmental catastrophes that the populace is often unaware of. Especially wildfires. In the last few years, every summer’s news cycle is dominated with terrible reportages about wild fires rampaging in California, British Columbia or Alberta, and rightly so, but it is often only the largest that get mentioned on TV.

Myself being from the province of Quebec, I became curious about the wildfires that happen in my home province because I haven’t heard of them quite as often as the ones in the US or the Canadian West. Fortunately, a dataset compiling data on the wildfires in the province was available on the Federal Government open data website. However, since 1976, which I assume is the year the government started compiling data on the phenomena, 60 799 wildfires happened. Since this project focuses specifically on the online aspect of things, this amount of polygons would either be impossible to draw completely or it would take too much time to draw each of the 60 799 polygons. I juggled with multiples possible solutions to remediate the issue, such as using a smaller temporal scale, but it all ultimately depended on the platform I would choose to portray the data on. Speaking of which, here’s a small description of ArcGIS Web Experience Designer.

Finding a platform to portray the data depended on my familiarity with it. Unfortunately, online GIS wasn’t my forte and I only knew of ArcGIS Online and its Story Maps. However, I felt that Story Maps were not novel enough. That’s when I happened upon the Dashboard and the Web Experience creators available on ArcGIS Online. After fiddling with both, I decided to settle on the Web Experience to portray the data.

The ArcGIS Online Web Experience is, according to their own website, a tool that allows the “creation of unique web experiences using flexible layouts, content, and widgets that interact with 2D and 3D data”. It creates a mobile-friendly output built from scratch without coding. It creates interactive maps that are formatted to be viewable and interactable on desktop, tablet and phones. It has 26 widgets available to put on the map, going from a legend to a 3D data viewer tool. For this project, I used a few simple widgets that would enhance the experience for users, which are going to be described further down.

Data and Methods

The data and methodology for this project are pretty straightforward and most of the work went into the web experience designer (to assure the optimal experience on desktop and mobile alike). The data for this project came from a vast dataset on forest fires available on the federal government’s open data website. On their page (link provided above), it is mentioned that the data was made available by multiple municipalities and government (see figure 2). However, they do also mention that the creator of the dataset is the “Secteur des Forêts-Direction des inventaires forestiers” and “Direction de la protection des forêts”, which mean “The Forest Sector-Forestry inventory direction” and “Direction of the protection of forests” respectively.

Figura 2: Warning on data source on Open Data Website.

Anyway, the dataset contains data on every forest fires that occurred in the province of Quebec between 1976 and 2019. That includes geometric data on each of the polygons, the year the fire started, the way it started, the year it was “extinguished” and the superficies of the fire in hectare. Sadly, some of the variables are abbreviated and their meaning wasn’t mentioned on the website and couldn’t be used in this project, but I didn’t need them for what I intended to accomplish.

At first, I wanted to map all polygons, all 60 799, but I decided otherwise due to the sheer size of the dataset. Then, I filtered the data by the year the fires started and extracted all the data from 2013 to 2019. I hoped to display all the fires of the last few years, but even that was too big. There were a bit less than 10 000 polygons and ArcGIS Online was already giving a warning about it not being able to draw the entire thing. So, I was looking for a solution to remediate the problem of having too many polygons to draw and I figured that showing the 100 largest fires since 1976 would be indeed a very interesting, and informative, way to show what I wanted.

To that end, I filtered by the area burnt by the fire, which is in hectare, and extracted the top 100 fires. The data extraction part was done offline, on ArcGIS Pro, because it was simply faster and easier to manipulate the dataset. I then uploaded the 100 largest fires to the ArcGIS Online Platform to make a map because the Web Experience Designer couldn’t create its own map, I had to make one beforehand and then upload it to the Web Experience Designer.

Once the map was done, I could then start working toward the creation of the web experience. figura 3 shows the user interface of the Web Experience Designer.

Figura 3: Web Experience Desktop U.I.

The Web Experience Designer is fairly straightforward to use and is designed to be usable by people without experience in coding. All of its widgets and tools are available on the left side of the screen and usable with a simple drag and drop. Every widgets/tools are then adjustable in their settings that appears to the right side of the screen. For this project, I used the following widgets/tools: Image (which is, in fact, the legend), table, share and the button widget. Here’s a small description of each and how I used them

Image/Legend: Sadly, legends on ArcGIS Online are very hard to modify without modifying the entire dataset and its variables and the Web Experience Designer could only use the legends from ArcGIS Online. In my case, the original legend only said “SUPERFICIE” as the field for the superficies of the fires. That wasn’t exactly what I wanted and the workaround that I used was to simply create the legend I wanted in ArcGIS Pro and then screenshot it and upload it as an image to the web experience. The result (Figure 4) shows the end result.

Figura 4: Example of the W.E.D. Legend on the image widgets.

Mesa: The table widget is simple. It allows the users to see and interact with the data table of the dataset. It allows them to see almost everything there is to see in the data. For simplicity’s sake, I hid some of the more technical columns, especially those populated with the geometry data. The table only shows the fire ID, the size and the year it started. The goal was to make the experience most straightforward. The table also allows selecting specific fires without selecting them on the map (even though you also can select directly from the map).

Cuota: The share widget is a simple share button that any good online experience should have nowadays. I allow the users to share the link to the web experience on a multitude of social media.

Button: This widget was put on the web experience to allows the users to directly go to the source of the dataset. The link to the open data portal was already available in the web experience’s description, but this button makes it easier to use on mobile devices since you only need to click it and the link to the dataset’s source is made available.

So after making sure every widget works, the next step was to make sure that the web experience is good for each device (computers, tablets and phones). That means changing the formatting of the web experience to fit the resolution and screen sizes of each device.

Finally, the last step of the creation process was to make sure that the map was correctly interactable. That means that I tested my own web experience and verified that the polygons were selectable and that the information for the polygon appeared on screen. I made sure the data table was correct (though it seems to bug a bit as it in beta stage still) and that the polygons were drawn correctly.

Then there it was. The Web Experience was made. Only needed to write descriptions and other small paragraphs on the info page of the web experience and then publish it. I thoroughly enjoyed using the Web Experience Designer to create an interactive map, but, as much I as liked it, there were many limitations that I had to overcome.

Limitaciones

The limitations of this project were many, but minor. The very first one I encountered was the lack of a clear description of the variables and the abbreviations used in the data. Maybe I haven’t seen it on their page or missed it in the metadata, but I couldn’t find an explanation for some of the abbreviations they use in the data to describe the origin point (human-caused or naturally caused forest fires) and in some other variables. Knowing those could’ve led me to display the data in a much different way.

Another limit I encountered were the online capabilities of ArcGIS Online, such as the inability to draw large amounts of data, and the lack of modification to legend’s title. I could easily find other solutions by doing it offline in ArcGIS Pro, but not everyone has that ability, so I’d count that as a limitation encountered in this project.

The Web Experience Designer, while quite advanced and easy to use, was a bit of a chore to understand its intricacies and has a steep learning curve for the more in-depth features of the platform. By that, I mean that this project only uses a fraction of the options available in the Web Experience Designer. There are more widgets available, but every object part of the experience can be given actions to perform set by specific triggers. For example, If the user clicks on a polygon for a fire, it is possible to set the data table of this specific polygon to appear (in a multitude of ways) on the map. There were also many other actions and triggers to use, but the platform doesn’t make it easy for the new users to utilize the full potential of the designer.

Future Work

In a perfect world where unlimited resources were available for this project, I would make it so the web experience would display the 100 largest forest fires of the province of Quebec for every year since the start (1976).

In other words, I would set-up a año button for each of the years in the dataset. Then, the users would simply click on one (i.e. 2012) and the web experience would display the 100 largest forest fires of that chosen year. That way, the users could see a much larger dataset that would be much more informative. The top 100 forest fires show also focuses on the southern half of the province since most of the population (about 95%) lives there. So, with unlimited resources, the dataset would also include the forest fires that occurred in the northern half of the province.

In a perfect world, the dataset could include the entirety of Canada so that a top 100 forest fires could be done for each province and for every year since 1976. That would be a massive dataset however.

Utility of the project

The goal of this project was to inform the population on the locations and sizes of the wildfires in the province of Quebec. Specifically, it aims to inform fellow Quebecers of the largest forest fires that occurred in their own province. This dataset can be updated every year, if needed, to display a more up-to-date version of the wildfires. Its interactive aspects allow the users to see the information of every fire that occurred (ID, year, size, etc..). It can also be used for forestry companies and environmental agencies that wish to visualize the largest forest fires.


Assignment: Build an App of Your Own

Assignment: Build an App of Your Own

This lesson's graded assignment is in two parts. Here are some instructions for completing the assignment.

Part I

First, I'd like you to build a web mapping app with Esri technology (using either a configurable template or the Web AppBuilder). You are welcome to select the app's subject matter (perhaps something from your work) and the functionality it provides. If you're unsure of what to map, you might try searching ArcGIS Online, where there is a wealth of data.

Details matter! Make sure your app looks professional by modifying anything that looks unfinished. Text a user sees, whether in a widget, popup, or elsewhere should be human-readable (or have good aliases) and not look like a default or coded name. Also choose appropriate symbology and consider hiding unneeded fields.

You will have another opportunity to select your own final project at the end of the term. Keep that in mind when selecting data and/or functionality to incorporate into this project.

Part II

There are other web mapping platforms that offer features similar to ArcGIS Online (CARTO, MapBox, SimpleMappr, MangoMap, MapHub, MapLine, WorldMap). For the second part of this week's assignment, I'd like you to experiment with one of these platforms, then share your thoughts on it in a recorded video. Here are some detailed instructions:

    . The sign-ups will be set up such that each platform will be covered by roughly the same number of students. (If there's another platform that you'd like to evaluate, check with the instructor first.)
  1. Limit your video to 5 minutes.
  2. In your video, be sure to discuss the following points:
    - Cost
    - Ease of use
    - Data formats supported
    - How it compares to ArcGIS Online (similarities, differences, things you like better)
    - Can you build an app or just a map? (I.e., Is it possible to add functionality similar to Esri's Web AppBuilder widgets?)
  3. What I'm looking for in this video is for you to talk through a demo of the platform. You may choose to summarize your major points through slides, though that's not required. You are not expected to have any face time in the video, though you certainly can if you like. There is a short tutorial on recording videos with Screencast-O-Matic in the course orientation, though you're welcome to record your video with some other software.

Deliverables

This project is one week in length. Please refer to the Canvas course Calendar for the due date.

  1. Post a link to your Esri app to the Lesson 1 Discussion Forum. (40 of 100 points)
  2. Post a link to your video review of a non-Esri web mapping platform to the Lesson 1 Discussion Forum (and/or Media Gallery in Canvas). This could be in the same or a different post as #1 above. (40 of 100 points)
  3. As part of your discussion forum post, include some reflection on what you learned from the lesson, how you might apply what you learned to your job, and/or concepts that you found to be confusing (minimum 200 words). (20 of 100 points)
  4. Complete the Lesson 1 quiz.

Map legends

I felt that I did not need a legend on this map, since everything was explained through labels. But if you want to add one, reopen the Compilation ventana.

1. Open the Procesos ventana.

2. Check Map Legend cuadro y haga clic en Create Legend.

A new group layer will be added to your Illustrator document with a ready-made legend.

Your map is complete! You didn’t have to trace the coastline or roads from an aerial photo or another map. You were able to add locations using a simple text file, and you didn’t need to time yourself walking from the hotel to the Lighthouse Museum. And now guests at the Oceanland Inn don’t need to call an Uber. It’s a win-win.