3DTiles - Desarrollos-IDEE/API-IDEE GitHub Wiki

Servicio 3D Tiles

3D Tiles es un formato abierto diseñado para la transmisión y visualización eficiente de grandes conjuntos de datos geoespaciales 3D heterogéneos. Fue desarrollado por CesiumJS y aprobado como estándar comunitario por el Open Geospatial Consortium (OGC).

¿Cómo utilizarlo en API-IDEE?

1.- En el constructor del mapa:

const map = new M.map({
  container:'map',
 layers: ['OSM', 'Tiles3D*MiCapa3d*https://parquesnacionales.cnig.es/escenas/Ordesa_2023_Cesium/Scene/Ordesa_2023_Cesium.json*ordesa*true*true'],
  bbox: [-0.7355528806601923, 42.449560192992536, 0.65672359242731, 42.78034148270665]
});

2.- Mediante los métodos addTiles3D/addLayers:

const tiles3d = new M.layer.Tiles3D({
  name: 'Tiles3D',
  legend: 'Mi LayerTiles',
  url: 'https://parquesnacionales.cnig.es/escenas/Ordesa_2023_Cesium/Scene/Ordesa_2023_Cesium.json',
});
map.addLayers(tiles3d_001)

Los parámetros del constructor de la capa son los siguientes:

  • url: URL del servicio. Este parámetro es obligatorio.
  • name: Nombre del servicio.
  • legend: Nombre asociado en el árbol de contenidos, si usamos uno.
  • displayInLayerSwitcher: Indica si la capa se muestra en el selector de capas.
  • visibility: 'true' si la capa es visible, 'false' si queremos que no lo sea. En este caso la capa sería detectada por las extensiones que hagan un listado de capas y aparecería como no visible.
  • attribution: Atribución de la capa.
    • name. Nombre de la atribución
    • description. Descripción de la atribución.
    • url. URL de la atribución.
    • contentAttributions. Atribuciones por objetos geográficos, por defecto vacío.
    • contentType. Tipo de url de “contentAttributions” (KML o GeoJSON).
  • isBase: Este tipo de capa no podrá ser capa base.
  • extract: Opcional, activa la consulta por click en el objeto geográfico, por defecto falso.
  • ** infoEventType**: Parametriza el método de activación del popup para obtener la información de un feature ('click' / 'hover'), por defecto 'click'.

options: Estas opciones se mandarán a la implementación de la capa.

  • style: Define el estilo de la capa.
  • maximumScreenSpaceError: Error máximo de espacio en pantalla.
  • clippingPlanes: Planos de recorte.

vendorOptions: Opciones para la biblioteca base (el código se envía directamente a la librería base para ejecutar la funcionalidad).

Ejemplo vendorOptions:

const tiles3d = new M.layer.Tiles3D({
  name: 'Tiles3D',
  legend: 'Mi LayerTiles',
  url: 'https://parquesnacionales.cnig.es/escenas/Ordesa_2023_Cesium/Scene/Ordesa_2023_Cesium.json',
}, {}, {
  show: false,
});

Ejemplo completo de creación de capa Tiles3D:

const tiles3d_001 = new M.layer.Tiles3D({
  name: 'Tiles3D',
  legend: 'Mi LayerTiles',
  url: 'https://parquesnacionales.cnig.es/escenas/Ordesa_2023_Cesium/Scene/Ordesa_2023_Cesium.json',
}, {
  style: {
    color: "color('red')",
    pointSize: 0.3,
  },
});