Novedades de los SDK de ArcGIS Maps para aplicaciones nativas 300.0
Por Nick Furness y Rex Hansen, Mike Branscomb y Shimona Lahiri
El lanzamiento de la versión 300.0 de los SDK de ArcGIS Maps para aplicaciones nativas representa un hito importante para los SDK. Ofrecemos nuevas funcionalidades clave, incluidas capacidades totalmente novedosas para los SDK móviles, que dan lugar a una nueva categoría de aplicaciones SIG.
A medida que pasamos de la versión 200.8 a la 300.0, la atención se centra en ampliar las capacidades, con tres importantes incorporaciones que marcan hitos importantes para los SDK de Native Maps: escenas locales, capas de escenas de edificios y un conjunto completamente nuevo de herramientas de análisis espacial.
Escena local
Los SDK de Native Maps admiten 3D desde la versión 100.0 (hace unos diez años), pero siempre en un contexto global. Esto implica usar el sistema de coordenadas geográficas WGS84 para mostrar los datos y, para un rendimiento óptimo, generalmente significa que los datos también deben publicarse en WGS84 para evitar tener que reproyectarlos sobre la marcha. La reproyección consume recursos de la CPU, lo que en dispositivos móviles puede acelerar el consumo de batería. Publicar una copia independiente de los datos en WGS84 ayuda a evitarlo, pero a menudo añade una sobrecarga innecesaria.
Accede a la vista de escena local. Este es un componente de interfaz de usuario completamente nuevo que puede agregar a su aplicación, lo que le permite trabajar con una escena local, ya sea que provenga de una escena web, un paquete de escena móvil en el dispositivo o creada mediante programación. Una escena local puede usar cualquier sistema de coordenadas proyectadas, compatible con sus datos publicados y flujos de trabajo locales.

Una escena local, recortada hasta cierto punto.
La vista de escena local se ha diseñado desde cero para aprovechar al máximo las modernas arquitecturas de procesamiento de GPU, lo que ofrece algunas ventajas clave:
- Hemos optimizado el rendimiento separando la gestión de datos de la representación de datos, lo que permite que las CPU y las GPU se centren en lo que mejor saben hacer y, al hacerlo, reduce la carga y el consumo de batería.
- Esto nos permite gestionar la memoria de forma más eficiente, respondiendo a situaciones complejas y a la presión de memoria de manera más eficaz. Por ejemplo, ahora podemos distinguir entre la presión de memoria causada por datos complejos y la causada por grandes volúmenes de datos, y responder de forma diferente a cada una.
- El nuevo sistema puede aprovechar las optimizaciones integradas en los datos 3D, como los símbolos multi-LOD, para mostrar los datos con la mejor fidelidad para un dispositivo, escena y punto de vista determinados.
- Esta nueva canalización también nos permite respetar la renderización basada en la física (PBR) moderna de glTF, como los materiales, las emisiones, la oclusión ambiental y mucho más, para que sus datos realmente brillen.
Todo esto se combina para ofrecer un mejor rendimiento, una visualización más atractiva de tus datos y una mayor duración de la batería en dispositivos móviles.

Compatibilidad con emisiones PBR de glTF en la vista de escena local de los nuevos SDK de Native Maps.
Nuevas API de escena
Un conjunto de nuevas API admiten la vista de escena local, proporcionando capacidades definidas en la especificación de escena web .
- Ahora, las escenas incluyen una propiedad que describe el modo de visualización: "local" o "global". Esta propiedad se obtiene de una escena web o móvil, o bien, si se crea la escena mediante código, se puede especificar en el constructor de la escena. Si no se especifica el modo de visualización, se asumirá que es global, por lo que el código existente de la versión 200.x seguirá funcionando sin cambios.
- El control de la representación del entorno ahora se define en la propia escena.
- Las escenas locales te permiten definir un área de recorte para limitar la experiencia de tu aplicación a un área de interés.
También hay nuevos eventos que te alertan si intentas usar una escena global en una vista de escena local, o una escena local en una vista de escena global, o cuando la vista de escena local está respondiendo a la presión de memoria.
Como componente nuevo, la vista de escena local carece de algunas funcionalidades. Por ejemplo, esta primera versión se centra en contenido 3D y aún no admite capas de características ni superposiciones gráficas. Puedes obtener más información sobre estas limitaciones y nuestros planes para solucionarlas en la documentación de las vistas de escena para los SDK de .NET , Flutter , Kotlin , Qt y Swift .
Esta nueva experiencia de escena local se basa en los mismos flujos de trabajo probados y comprobados que han impulsado los SDK de ArcGIS Maps para Unity y Unreal Engine desde 2022. Y ese es el secreto de cómo podemos ofrecer la próxima característica clave del SDK 300.0…
Capa de escena de construcción
La capa de escena de edificio es un tipo de capa 3D fundamental para los flujos de trabajo de arquitectura, ingeniería y construcción (AEC), ya que representa modelos de información de edificios complejos con gran detalle y alto rendimiento. Ahora, por primera vez, está disponible como parte de la nueva experiencia de escena local de los SDK nativos. Las capas de escena de edificios no solo tienen un aspecto impresionante, sino que también permiten explorar en detalle los componentes individuales de los modelos de edificios complejos, tanto visualmente como mediante el acceso a los datos subyacentes a través de la API.

