Ya está disponible la API de ArcGIS para JavaScript 4.2

 

 

 

Ya está disponible la API de ArcGIS para JavaScript 4.2


Por Björn Svensson, Kristian Ekenes y Lloyd Heberlie

La API de ArcGIS para JavaScript 4.2 está disponible, introduciendo nuevos widgets, mapeo inteligente en 2D y 3D, mosaicos vectoriales en 3D, soporte para Arcade y nuevos eventos en MapView y SceneView.

Desarrollo de widget personalizado


Además de los widgets proporcionados por Esri, ahora es posible crear sus propios widgets personalizados usando el nuevo marco de widgets. Este marco le permite crear subclases fuera de la clase Widget. Para obtener más información al respecto, consulte el tema Guía de desarrollo de widgets, además de dos muestras nuevas que muestran esta funcionalidad:


Actualmente, LayerList y Print son los dos widgets que utilizan este nuevo marco. Los widgets listos para usar restantes (por ejemplo, Inicio, Búsqueda, etc.) se planifican para ser actualizados en versiones posteriores de la API.

Widgets de impresión y LayerList


Los widgets LayerList y Print han sido diseñados desde cero con una experiencia de usuario limpia y un diseño receptivo. Ambos siguen la arquitectura del modelo de vista del API para la extensibilidad y la personalización. 



Expresiones de Arcade en la visualización


Arcade es un lenguaje de expresión ligero diseñado para crear contenido personalizado, visualizaciones y etiquetas a través de la plataforma de ArcGIS. En la versión 4.2 de la API, Arcade se utiliza exclusivamente para visualizaciones personalizadas basadas en datos. En lugar de basar las visualizaciones en el valor del campo de una capa, los usuarios ahora pueden pasar una expresión a renderers y variables visuales. La expresión se ejecutará para cada característica, generando un símbolo basado en el valor devuelto. Esto es conveniente cuando un servicio no tiene los valores exactos que necesita. Arcade viene equipado con su propia biblioteca de funciones y permite a los usuarios escribir funciones personalizadas dentro de una expresión.



El fragmento siguiente muestra cómo puede escribir una expresión de Arcade que muestre la parte del voto ganado en una elección por el ganador para cada geografía en la capa.

// CANDIDATE1 and CANDIDATE2 are field values
var arcade = "var votes = [$feature.CANDIDATE1, $feature.CANDIDATE2];"
  // Sum() and Max() are built-in Arcade functions
  + "return ( Max(votes) / Sum(votes) ) * 100;";

renderer.visualVariables = [{
  type: "color",
  // valueExpression references the Arcade expression
  valueExpression: arcade,
  valueExpressionTitle: "Share of winner's votes",
  stops: [ ... ]
}];
Arcade es adecuado por diversas razones, incluida la posibilidad de guardar expresiones en elementos de capa y mapas web en ArcGIS Online o Portal for ArcGIS. Esto significa que las expresiones pueden ser creadas en aplicaciones y persistidas en mapas web a través de la plataforma de ArcGIS. En versiones futuras, los usuarios tendrán la capacidad de usarla en otros contextos, como el etiquetado.

Asegúrese de leer la documentación completa de Arcade para obtener detalles sobre su sintaxis y la página de guía de Arcade para obtener más ejemplos de su uso dentro de la API. Crear una visualización personalizada utilizando Arcade, muestra cómo Arcade se puede utilizar en este contexto.

Para una introducción y algunas ideas para cartografía usando Arcade, lea el contenido compartido en los artículos de blog publicados anteriormente.

 

Soporte de VectorTileLayer mejorado


La implementación de la VectorTileLayer ha sido reescrita para ser más estrechamente integrada con la API. Aún soporta completamente la especificación actual de Mapbox Style Specification (versión 8) y MapBox Vector Tile (versión 2.1). Las mejoras con esta primera versión de la nueva implementación de mosaicos vectoriales incluyen: soporte en 3D SceneView, soporte de derecha a izquierda (RTL) para etiquetas de mapa, soporte para cualquier referencia espacial compatible con ArcGIS y mejor visualización de etiquetas y símbolos en los límites de mosaico.



Misil Azimutal Equidistante de Corea del Norte

Nuevos eventos en MapView y SceneView


Los siguientes eventos de teclado y puntero ya están disponibles en MapView y SceneView:

  • Haga doble clic - se dispara después de hacer doble clic en la vista.
  • Arrastrar - dispara durante un arrastre de puntero en la vista.
  • Key-down - se dispara después de pulsar una tecla del teclado.
  • Key-up - se dispara después de que se suelta una tecla del teclado.
  • Mouse-wheel - se dispara cuando se desplaza un botón de rueda de un dispositivo señalador (normalmente un ratón) en la vista.
  • Puntero-abajo - se dispara después de presionar un botón del ratón, o un dedo toca la pantalla.
  • Pointer-move - se dispara después de que el ratón o un dedo en la pantalla se mueve.
  • Puntero-arriba - se dispara después de que se suelta un botón del ratón o se termina un toque de visualización.

