Anuncios
Novedades de ArcGIS API for JavaScript (octubre de 2020)
Por Julie Powell y Björn Svensson
La actualización de octubre de la API de ArcGIS para JavaScript ya está aquí, y tiene un gran impacto con una variedad de nuevas funciones y mejoras. Un tema importante para la versión 4.17 es el rendimiento; en particular, si está trabajando con grandes conjuntos de datos, le recomendamos que pruebe sus aplicaciones con esta versión. Las mejoras de rendimiento se alcanzaron en las capas de entidades, todas las capas del lado del cliente y las capas de escenas de puntos. Exploremos algunos de los aspectos más destacados de esta versión.
Mejoras en el rendimiento de la capa de características
En cada lanzamiento, buscamos formas en las que podamos optimizar aún más el rendimiento. Esta versión trae mejoras de rendimiento críticas para las capas de características. Al igual que con casi todas las mejoras de rendimiento, el impacto y la mejora visual en las aplicaciones varía según las características de la aplicación, los datos que está cargando y las propiedades de los servicios en sí. Las aplicaciones que verán las ganancias de rendimiento más drásticas con esta versión son:
- Aplicaciones que utilizan una gran cantidad de atributos
- Aplicaciones con una gran cantidad de funciones (que requieren varias consultas de servidor por mosaico de funciones)
- Funciones que utilizan la simbología de relleno

Capas de flujo más estables y flexibles
Con la creciente demanda de aplicaciones que pueden visualizar y analizar fuentes de datos en tiempo real con un número vertiginoso de observaciones por segundo, hemos renovado StreamLayer de dos maneras:
- Más observaciones: lo habilitó para manejar flujos más rápidos con más datos
- WebSockets personalizados: se amplió para que funcione con WebSockets personalizados
Más observaciones
Con algunas secuencias que impulsan decenas a cientos de miles de observaciones por segundo a través de un WebSocket, StreamLayer debe poder adaptarse a las observaciones entrantes según las capacidades del cliente. Además, normalmente se espera que las aplicaciones web funcionen en equipos de escritorio y dispositivos móviles por igual, que varían en potencia de procesamiento y memoria disponible.
Con las últimas actualizaciones, StreamLayer mostrará las observaciones cuando sea posible y aplicará la lógica para manejar cuando las capacidades del cliente (como la memoria disponible y la potencia de procesamiento) no puedan manejar la velocidad de las actualizaciones. Con esta mejora, la aplicación no se queda sin memoria y el sistema se atasca. Una vez que estén listas, las actualizaciones se pueden parchear y ver en el mapa.
Consuma transmisiones de cualquier fuente
Antes de 4.17, StreamLayers trabajaba con los servicios de Esri Stream provenientes de ArcGIS GeoEvent Server o ArcGIS Velocity (anteriormente llamado ArcGIS Analytics for IoT). Con esta actualización, puede consumir transmisiones provenientes de su propio WebSocket personalizado, esencialmente datos provenientes de cualquier lugar. Los requisitos básicos para la ruta se describen en la documentación, como un tipo de geometría única, la inclusión de un campo de ID único y un campo de ID de pista. Consulte Referencia a un servicio de transmisión personalizado para obtener más información.
Capas del lado del cliente más rápidas
CSVLayer, FeatureLayer y GeoJSONLayer creados a partir de gráficos del lado del cliente ahora aprovechan un trabajador para almacenar los datos. Esto significa que puede realizar más consultas en las capas del lado del cliente en un hilo de fondo sin interferir con la interfaz de usuario.
Para conjuntos de datos más grandes, también puede notar que estas capas muestran la misma experiencia de carga progresiva (mejorada) descrita anteriormente para FeatureLayers. En lugar de esperar a que se cargue y analice un mosaico completo, las funciones se muestran tan pronto como están listas para mostrarse.

Capas de teselas vectoriales: mejor navegación y visualización
Las capas de teselas vectoriales tienen una experiencia mejorada al cargar e interactuar con el mapa. A medida que acercas y alejas el zoom y navegas por el mapa, los símbolos aparecen y desaparecen, lo que proporciona una transición suave entre los cambios de visibilidad. Las optimizaciones de los algoritmos para la eliminación de conflictos de etiquetas a lo largo de los límites de los mosaicos y durante la rotación del mapa resolvieron problemas en versiones anteriores con etiquetas superpuestas o cortadas que cruzaban los límites del mosaico.
La siguiente imagen ilustra los resultados del algoritmo de desconflicto de etiquetas actualizado, con la versión 4.16 (izquierda) y 4.17 (derecha).

Actualizaciones 3D
Nuevos patrones de relleno de polígono
Los nuevos patrones de relleno de polígono le permiten resaltar áreas en el terreno o capas de malla integradas. Puede aplicar el mismo patrón para todos los polígonos de la escena o clasificarlos según los atributos. En el siguiente ejemplo, los patrones de relleno poligonal se utilizan para visualizar áreas de desarrollo urbano.

Rendimiento de SceneLayer
Point SceneLayers ahora se cargan y muestran hasta dos veces más rápido al admitir la última versión 1.7 de la especificación I3S, lo que le permite renderizar escenas con una gran cantidad de símbolos de puntos de manera más eficiente. Similar a IntegratedMeshLayer y SceneLayers de objetos 3D, puede actualizar sus SLPK existentes utilizando la herramienta de conversión I3S para beneficiarse de estas mejoras de rendimiento. Para obtener más detalles, lea el tema de la guía Trabajar con capas de escena.

