Logotipo de Zephyrnet

Comprender y predecir las islas de calor urbanas en Gramener utilizando las capacidades geoespaciales de Amazon SageMaker | Servicios web de Amazon

Fecha:

Esta es una publicación invitada en coautoría de Shravan Kumar y Avirat S de Gramener.

gramer, Straive La empresa contribuye al desarrollo sostenible centrándose en la agricultura, la silvicultura, la gestión del agua y las energías renovables. Al proporcionar a las autoridades las herramientas y los conocimientos que necesitan para tomar decisiones informadas sobre el impacto ambiental y social, Gramener está desempeñando un papel vital en la construcción de un futuro más sostenible.

Las islas de calor urbanas (UHI) son áreas dentro de las ciudades que experimentan temperaturas significativamente más altas que las áreas rurales circundantes. Los UHI son una preocupación creciente porque pueden provocar diversos problemas ambientales y de salud. Para abordar este desafío, Gramener ha desarrollado una solución que utiliza datos espaciales y técnicas de modelado avanzadas para comprender y mitigar los siguientes efectos UHI:

  • Discrepancia de temperatura – Las UHI pueden provocar que las zonas urbanas sean más calurosas que las regiones rurales circundantes.
  • Repercusiones en la salud – Las temperaturas más altas en las UHI contribuyen a un aumento del 10 al 20 % en las enfermedades y muertes relacionadas con el calor.
  • Consumo de energía Los UHI amplifican las demandas de aire acondicionado, lo que resulta en un aumento de hasta un 20% en el consumo de energía.
  • Calidad del aire Los UHI empeoran la calidad del aire, lo que genera niveles elevados de smog y partículas, lo que puede aumentar los problemas respiratorios.
  • Impacto económico – Los UHI pueden generar miles de millones de dólares en costos energéticos adicionales, daños a la infraestructura y gastos de atención médica.

La solución GeoBox de Gramener permite a los usuarios acceder y analizar sin esfuerzo datos geoespaciales públicos a través de su potente API, lo que permite una integración perfecta en los flujos de trabajo existentes. Esto agiliza la exploración y ahorra tiempo y recursos valiosos, lo que permite a las comunidades identificar rápidamente los puntos críticos de UHI. Luego, GeoBox transforma los datos sin procesar en información procesable presentada en formatos fáciles de usar como ráster, GeoJSON y Excel, lo que garantiza una comprensión clara y una implementación inmediata de las estrategias de mitigación de UHI. Esto permite a las comunidades tomar decisiones informadas e implementar iniciativas de desarrollo urbano sostenible, apoyando en última instancia a los ciudadanos a través de una mejor calidad del aire, un menor consumo de energía y un medio ambiente más fresco y saludable.

Esta publicación demuestra cómo la solución GeoBox de Gramener utiliza las capacidades geoespaciales de Amazon SageMaker para realizar análisis de observación de la Tierra y desbloquear conocimientos UHI a partir de imágenes satelitales. Las capacidades geoespaciales de SageMaker facilitan a los científicos de datos y a los ingenieros de aprendizaje automático (ML) construir, entrenar e implementar modelos utilizando datos geoespaciales. Las capacidades geoespaciales de SageMaker le permiten transformar y enriquecer de manera eficiente conjuntos de datos geoespaciales a gran escala y acelerar el desarrollo de productos y el tiempo de obtención de información con modelos de aprendizaje automático previamente entrenados.

Resumen de la solución

Geobox tiene como objetivo analizar y predecir el efecto UHI aprovechando las características espaciales. Ayuda a comprender cómo los cambios propuestos en la infraestructura y el uso del suelo pueden afectar los patrones de UHI e identifica los factores clave que influyen en el UHI. Este modelo analítico proporciona estimaciones precisas de la temperatura de la superficie terrestre (LST) a nivel granular, lo que permite a Gramener cuantificar los cambios en el efecto UHI en función de parámetros (nombres de los índices y datos utilizados).