Observando el interior de una capa de escena de edificio en los SDK de Native Maps.
Los modos de rayos X y estructura alámbrica permiten visualizar fácilmente el modelo del edificio, y además, controlar qué capas e incluso qué elementos dentro de cada capa se muestran. Puedes seleccionar e identificar elementos en el modelo para leer sus atributos y visualizar información adicional. Puedes modificar los renderizadores de cada subcapa del modelo sobre la marcha para resaltar capas o elementos específicos. Y si tus modelos de edificios están configurados con capacidades PBR de glTF, como materiales y emisiones, se renderizarán con gran calidad, teniendo en cuenta incluso las sombras y la hora del día.

Una capa de escena de edificio creada con materiales glTF y propiedades de emisión para que las luces brillen por la noche.
Tanto si deseas ocultar todas las paredes, visualizar solo la infraestructura eléctrica o centrarte únicamente en la tercera planta de su edificio, las API de la capa de escena del edificio le ofrecen un control total sobre la experiencia que ofrece.

Explorando una capa de escena de edificio con el nuevo componente de código abierto Building Scene Layer Explorer.
Para complementar la nueva capa de escena de edificios, también lanzamos un nuevo componente de herramientas que permite explorar en detalle dicha capa, brindando control sobre los pisos y cada subcapa del modelo. Inicialmente disponible para los SDK de Flutter y Swift, se incorporará a otros SDK en las próximas versiones.
Herramientas de análisis espacial
El tercer componente nuevo e importante de los 300 SDK es un conjunto completamente nuevo de herramientas de análisis espacial.
Diseñadas desde cero para trabajar con tus datos a máxima resolución, estas herramientas son rapidísimas y ofrecen resultados que puedes usar para tomar decisiones, guardar en tu dispositivo para consultarlos más tarde o simplemente visualizarlos en pantalla. De hecho, son tan rápidas que a menudo puedes usarlas de forma interactiva.
Estas herramientas funcionan en todas las plataformas y tipos de dispositivos compatibles con los SDK de Native Maps. No solo en ordenadores de escritorio y portátiles, sino también en tabletas y teléfonos. Disponer de esta capacidad analítica de alta precisión y rendimiento al alcance de la mano es revolucionario y abre un abanico de aplicaciones que antes eran inimaginables.