Mapeo de campanas y silbidos
Restringir la extensión del mapa visible
Además de las restricciones de rotación, escala y zoom ya admitidas en la vista, ahora puede restringir la navegación a un polígono o extensión. Esto es útil para enfocar a los espectadores en las ubicaciones relevantes y minimizar las distracciones de otras áreas del mapa. Entonces, por ejemplo, podría restringir la vista a los límites de una escuela, una ciudad o incluso un país.
vista constante = new MapView ({
contenedor: "viewDiv",
mapa,
extension: park.extent,
restricciones: {
geometría: parque
}
});
Animaciones de visibilidad de capa
Agregamos una animación de aparición y desaparición gradual a LayerView cuando la visibilidad de la capa cambia entre activada y desactivada en un mapa 2D.
Soporte de tiempo para WMSLayers
WMSLayer ahora admite capas que están habilitadas por tiempo. Puede usar el widget TimeSlider para animar sus capas durante un período de tiempo, o puede establecer un timeExtent en la capa para solicitar solo datos que se encuentren dentro de la extensión de tiempo dada. La propiedad timeInfo se establece en la inicialización de WMSLayer si la capa tiene una o más dimensiones de tiempo.

Actualizaciones de ráster: simbología vectorial y capas WCS
Mostrar datos ráster mediante símbolos vectoriales
Con la nueva clase VectorFieldRenderer, puede simbolizar datos ráster mediante símbolos vectoriales. Esto se usa a menudo para visualizar la dirección y magnitud del flujo en datos ráster de meteorología y oceanografía. La dirección del ráster define los ángulos, mientras que la magnitud del ráster define el tamaño del símbolo.

Nueva capa WCS
WCSLayer (beta) le permite mostrar datos ráster de un servicio de cobertura web de OGC.
Actualizaciones de widgets
Hay una variedad de actualizaciones para los widgets en esta versión. A muy alto nivel:
- Imprimir: este widget ahora expone nuevas propiedades y eventos para los desarrolladores que desean personalizar la experiencia de impresión. Por ejemplo, los desarrolladores pueden utilizar los eventos complete y submit para administrar los resultados y el comportamiento de la impresión.
- Marcadores: este widget está mejorado con la capacidad de agregar o editar una miniatura. Además, anteriormente, solo se almacenaba la extensión del marcador. Ahora los usuarios pueden crear marcadores que también capturan la escala y la rotación actuales.
- FeatureTable: este widget ha mejorado la accesibilidad y nuevo soporte para editar campos de fecha.
- FeatureForm: este widget tiene la capacidad de limitar los rangos mínimo / máximo para la entrada de fecha, así como si se debe incluir o no una entrada para la hora. Esto se logra configurando la nueva interfaz de usuario DateTimePickerInput.
- TableList: el nuevo widget TableList proporciona una forma de mostrar una lista de tablas dentro de un mapa.
Módulos ES - en desarrollo
Hemos avanzado hacia la entrega de la API como módulos ES, lo que le permitirá integrar fácilmente la API con marcos modernos y herramientas para desarrolladores. Este proyecto está actualmente en desarrollo y no está diseñado para su uso en aplicaciones de producción. Planeamos lanzar los módulos en versión beta en 4.18 con un lanzamiento de producción planeado para principios de 2021.
El consumo de la API con los módulos @ arcgis / core ES será una opción adicional junto con los módulos AMD existentes. Si lo desea, pruebe los módulos mientras están en desarrollo y proporcione comentarios a través del acceso anticipado / próximo repositorio.
Última versión con compatibilidad con IE11 / Edge Legacy
La compatibilidad con Internet Explorer 11 y Edge Legacy para su uso con ArcGIS API for JavaScript quedó obsoleta a partir de la versión 4.16. La versión 4.17 es la última versión compatible con los navegadores Internet Explorer 11 y Edge Legacy. Eso significa que las aplicaciones creadas con 4.18 y posteriores no funcionarán en IE11 / Edge Legacy. Se recomienda encarecidamente a los usuarios que se pasen a un navegador moderno como Mozilla Firefox, Google Chrome, el nuevo Microsoft Edge o Safari.
Consulte nuestros Requisitos del sistema actualizados para obtener más información.
Hay más…
Este blog es solo una descripción general de algunos de los aspectos más destacados del lanzamiento. Puede obtener más información sobre las últimas innovaciones en las notas de la versión y jugar con la colección de muestras 4.17 para familiarizarse con las nuevas capacidades.
Acerca del Autor
Julie Powell es gerente técnica de productos y se centra principalmente en la API de ArcGIS para JavaScript. Ella interactúa con una amplia comunidad de usuarios para mantener la conciencia y el conocimiento de las necesidades de la comunidad GIS, 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 útiles y de vanguardia utilizando el software ArcGIS. Julie presenta las tendencias de la tecnología GIS y las soluciones innovadoras en Esri Developer Summit, Esri International User Conference, Esri Latin American User Conference y otras conferencias regionales. Julie aporta diecisiete años de experiencia trabajando con líderes globales como Hewlett-Packard y Esri, entregando una variedad de soluciones de software tanto para el mercado empresarial como para el consumidor. Julie ha trabajado en una amplia gama de proyectos y actividades de consultoría, incluido el servicio como líder técnico de soluciones de mapas web para clientes estratégicos.
Más de 20 años de experiencia con mapas web. Actualmente es el ingeniero principal de proyectos del equipo de desarrollo de ArcGIS API for JavaScript en Esri.ト レ イ ル ラ ン ニ ン グ を す る の が 好 き で す。