Geobox permite a los departamentos de la ciudad hacer lo siguiente:

  • Mejor adaptación al clima planificar – Las decisiones informadas reducen el impacto de los eventos de calor extremo.
  • Apoyo a la ampliación de espacios verdes – Más espacios verdes mejoran la calidad del aire y la calidad de vida.
  • Colaboración interdepartamental mejorada – Los esfuerzos coordinados mejoran la seguridad pública.
  • Preparación estratégica para emergencias – La planificación específica reduce el potencial de emergencias.
  • Colaboración de servicios de salud. – La cooperación conduce a intervenciones sanitarias más eficaces.

Flujo de trabajo de la solución

En esta sección, analizamos cómo funcionan juntos los diferentes componentes, desde la adquisición de datos hasta el modelado y pronóstico espacial, sirviendo como el núcleo de la solución UHI. La solución sigue un flujo de trabajo estructurado, con un enfoque principal en abordar los UHI en una ciudad de Canadá.

Fase 1: canalización de datos

El satélite Landsat 8 captura imágenes detalladas del área de interés cada 15 días a las 11:30 a.m., brindando una visión integral del paisaje y el medio ambiente de la ciudad. Se establece un sistema de cuadrícula con un tamaño de cuadrícula de 48 metros utilizando la biblioteca Supermercado Python de Mapbox en el nivel de zoom 19, lo que permite un análisis espacial preciso.

Data Pipeline

Fase 2: Análisis exploratorio

Al integrar capas de datos de infraestructura y población, Geobox permite a los usuarios visualizar la distribución variable de la ciudad y obtener información morfológica urbana, lo que permite un análisis integral de la estructura y el desarrollo de la ciudad.

Además, las imágenes Landsat de la fase 1 se utilizan para obtener información como el Índice de Vegetación de Diferencia Normalizada (NDVI) y el Índice de Construcción de Diferencia Normalizada (NDBI), con datos meticulosamente escalados a la cuadrícula de 48 metros para lograr coherencia y precisión.

Análisis exploratorio

Se utilizan las siguientes variables:

  • Temperatura de la superficie terrestre
  • Cobertura del sitio de construcción
  • NDVI
  • Cobertura de bloques de construcción
  • INDB
  • Área de construcción
  • Albedo
  • Recuento de edificios
  • Índice de diferencia normalizada de agua modificado (MNDWI)
  • Altura del edificio
  • Número de plantas y superficie construida.
  • Relación de Superficie

Fase 3: modelo de análisis

Esta fase consta de tres módulos, que emplean modelos de ML en datos para obtener información sobre LST y su relación con otros factores influyentes:

  • Módulo 1: Estadísticas zonales y agregación – Las estadísticas zonales desempeñan un papel vital en el cálculo de estadísticas utilizando valores del ráster de valores. Implica extraer datos estadísticos para cada zona en función del ráster de la zona. La agregación se realiza con una resolución de 100 metros, lo que permite un análisis completo de los datos.
  • Módulo 2: Modelado espacial – Gramener evaluó tres modelos de regresión (lineal, espacial y de efectos fijos espaciales) para desentrañar la correlación entre la temperatura de la superficie terrestre (LST) y otras variables. Entre estos modelos, el modelo de efectos fijos espaciales arrojó el valor medio de R cuadrado más alto, particularmente para el período que abarca de 2014 a 2020.
  • Módulo 3: Previsión de variables – Para pronosticar variables a corto plazo, Gramener empleó técnicas de suavizamiento exponencial. Estos pronósticos ayudaron a comprender los valores futuros de LST y sus tendencias. Además, profundizaron en el análisis de escala a largo plazo utilizando datos de la Vía de Concentración Representativa (RCP8.5) para predecir los valores de LST durante períodos prolongados.

modelo analítico

Adquisición y preprocesamiento de datos.

Para implementar los módulos, Gramener utilizó el cuaderno geoespacial SageMaker dentro Estudio Amazon SageMaker. El kernel del cuaderno geoespacial está preinstalado con bibliotecas geoespaciales de uso común, lo que permite la visualización y el procesamiento directo de datos geoespaciales dentro del entorno del cuaderno Python.

Gramener empleó varios conjuntos de datos para predecir las tendencias del LST, incluida la evaluación de edificios y datos de temperatura, así como imágenes de satélite. La clave de la solución UHI fue utilizar datos del satélite Landsat 8. Este satélite de imágenes de la Tierra, una empresa conjunta del USGS y la NASA, sirvió como componente fundamental del proyecto.