Las imágenes de los campos visuales captadas por múltiples drones se actualizan en tiempo real e incorporan categorías de uso del suelo.
El conjunto inicial de herramientas de análisis espacial incluye:
- Análisis de visibilidad y campo visual
- Una API de álgebra de mapas potente y flexible
- Una capa de análisis para flujos de trabajo interactivos
Análisis en el dispositivo en los SDK nativos
Veamos rápidamente cómo encaja este nuevo conjunto de herramientas en las capacidades de análisis existentes de los SDK de Native Maps. Los SDK han proporcionado durante mucho tiempo capacidades de análisis rápido en el dispositivo que funcionan con datos locales, completamente sin conexión. Estas se dividen en cuatro categorías generales:
- Análisis basado en conjuntos de datos: geocodificación, análisis de redes, trazado de redes de servicios públicos
- Análisis geométrico: compare, relacione, manipule y reproyecte puntos geográficos, líneas y polígonos utilizando el motor de geometría.
- Análisis visual 3D exploratorio
- Servidor local
Para realizar análisis espaciales precisos en el dispositivo, tenías dos opciones: servidor local o motor de geometría. El motor de geometría es ideal si solo trabajas con geometrías discretas. El servidor local permite análisis espaciales más complejos que involucran conjuntos de datos completos, elevación y lógica personalizada, pero necesitas usar Windows o Linux, e instalar y mantener el servidor local por separado junto con tu aplicación.
Para realizar análisis rápidos e interactivos, se pueden utilizar superposiciones de análisis de campo visual y línea de visión en 3D. Estas se ejecutan en la GPU para un rendimiento excelente, pero tienen limitaciones bien definidas: fundamentalmente, solo funcionan con los datos visibles en pantalla y únicamente con la resolución de dichos datos renderizados; además, el análisis es meramente visual (es decir, no genera resultados que permitan tomar decisiones). Para utilizarlas, es necesario que la vista de la escena en 3D esté visible.
Eso cambia hoy. Las nuevas herramientas de análisis espacial añaden una quinta categoría a la lista anterior, combinando lo mejor de ambos mundos: precisión y velocidad.
Trabajan con tus datos de origen a máxima resolución y, si bien utilizan la GPU para una ejecución ultrarrápida y optimizada, se trata de una canalización de GPU totalmente dedicada, independiente de la que se utiliza para mostrar los datos en pantalla. Las API también generan resultados de análisis precisos que puedes usar como quieras: puedes visualizarlos, utilizarlos para análisis posteriores, consultarlos para tomar decisiones o simplemente guardarlos en el disco.
Explorando las nuevas API de análisis espacial
A grandes rasgos, así es como se utilizan las nuevas API:
- Cargar algunos datos de origen
- Construir una secuencia de operaciones de análisis
- Realizar el análisis (o mostrar el análisis como una superposición).
Las operaciones de análisis pueden ser las herramientas de visibilidad o línea de visión, cualquiera de los operadores de álgebra cartográfica o una combinación de estos. En la animación anterior, se muestran varias áreas de visibilidad calculadas a partir de datos de elevación, donde se utiliza el álgebra cartográfica para complementar los resultados con información sobre terrenos forestales proveniente de un ráster de uso del suelo independiente.
En el siguiente fragmento de código, los datos de elevación se clasifican en cuatro categorías, que luego podemos mostrar mediante un mapa de colores.
Utilizar la nueva API de álgebra de mapas en Swift para clasificar la elevación en categorías.
En segundo plano, mientras desarrollas tu análisis combinando diversas operaciones, las API preparan una canalización de computación GPU optimizada a partir de dichas operaciones. Es fundamental destacar que esta canalización no se ejecuta hasta que solicitas explícitamente el resultado. En términos técnicos, combinamos la evaluación diferida y la fusión de operaciones en tus operaciones de análisis. Este enfoque permite que las API optimicen el análisis combinando operaciones antes de su ejecución, lo que reduce tanto el tiempo de procesamiento como el uso de memoria al evitar la necesidad de calcular o almacenar resultados intermedios.
Uno de los aspectos más destacables de este enfoque es que puede modificar fácilmente los parámetros utilizados en cualquier punto de su secuencia de operaciones, y los cambios se reflejarán inmediatamente en el flujo de trabajo optimizado. Por ejemplo, si un observador con línea de visión se mueve, simplemente actualice la ubicación que proporcionó al definir el análisis, y la próxima vez que solicite el resultado del análisis, este reflejará la ubicación actualizada. Si utiliza la superposición de análisis para mostrar el análisis en un mapa, la visualización de la superposición se actualizará automáticamente en el momento en que proporcione la ubicación actualizada.
En el vídeo que aparece a continuación, configuramos varios análisis de línea de visión desde un único observador, y al actualizar la ubicación de ese observador, todos los análisis se actualizan (¡y fíjate en la rapidez!).

Prueba del rendimiento del análisis de línea de visión: 1000 líneas de visión calculadas en 5 ms.
Licenciamiento de las API de análisis
Para alinear las capacidades de análisis de estos nuevos SDK de Native Maps con las de Local Server y ArcGIS Pro, las nuevas API de visibilidad y línea de visión se licencian en el nivel Estándar, mientras que las operaciones de álgebra de mapas requieren la extensión Analysis. Por supuesto, puede explorar todas las API de forma gratuita en el modo desarrollador.
¿Qué sigue para el análisis?
Este es solo el comienzo del camino para estas nuevas y potentes capacidades de análisis. Tenemos más herramientas en desarrollo (empezando por la pendiente, la orientación y la conversión de ráster a polígono), y estamos priorizando nuestro desarrollo en función de sus comentarios, ya que estas herramientas ayudan a los desarrolladores a migrar sus aplicaciones desde Local Server y ArcGIS Engine. Espera ver más capacidades de análisis con cada nueva versión.
Actualizaciones de licencias
Hay otro cambio destacable introducido con la versión 300.0, y es que se refiere al uso de cadenas de licencia para licenciar los SDK de Native Maps para su uso en producción.
A modo de recordatorio, existen dos formas de licenciar su aplicación Native Maps SDK para su uso en producción: licencias de usuario nominal (donde el usuario final de su aplicación iniciará sesión en su cuenta de ArcGIS Online o ArcGIS Enterprise) y cadenas de licencia (donde usted, como desarrollador de la aplicación, incorpora o hace referencia a una cadena de licencia fija en su aplicación).
Si utilizas usuarios con nombre, no hay cambios. Sin embargo, en la versión 300.0 estamos perfeccionando el uso de las cadenas de licencia. En concreto, a partir de la versión 300.0, las cadenas de licencia están vinculadas a la versión principal. Aún puedes usar la misma cadena de licencia 100.x con todas las versiones 100.x y 200.x del SDK, pero para usar los SDK 300.x necesitará nuevas cadenas de licencia 300.x.
Si utilizas la licencia Lite gratuita, simplemente obtén una nueva cadena de licencia Lite del SDK de mapas nativos 300.x desde My Esri. Puedes recuperar su cadena de licencia Lite desde la tarjeta "Cadenas de licencia de los SDK de mapas de ArcGIS para aplicaciones nativas" en la página de resumen de su panel de control de My Esri.