Nubes puntuales


Los datos de nube de puntos se pueden visualizar usando PointCloudLayer y las nuevas clases de renderizador PointCloud. La visualización de nubes de puntos de diferentes maneras puede ayudar a extraer información importante. Con la API de JavaScript, los datos de la nube de puntos se pueden visualizar con valores RGB, valores únicos, colores continuos o valores estirados o roturas de clase.

Consulte la muestra de la capa de nubes de puntos para obtener más detalles sobre este tema.



API de consulta de elevación


Los valores de elevación, o valores z, en 3D SceneViews se pueden obtener para un punto determinado de un par de maneras. Una es a través del método hitTest(), que proporciona una elevación aproximada para un ScreenPoint determinado. A partir de la versión 4.2, ahora puede consultar valores de elevación más precisos para puntos y polilíneas directamente desde una ElevationLayer con el método queryElevation().

La imagen de abajo se enlaza a un ejemplo que muestra cómo puede consultar la elevación en la misma ubicación desde dos capas de elevación: una que representa la superficie antes de un deslizamiento de tierra y la otra después del deslizamiento de tierra. A continuación, puede calcular la diferencia de elevación basada en los resultados.



También asegúrese de revisar otra muestra nueva que demuestre cómo consultar Elevación a lo largo de una línea.

Mapeo inteligente mejorado


Las visualizaciones basadas en datos basadas en datos y simples pueden generarse usando mapeo inteligente usando métodos en uno de los cuatro objetos nuevos en la API para generar representadores con símbolos predeterminados inteligentes:

  • Ubicación: genera un símbolo único para todas las entidades de una capa.
  • Color - genera visualizaciones orientadas a datos con color continuo basado en un valor de campo numérico.
  • Size - genera visualizaciones orientadas a datos con tamaño continuo basado en un valor de campo numérico.
  • UnivariateColorSize - genera visualizaciones con rampas continuas de color y tamaño basadas en un único valor de campo numérico. Este tipo fue diseñado específicamente para las visualizaciones usando símbolos 3D.
También se agregaron tres widgets: ColorSlider, SizeSlider y UnivariateColorSizeSlider que proporcionan a los usuarios la posibilidad de explorar fácilmente patrones espaciales en sus datos y actualizar visualizaciones basadas en datos para resaltar matices alternos de los datos, como enfatizar valores atípicos, características similares o características con valores Por encima o por debajo de un cierto punto.


Los flujos de trabajo de los generadores de visualización están diseñados para permitir a los usuarios explorar datos desconocidos y/o guardar visualizaciones personalizadas en elementos del portal (capas, webmaps, webscenes) con una interfaz de usuario sencilla.

Las siguientes son nuevas muestras que demuestran cómo los generadores de representación y los widgets deslizantes funcionan juntos.


Animaciones de goTo () personalizadas


Cuando la orientación del usuario y la correlación entre las dos ubicaciones es importante cambiar el centro de la vista a una nueva ubicación debe hacerse sin problemas. Con este lanzamiento la duración de la animación, así como una función de alivio se puede dar para un mejor control del modo de animación.

En el ejemplo siguiente la velocidad de la cámara crece gradualmente (a la potencia de 3), pero limita la duración a 4 segundos.


view.goTo(newLocation, {
  duration: 4000,
  easing: "in-cubic"
});

Marco de trabajadores


El marco de trabajo ayuda a mejorar el rendimiento mediante la descarga de tareas costosas desde el punto de vista computacional a los subprocesos de fondo, sin bloquear la interfaz de usuario que se ejecuta en el subproceso principal.

Echa un vistazo a las notas de la versión 4.2 para obtener información adicional acerca de las actualizaciones a otros recursos y una lista más detallada de las mejoras de la API. Para obtener una visión general de lo que fue lanzado con 3.19 a principios de esta semana, echa un vistazo a este anuncio de blog. 


Lea el artículo original | Para más información sobre las licencias de ArcGIS y todas sus extensiones contacte a uno de nuestros ejecutivos | Visítenos en www.sigsa.info

Entradas más populares de este blog

ArcGIS 10.5: Una nueva versión del SIG Empresarial

¡Nuevo Curso Gratuito de GeoPlanner!

Carlos Salmán: La trayectoria en la comunidad geoespacial