Con la BuscarColecciónRasterData API, SageMaker proporciona una funcionalidad especialmente diseñada para facilitar la recuperación de imágenes de satélite. Gramener utilizó esta API para recuperar datos del satélite Landsat 8 para la solución UHI.

El SearchRasterDataCollection API utiliza los siguientes parámetros de entrada:

  • arn – El nombre de recurso de Amazon (ARN) de la recopilación de datos ráster utilizados en la consulta.
  • Area de interes – Un polígono GeoJSON que representa el área de interés.
  • FiltroRangoTiempo – El rango de tiempo de interés, indicado como {StartTime: <string>, EndTime: <string>}
  • Filtros de propiedad – También se pueden incorporar filtros de propiedad complementarios, como especificaciones para la cobertura de nubes máxima aceptable.

El siguiente ejemplo demuestra cómo se pueden consultar los datos de Landsat 8 a través de la API:

search_params = {
    "Arn": "arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/gmqa64dcu2g9ayx1", # NASA/USGS Landsat
    "RasterDataCollectionQuery": {
        "AreaOfInterest": {
            "AreaOfInterestGeometry": {
                "PolygonGeometry": {
                    "Coordinates": coordinates
                }
            }
        },
        "TimeRangeFilter": {
            "StartTime": "2014-01-01T00:00:00Z",
            "EndTime": "2020-12-31T23:59:59Z",
        },
        "PropertyFilters": {
            "Properties": [{"Property": {"EoCloudCover": {"LowerBound": 0, "UpperBound": 20.0}}}],
            "LogicalOperator": "AND",
        }
    },
}

response = geospatial_client.search_raster_data_collection(**search_params)

Para procesar datos satelitales a gran escala, Gramener utilizó Procesamiento de Amazon SageMaker con el contenedor geoespacial. SageMaker Processing permite el escalamiento flexible de clústeres de computación para acomodar tareas de diferentes tamaños, desde procesar una sola cuadra de la ciudad hasta administrar cargas de trabajo a escala planetaria. Tradicionalmente, crear y administrar manualmente un clúster de computación para tales tareas era costoso y requería mucho tiempo, particularmente debido a las complejidades que implicaba estandarizar un entorno adecuado para el manejo de datos geoespaciales.

Ahora, con el contenedor geoespacial especializado de SageMaker, administrar y ejecutar clústeres para el procesamiento geoespacial se ha vuelto más sencillo. Este proceso requiere un esfuerzo mínimo de codificación: simplemente define la carga de trabajo, especifica la ubicación de los datos geoespaciales en Servicio de almacenamiento simple de Amazon (Amazon S3) y seleccione el contenedor geoespacial apropiado. Luego, SageMaker Processing aprovisiona automáticamente los recursos de clúster necesarios, lo que facilita la ejecución eficiente de tareas geoespaciales en escalas que van desde el nivel de ciudad hasta el nivel de continente.

Procesamiento

SageMaker gestiona completamente la infraestructura subyacente necesaria para el trabajo de procesamiento. Asigna recursos del clúster durante la duración del trabajo y los elimina al finalizar el trabajo. Finalmente, los resultados del trabajo de procesamiento se guardan en el depósito S3 designado.

Un trabajo de procesamiento de SageMaker que utiliza la imagen geoespacial se puede configurar de la siguiente manera desde el cuaderno geoespacial:

from sagemaker import get_execution_role
from sagemaker.sklearn.processing import ScriptProcessor
from sagemaker.processing import ProcessingInput, ProcessingOutput

execution_role_arn = get_execution_role()

geospatial_image_uri = '081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest'
processor = ScriptProcessor(
    command=['python3'],
    image_uri=geospatial_image_uri,
    role=execution_role_arn,
    instance_count=20,
    instance_type='ml.m5.xlarge',
    base_job_name='geospatial-processing-spectral-indices'
)

El parámetrostance_count define cuántas instancias debe usar el trabajo de procesamiento y el tipo_instancia define qué tipo de instancia debe usarse.

El siguiente ejemplo muestra cómo se ejecuta un script de Python en el clúster de trabajos de procesamiento. Cuando se invoca el comando de ejecución, el clúster se inicia y aprovisiona automáticamente los recursos necesarios del clúster:

processor.run(
    code='calculate_variables.py',
    inputs=[
        ProcessingInput(
            source=s3_manifest_url,
            destination='/opt/ml/processing/input_data/',
            s3_data_type="ManifestFile",
            s3_data_distribution_type="ShardedByS3Key"
        ),
    ],
    outputs=[
        ProcessingOutput(
            source='/opt/ml/processing/output_data/',
            destination=s3_output_prefix_url
        )
    ]
)

Modelado espacial y predicciones LST.

En el trabajo de procesamiento, se calcula una variedad de variables, incluida la radiancia espectral en la parte superior de la atmósfera, la temperatura de brillo y la reflectancia del Landsat 8. Además, se calculan variables morfológicas como la relación de área de piso (FAR), la cobertura del sitio de construcción, la cobertura de bloques de construcción y el valor de entropía de Shannon.

El siguiente código demuestra cómo se puede realizar esta aritmética de bandas:

def calculate_ndvi(nir08, red): 
    return (nir08 - red) / (nir08 + red) 
 
def calculate_ndbi(swir16, nir08): 
    return (swir16 - nir08) / (swir16 + nir08) 
 
def calculate_st(bt): 
    return ((bt * 0.00341802) + 149.0) - 273 
 
def indices_calc(data): 
    with concurrent.futures.ThreadPoolExecutor() as executor: 
        ndvi_future = executor.submit(calculate_ndvi, data.sel(band="SR_B5"), data.sel(band="SR_B4")) 
        ndbi_future = executor.submit(calculate_ndbi, data.sel(band="SR_B6"), data.sel(band="SR_B5")) 
        st_future = executor.submit(calculate_st, data.sel(band="ST_B10")) 
 
        ndvi = ndvi_future.result() 
        ndbi = ndbi_future.result() 
        st = st_future.result() 
 
    ndvi.attrs = data.attrs 
    ndbi.attrs = data.attrs 
    st.attrs = data.attrs 
 
    return ndvi, ndbi, st 

Una vez calculadas las variables, se realizan estadísticas zonales para agregar datos por cuadrícula. Se trata de calcular estadísticas en función de los valores de interés dentro de cada zona. Para estos cálculos se ha utilizado un tamaño de cuadrícula de aproximadamente 100 metros.

def process_iteration(st, ndvi, ndmi, date, city_name): 
    datacube['st'] = (st.dims, st.values) 
    datacube['ndvi'] = (ndvi.dims, ndvi.values) 
    datacube['ndmi'] = (ndmi.dims, ndmi.values) 
    df = datacube.groupby("id").mean().to_dataframe().reset_index() 
    merged_grid = hexgrid_utm.join(df, on='id', how='left', lsuffix='_')[['id', 'hex_id', 'geometry', 'st', 'ndvi', 'ndmi']] 
    merged_grid.to_file(f"{DATA}/{city_name}/{city_name}_outputs_{date}.geojson", driver='GeoJSON') 
    print("Working on:", date) 
 
def iterative_op(city_json, st, ndvi, ndmi, city_name): 
    with concurrent.futures.ThreadPoolExecutor() as executor: 
        futures = [ 
            executor.submit(process_iteration, st[i], ndvi[i], ndmi[i], date, city_name) 
            for i, _ in enumerate(city_json.time) 
            for date in city_json.date 
        ] 
        for future in concurrent.futures.as_completed(futures): 
            future.result() 
 
    print('Process completed') 

Después de agregar los datos, se realiza el modelado espacial. Gramener utilizó métodos de regresión espacial, como la regresión lineal y los efectos fijos espaciales, para tener en cuenta la dependencia espacial en las observaciones. Este enfoque facilita modelar la relación entre variables y LST a nivel micro.

El siguiente código ilustra cómo se puede ejecutar dicho modelado espacial:

features = [ 
    'ndvi', 
    'ndbi', 
    'st', 
    'build_count', 
    'bbc' 
] 
 
def compute_spatial_weights(df, k=8): 
    knn = KNN.from_dataframe(df, k=k) 
    return df[features].apply(lambda y: weights.spatial_lag.lag_spatial(knn, y)).rename(columns=lambda c: 'w_' + c) 
 