Obtén tus cadenas de licencia Lite desde la tarjeta "Cadenas de licencia de los SDK de ArcGIS Maps para aplicaciones nativas" en my.esri.com.
Si ves un mensaje que dice "Su cuenta organizativa activa de ArcGIS no está habilitada para los sitios web de esri.com", ponte en contacto con el administrador de tu organización de ArcGIS para habilitar el acceso o para determinar una forma de distribuir las cadenas de licencia Lite.
Si utilizas licencias Básicas, Estándar o Avanzadas (o licencias de extensión), deberás obtener licencias 300.x antes de poder implementar sus aplicaciones con los SDK 300.x. Puedes obtenerlas a través del servicio de atención al cliente de Esri o de su distribuidor local. Estas nuevas licencias se emiten sin costo si su mantenimiento está vigente. De lo contrario, póngase en contacto con su gestor de cuenta de Esri o con el servicio de atención al cliente de Esri.
Pero espera, aún hay más…
Si bien la escena local, la capa de escena de edificios y las nuevas herramientas de análisis espacial son las principales novedades de los SDK 300.0, el equipo ha estado trabajando arduamente en una amplia gama de funcionalidades nuevas y mejoradas. Veamos algunas de las más destacadas.
Un aspecto importante es la mejora del soporte para curvas reales. En la versión 300.0, las curvas reales se ejecutan sin conexión de forma predeterminada, se admite su visualización en 3D y se ha añadido soporte inicial para curvas reales al Editor de Geometría.

Las nuevas capacidades de edición de curvas del editor de geometría.
También hemos mejorado nuestra compatibilidad con imágenes ráster, añadiendo nuevas capacidades de mapas de color y rampas de color, mejorando la forma en que gestionamos la interpolación ráster para diversos flujos de trabajo y exponiendo metadatos ráster adicionales para ayudarle a visualizar las imágenes ráster a la escala más adecuada para su contenido.
Hemos añadido compatibilidad con plantillas compartidas mediante la lectura y el uso de plantillas de entidades, plantillas predefinidas y plantillas de grupos de servicios de entidades y geodatabases. Las plantillas compartidas se utilizan habitualmente en redes de servicios públicos, pero pueden ser útiles en diversos flujos de trabajo de creación de datos. Las plantillas predefinidas permiten colocar varias entidades nuevas siguiendo un patrón predeterminado alrededor de una ubicación (por ejemplo, colocar una disposición fija de mesas de picnic y papeleras alrededor de un punto), mientras que las plantillas de grupos permiten aplicar reglas de construcción predefinidas complejas utilizando una geometría base (por ejemplo, colocar un punto de inicio de sendero, mojones kilométricos y bancos a intervalos preconfigurados a lo largo de una polilínea). Además, las plantillas de entidades permiten crear automáticamente registros relacionados junto con una nueva entidad.
El trabajo con asociaciones de redes de servicios públicos en formularios de características se ve mejorado aún más con la creación, edición y eliminación de asociaciones integradas.
Las API de navegación ahora pueden funcionar con rutas peatonales (anteriormente, la heurística asumía que se estaba conduciendo). En el modo peatonal, RouteTracker modificará la forma en que determina la llegada, cómo calcula los tiempos estimados de llegada (ETA) teniendo en cuenta la velocidad al caminar, cuándo se generan eventos para las próximas maniobras, considera los giros en U en cualquier punto de la ruta (no solo en los cruces) y mucho más.
Además, la versión 300.0 incluye las siguientes mejoras, así como numerosas optimizaciones de rendimiento y correcciones de errores:
- Mejor compatibilidad con los mosaicos 3D fotorrealistas de Google.
- Mejor compatibilidad con archivos adjuntos grandes en formatos de características, hasta 1 GB.
- Consulta de entidades dinámicas por ID de pista
- Cambiar la referencia espacial de un mapa
- Diversas mejoras de accesibilidad
- Una nueva API para calcular la elevación de múltiples puntos a la vez (por ejemplo, para calcular perfiles de elevación).