def ordinary_least_squares(df_year, spatial=False): 
    formula = f"lst ~ {' + '.join(features)}"  
    if spatial: 
        df_year = df_year.join(compute_spatial_weights(df_year)) 
        formula += f" + {' + '.join(['w_' + f for f in features])}"  
     
    return smf.ols(formula, data=df_year).fit() 
 
def process(df, year): 
    df_year = pd.merge(df[df['year'] == year].fillna(0), grids[['idx', 'name']], on='idx') 
    ols_model = ordinary_least_squares(df_year) 
    ols_spatial_model = ordinary_least_squares(df_year, spatial=True) 
    ols_spatial_fe_model = ordinary_least_squares(df_year, spatial=True) 
     
    return { 
        'year': year, 
        'ols_model': ols_model, 
        'ols_spatial_model': ols_spatial_model, 
        'ols_spatial_fe_model': ols_spatial_fe_model, 
        'ols_r2': [ols_model.rsquared, ols_spatial_model.rsquared, ols_spatial_fe_model.rsquared] 
    } 

Gramener utilizó suavizamiento exponencial para predecir los valores de LST. El suavizado exponencial es un método eficaz para el pronóstico de series temporales que aplica promedios ponderados a datos pasados, y las ponderaciones disminuyen exponencialmente con el tiempo. Este método es particularmente eficaz para suavizar datos para identificar tendencias y patrones. Al utilizar el suavizado exponencial, es posible visualizar y predecir las tendencias de LST con mayor precisión, lo que permite predicciones más precisas de valores futuros basados ​​en patrones históricos.

Para visualizar las predicciones, Gramener utilizó el cuaderno geoespacial SageMaker con bibliotecas geoespaciales de código abierto para superponer predicciones del modelo en un mapa base y proporciona visualización en capas de conjuntos de datos geoespaciales directamente dentro del cuaderno.

Visualización

Conclusión

Esta publicación demostró cómo Gramener está capacitando a sus clientes para que tomen decisiones basadas en datos para entornos urbanos sostenibles. Con SageMaker, Gramener logró ahorros sustanciales de tiempo en el análisis UHI, reduciendo el tiempo de procesamiento de semanas a horas. Esta rápida generación de información permite a los clientes de Gramener identificar áreas que requieren estrategias de mitigación de UHI, planificar proactivamente proyectos de infraestructura y desarrollo urbano para minimizar UHI y obtener una comprensión holística de los factores ambientales para una evaluación integral de riesgos.

Descubra el potencial de integrar datos de observación de la Tierra en sus proyectos de sostenibilidad con SageMaker. Para obtener más información, consulte Comience a utilizar las capacidades geoespaciales de Amazon SageMaker.


Acerca de los autores

Abhishek Mittal es arquitecto de soluciones para el equipo del sector público mundial de Amazon Web Services (AWS), donde trabaja principalmente con socios ISV en todas las industrias, brindándoles orientación arquitectónica para crear una arquitectura escalable e implementar estrategias para impulsar la adopción de los servicios de AWS. Le apasiona modernizar las plataformas tradicionales y la seguridad en la nube. Fuera del trabajo, es un entusiasta de los viajes.

Janosch Woschitz es arquitecto de soluciones senior en AWS, especializado en AI/ML. Con más de 15 años de experiencia, ayuda a clientes de todo el mundo a aprovechar la IA y el aprendizaje automático para obtener soluciones innovadoras y crear plataformas de aprendizaje automático en AWS. Su experiencia abarca el aprendizaje automático, la ingeniería de datos y los sistemas distribuidos escalables, complementados con una sólida experiencia en ingeniería de software y experiencia en la industria en dominios como la conducción autónoma.

Shravan Kumar es director sénior de éxito del cliente en Gramener, con una década de experiencia en análisis de negocios, evangelización de datos y forja de relaciones profundas con el cliente. Tiene una base sólida en gestión de clientes y gestión de cuentas en el ámbito del análisis de datos, IA y ML.

Avirat S es un científico de datos geoespaciales en Gramener y aprovecha la IA/ML para desbloquear conocimientos a partir de datos geográficos. Su experiencia radica en la gestión de desastres, la agricultura y la planificación urbana, donde su análisis informa los procesos de toma de decisiones.

punto_img

Información más reciente

punto_img