Cálculo de un perfil de elevación a lo largo de una polilínea utilizando el nuevo método applyElevation() en la superficie.
- Las cartas náuticas electrónicas encriptadas S63 ahora son compatibles con el SDK de Qt en todas las plataformas compatibles.
- Las capas KML ahora admiten superposiciones de fotos KML.
- Soporte inicial para capas de imágenes orientadas
- Compatibilidad con proxy directo en el SDK de Kotlin
- Nuevas API de ejecución en segundo plano de iOS 26 compatibles con el SDK de Swift
- Un paso importante hacia la paridad con el SDK de Flutter , que ofrece entidades dinámicas, redes de utilidades, API de etiquetado, API de reducción de características y llamadas externas (consulte esta publicación de la comunidad de Esri para obtener más detalles).
- El SDK de .NET Maps deja de ser compatible con .NET Framework, UWP y Windows-x86.
Y mucho más, pero no tenemos espacio para cubrirlo aquí, así que consulta las notas de la versión de los SDK de .NET , Flutter , Kotlin , Qt y Swift para obtener más detalles.
Conclusión
Esta es una actualización importantísima para los SDK de Native Maps, con nuevas funcionalidades clave que marcarán el rumbo del desarrollo de tus aplicaciones nativas durante los próximos años. Nos enorgullece poder ponerlas a tu disposición para su uso en producción. Mantente al tanto de las próximas publicaciones en nuestro blog sobre las nuevas capacidades.
Para usar los nuevos SDK, simplemente actualiza sus gestores de paquetes o descarga los binarios más recientes del sitio para desarrolladores de Esri. Un consejo importante si está actualizando desde los SDK 200.x: dado que eliminamos todas las API obsoletas cuando hay un cambio de versión principal, si primero actualiza a la versión 200.8 y resuelve las advertencias de obsolescencia, podrá actualizar a la versión 300.0 sin necesidad de realizar más cambios en el código.
La versión 300.0 es solo el comienzo de estas nuevas capacidades, ya que nos estamos preparando para ofrecer más herramientas de análisis que ayuden a los desarrolladores a migrar desde ArcGIS Engine y ArcGIS Local Server, además de añadir funcionalidades a la nueva vista de escena local (incluidas capas de entidades y superposiciones gráficas, y mucho más).
Nick Furness es gerente de producto de los SDK de ArcGIS Maps para aplicaciones nativas y motores de juegos, especializándose en Swift e iOS. Cuenta con más de 25 años de experiencia en el ámbito de los SIG, desarrollando proyectos que abarcan desde soluciones para pequeñas empresas familiares hasta implementaciones para grandes corporaciones y gobiernos nacionales. Nick participa como ponente en diversas Cumbres de Desarrolladores de Esri, la Conferencia de Usuarios y muchos otros eventos, donde casi siempre habla sobre los SDK de mapas nativos (aunque también puede incluir alguna mención a JavaScript).
Rex Hansen es gerente de producto de los SDK de ArcGIS Maps para aplicaciones nativas y motores de juegos. Cuenta con más de 25 años de experiencia en SIG, análisis espacial y cartografía digital. Actualmente, lidera el desarrollo de tecnologías nativas en la industria SIG para utilizar contenido y análisis geoespaciales fiables en flujos de trabajo sin conexión, experiencias fotorrealistas y soluciones inmersivas de realidad extendida.
Mike Branscomb es gerente de producto para los SDK de ArcGIS Maps para aplicaciones nativas y motores de juegos. Con más de 20 años de experiencia en el ecosistema de Esri, se especializa en .NET, servidor local y capas de escena 3D. Mike también es propietario de producto Scrum con más de 10 años de experiencia guiando equipos a lo largo del ciclo de vida del desarrollo de productos.
Shimona es especialista en marketing de productos y trabaja con los SDK de ArcGIS Maps para motores de juegos y aplicaciones nativas. Licenciada en Psicología y con una maestría en Marketing, es una experta en marketing digital y le encanta crear historias interesantes para su público.
