Zephyrnet-logo

Stedelijke hitte-eilanden bij Gramener begrijpen en voorspellen met behulp van de geospatiale mogelijkheden van Amazon SageMaker | Amazon-webservices

Datum:

Dit is een gastpost mede geschreven door Shravan Kumar en Avirat S van Gramener.

Grammener, een Straief bedrijf, draagt โ€‹โ€‹bij aan duurzame ontwikkeling door zich te concentreren op landbouw, bosbouw, waterbeheer en hernieuwbare energie. Door autoriteiten de instrumenten en inzichten te bieden die ze nodig hebben om weloverwogen beslissingen te nemen over de impact op het milieu en de maatschappij, speelt Gramener een cruciale rol bij het opbouwen van een duurzamere toekomst.

Stedelijke hitte-eilanden (UHI's) zijn gebieden in steden waar de temperaturen aanzienlijk hoger zijn dan in de omliggende landelijke gebieden. UHI's zijn een groeiend probleem omdat ze tot verschillende milieu- en gezondheidsproblemen kunnen leiden. Om deze uitdaging aan te pakken heeft Gramener een oplossing ontwikkeld die ruimtelijke gegevens en geavanceerde modelleringstechnieken gebruikt om de volgende UHI-effecten te begrijpen en te verminderen:

  • Temperatuurverschil โ€“ UHI's kunnen ervoor zorgen dat stedelijke gebieden heter zijn dan de omliggende plattelandsgebieden.
  • Gezondheidseffecten โ€“ Hogere temperaturen in UHIโ€™s dragen bij aan een toename van 10-20% van hittegerelateerde ziekten en sterfgevallen.
  • Energieverbruik - UHI's versterken de vraag naar airconditioning, wat resulteert in een stijging van het energieverbruik tot 20%.
  • Luchtkwaliteit - UHI's verslechteren de luchtkwaliteit, wat leidt tot verhoogde niveaus van smog en fijnstof, wat ademhalingsproblemen kan vergroten.
  • Economische impact โ€“ UHI's kunnen resulteren in miljarden dollars aan extra energiekosten, schade aan de infrastructuur en uitgaven voor gezondheidszorg.

De GeoBox-oplossing van Gramener stelt gebruikers in staat moeiteloos openbare georuimtelijke gegevens aan te boren en te analyseren via de krachtige API, waardoor naadloze integratie in bestaande workflows mogelijk wordt. Dit stroomlijnt de verkenning en bespaart waardevolle tijd en middelen, waardoor gemeenschappen snel UHI-hotspots kunnen identificeren. GeoBox transformeert vervolgens onbewerkte gegevens in bruikbare inzichten, gepresenteerd in gebruiksvriendelijke formaten zoals raster, GeoJSON en Excel, waardoor een duidelijk begrip en onmiddellijke implementatie van UHI-beperkingsstrategieรซn wordt gegarandeerd. Dit stelt gemeenschappen in staat om weloverwogen beslissingen te nemen en initiatieven voor duurzame stedelijke ontwikkeling te implementeren, waardoor burgers uiteindelijk worden ondersteund door een betere luchtkwaliteit, een lager energieverbruik en een koelere, gezondere omgeving.

Dit bericht laat zien hoe de GeoBox-oplossing van Gramener werkt maakt gebruik van de geospatiale mogelijkheden van Amazon SageMaker om aardobservatieanalyses uit te voeren en UHI-inzichten uit satellietbeelden te ontsluiten. De georuimtelijke mogelijkheden van SageMaker maken het voor datawetenschappers en machine learning (ML)-ingenieurs eenvoudig om modellen te bouwen, trainen en implementeren met behulp van georuimtelijke gegevens. Met de geospatiale mogelijkheden van SageMaker kunt u grootschalige geospatiale datasets efficiรซnt transformeren en verrijken, en de productontwikkeling en de tijd tot inzicht versnellen met vooraf getrainde ML-modellen.

Overzicht oplossingen

Geobox heeft tot doel het UHI-effect te analyseren en te voorspellen door gebruik te maken van ruimtelijke kenmerken. Het helpt bij het begrijpen hoe voorgestelde veranderingen in infrastructuur en landgebruik UHI-patronen kunnen beรฏnvloeden en identificeert de belangrijkste factoren die UHI beรฏnvloeden. Dit analytische model biedt nauwkeurige schattingen van de landoppervlaktetemperatuur (LST) op granulair niveau, waardoor Gramener veranderingen in het UHI-effect kan kwantificeren op basis van parameters (namen van indexen en gebruikte gegevens).

Met Geobox kunnen stadsdiensten het volgende doen:

  • Verbeterde klimaatadaptatie planning โ€“ Geรฏnformeerde beslissingen verminderen de impact van extreme hitte.
  • Steun voor de uitbreiding van de groene ruimte โ€“ Meer groene ruimten verbeteren de luchtkwaliteit en de levenskwaliteit.
  • Verbeterde samenwerking tussen afdelingen โ€“ Gecoรถrdineerde inspanningen verbeteren de openbare veiligheid.
  • Strategische paraatheid bij noodsituaties โ€“ Gerichte planning vermindert de kans op noodsituaties.
  • Samenwerking op het gebied van gezondheidszorg โ€“ Samenwerking leidt tot effectievere gezondheidsinterventies.

Oplossingsworkflow

In deze sectie bespreken we hoe de verschillende componenten samenwerken, van data-acquisitie tot ruimtelijke modellering en prognoses, die de kern vormen van de UHI-oplossing. De oplossing volgt een gestructureerde workflow, met een primaire focus op het aanpakken van UHI's in een stad in Canada.

Fase 1: Datapijplijn

De Landsat 8-satelliet legt elke 15 dagen om 11 uur gedetailleerde beelden vast van het interessegebied, waardoor een uitgebreid beeld wordt geboden van het landschap en de omgeving van de stad. Er wordt een rastersysteem opgezet met een rastergrootte van 30 meter met behulp van de Supermercado Python-bibliotheek van Mapbox op zoomniveau 48, waardoor nauwkeurige ruimtelijke analyse mogelijk is.

Gegevenspijplijn

Fase 2: Verkennende analyse

Door infrastructuur- en bevolkingsgegevenslagen te integreren, stelt Geobox gebruikers in staat de variabele distributie van de stad te visualiseren en stedelijke morfologische inzichten af โ€‹โ€‹te leiden, waardoor een uitgebreide analyse van de structuur en ontwikkeling van de stad mogelijk wordt.

Ook worden Landsat-beelden uit fase 1 gebruikt om inzichten af โ€‹โ€‹te leiden zoals de Normalized Difference Vegetation Index (NDVI) en de Normalized Difference Built-up Index (NDBI), waarbij gegevens zorgvuldig zijn geschaald naar het raster van 48 meter voor consistentie en nauwkeurigheid.

Verkennende analyse

De volgende variabelen worden gebruikt:

  • Temperatuur van het landoppervlak
  • Dekking van de bouwplaats
  • NDVI
  • Dekking van bouwstenen
  • NDBI
  • Bouwgebied
  • albedo
  • Gebouwtelling
  • Gemodificeerde genormaliseerde verschilwaterindex (MNDWI)
  • Hoogte gebouw
  • Aantal verdiepingen en vloeroppervlak
  • Verhouding vloeroppervlak

Fase 3: Analytics-model

Deze fase bestaat uit drie modules, waarbij ML-modellen op data worden gebruikt om inzicht te krijgen in LST en de relatie ervan met andere invloedrijke factoren:

  • Module 1: Zonestatistieken en aggregatie โ€“ Zonestatistieken spelen een cruciale rol bij het berekenen van statistieken met behulp van waarden uit het waarderaster. Het omvat het extraheren van statistische gegevens voor elke zone op basis van het zoneraster. De aggregatie wordt uitgevoerd met een resolutie van 100 meter, waardoor een uitgebreide analyse van de gegevens mogelijk is.
  • Module 2: Ruimtelijke modellering โ€“ Gramener evalueerde drie regressiemodellen (lineaire, ruimtelijke en ruimtelijke vaste effecten) om de correlatie tussen de landoppervlaktetemperatuur (LST) en andere variabelen te ontrafelen. Van deze modellen leverde het ruimtelijke fixed effect-model de hoogste gemiddelde R-kwadraatwaarde op, vooral voor de periode van 2014 tot 2020.
  • Module 3: Variabelen voorspellen โ€“ Om variabelen op de korte termijn te voorspellen, gebruikte Gramener exponentiรซle afvlakkingstechnieken. Deze voorspellingen hielpen bij het begrijpen van toekomstige LST-waarden en hun trends. Daarnaast hebben ze zich verdiept in schaalanalyse op de lange termijn door gegevens van de Representative Concentration Pathway (RCP8.5) te gebruiken om LST-waarden over langere perioden te voorspellen.

Analytics-model

Gegevensverzameling en voorverwerking

Om de modules te implementeren, gebruikte Gramener het geospatiale notitieboek SageMaker Amazon SageMaker Studio. De georuimtelijke notebookkernel is vooraf geรฏnstalleerd met veelgebruikte georuimtelijke bibliotheken, waardoor directe visualisatie en verwerking van georuimtelijke gegevens binnen de Python-notebookomgeving mogelijk is.

Gramener gebruikte verschillende datasets om LST-trends te voorspellen, waaronder gebouwbeoordeling en temperatuurgegevens, evenals satellietbeelden. De sleutel tot de UHI-oplossing was het gebruik van gegevens van de Landsat 8-satelliet. Deze aardebeeldsatelliet, een joint venture van USGS en NASA, diende als een fundamenteel onderdeel van het project.

Met de ZoekRasterDataCollection API, SageMaker biedt een speciaal gebouwde functionaliteit om het ophalen van satellietbeelden te vergemakkelijken. Gramener gebruikte deze API om Landsat 8-satellietgegevens op te halen voor de UHI-oplossing.

De SearchRasterDataCollection API gebruikt de volgende invoerparameters:

  • Arno โ€“ De Amazon Resource Name (ARN) van de rastergegevensverzameling die in de query wordt gebruikt
  • Gebied van intresse โ€“ Een GeoJSON-polygoon die het interessegebied vertegenwoordigt
  • Tijdbereikfilter โ€“ Het tijdsbereik waarin u geรฏnteresseerd bent, aangeduid als {StartTime: <string>, EndTime: <string>}
  • PropertyFilters โ€“ Ook kunnen aanvullende eigenschapsfilters, zoals specificaties voor maximaal acceptabele bewolking, worden opgenomen

Het volgende voorbeeld laat zien hoe Landsat 8-gegevens kunnen worden opgevraagd via de 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)

Om grootschalige satellietgegevens te verwerken, gebruikte Gramener Amazon SageMaker-verwerking met de georuimtelijke container. SageMaker Processing maakt de flexibele schaalbaarheid van rekenclusters mogelijk om taken van verschillende omvang te kunnen uitvoeren, van het verwerken van een enkel stadsblok tot het beheren van werklasten op planetaire schaal. Traditioneel was het handmatig creรซren en beheren van een rekencluster voor dergelijke taken zowel kostbaar als tijdrovend, vooral vanwege de complexiteit die gepaard gaat met het standaardiseren van een omgeving die geschikt is voor de verwerking van georuimtelijke gegevens.

Met de gespecialiseerde georuimtelijke container in SageMaker is het beheren en uitvoeren van clusters voor georuimtelijke verwerking nu eenvoudiger geworden. Dit proces vereist minimale codeerinspanningen: u definieert eenvoudigweg de werklast, specificeert de locatie van de georuimtelijke gegevens in Amazon eenvoudige opslagservice (Amazon S3) en selecteer de juiste georuimtelijke container. SageMaker Processing voorziet vervolgens automatisch in de benodigde clusterbronnen, waardoor de efficiรซnte uitvoering van geospatiale taken op schalen die variรซren van stadsniveau tot continentniveau wordt vergemakkelijkt.

In behandeling

SageMaker beheert volledig de onderliggende infrastructuur die nodig is voor de verwerkingstaak. Het wijst clusterbronnen toe voor de duur van de taak en verwijdert deze na voltooiing van de taak. Ten slotte worden de resultaten van de verwerkingstaak opgeslagen in de daarvoor bestemde S3-bucket.

Een SageMaker Processing-taak die gebruikmaakt van de georuimtelijke afbeelding kan als volgt worden geconfigureerd vanuit het georuimtelijke notitieboekje:

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'
)

De parameter instance_count definieert hoeveel exemplaren de verwerkingstaak moet gebruiken, en de instance_type definieert welk type exemplaar moet worden gebruikt.

In het volgende voorbeeld ziet u hoe een Python-script wordt uitgevoerd op het verwerkingstaakcluster. Wanneer de run-opdracht wordt aangeroepen, start het cluster op en worden automatisch de benodigde clusterbronnen ingericht:

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
        )
    ]
)

Ruimtelijke modellering en LST-voorspellingen

Bij de verwerking wordt een reeks variabelen berekend, waaronder de spectrale straling van de top van de atmosfeer, de helderheidstemperatuur en de reflectie van Landsat 8. Bovendien worden morfologische variabelen zoals de vloeroppervlakteverhouding (FAR), de dekking van het bouwterrein, de dekking van bouwstenen en de Shannon-entropiewaarde berekend.

De volgende code laat zien hoe deze bandberekening kan worden uitgevoerd:

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 

Nadat de variabelen zijn berekend, worden zonale statistieken uitgevoerd om gegevens per raster te aggregeren. Dit omvat het berekenen van statistieken op basis van de relevante waarden binnen elke zone. Voor deze berekeningen is gebruik gemaakt van een rastergrootte van circa 100 meter.

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') 

Na het aggregeren van de gegevens wordt ruimtelijke modellering uitgevoerd. Gramener gebruikte ruimtelijke regressiemethoden, zoals lineaire regressie en ruimtelijke vaste effecten, om rekening te houden met ruimtelijke afhankelijkheid in de waarnemingen. Deze aanpak vergemakkelijkt het modelleren van de relatie tussen variabelen en LST op microniveau.

De volgende code illustreert hoe dergelijke ruimtelijke modellering kan worden uitgevoerd:

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 gebruikte exponentiรซle afvlakking om de LST-waarden te voorspellen. Exponentiรซle afvlakking is een effectieve methode voor het voorspellen van tijdreeksen, waarbij gewogen gemiddelden worden toegepast op gegevens uit het verleden, waarbij de gewichten in de loop van de tijd exponentieel afnemen. Deze methode is bijzonder effectief bij het gladstrijken van gegevens om trends en patronen te identificeren. Door exponentiรซle afvlakking te gebruiken, wordt het mogelijk om LST-trends met grotere precisie te visualiseren en te voorspellen, waardoor nauwkeurigere voorspellingen van toekomstige waarden op basis van historische patronen mogelijk zijn.

Om de voorspellingen te visualiseren, gebruikte Gramener het geospatiale notitieboekje van SageMaker met open-source geospatiale bibliotheken om modelvoorspellingen op een basiskaart te leggen en gelaagde gevisualiseerde geospatiale datasets rechtstreeks in het notitieboekje te bieden.

Visualisatie

Conclusie

Dit bericht liet zien hoe Gramener klanten in staat stelt datagestuurde beslissingen te nemen voor duurzame stedelijke omgevingen. Met SageMaker realiseerde Gramener aanzienlijke tijdbesparingen bij UHI-analyse, waardoor de verwerkingstijd werd teruggebracht van weken naar uren. Deze snelle generatie van inzichten stelt de klanten van Gramener in staat om gebieden aan te wijzen die UHI-beperkende strategieรซn vereisen, proactief stedelijke ontwikkelings- en infrastructuurprojecten te plannen om UHI te minimaliseren, en een holistisch inzicht te verwerven in omgevingsfactoren voor een uitgebreide risicobeoordeling.

Ontdek het potentieel van het integreren van aardobservatiegegevens in uw duurzaamheidsprojecten met SageMaker. Voor meer informatie, zie Ga aan de slag met de geospatiale mogelijkheden van Amazon SageMaker.


Over de auteurs

Abishek Mittal is een Solutions Architect voor het wereldwijde team uit de publieke sector bij Amazon Web Services (AWS), waar hij voornamelijk samenwerkt met ISV-partners uit verschillende sectoren en hen architectonische begeleiding biedt voor het bouwen van schaalbare architectuur en het implementeren van strategieรซn om de adoptie van AWS-services te stimuleren. Hij heeft een passie voor het moderniseren van traditionele platforms en beveiliging in de cloud. Buiten zijn werk is hij een reisliefhebber.

Janosch Woschitz is een Senior Solutions Architect bij AWS, gespecialiseerd in AI/ML. Met meer dan 15 jaar ervaring ondersteunt hij klanten wereldwijd bij het inzetten van AI en ML voor innovatieve oplossingen en het bouwen van ML-platforms op AWS. Zijn expertise omvat machine learning, data-engineering en schaalbare gedistribueerde systemen, aangevuld met een sterke achtergrond in software-engineering en branche-expertise op domeinen zoals autonoom rijden.

Shravan Kumar is een Senior Director of Client Success bij Gramener, met tien jaar ervaring in Business Analytics, Data Evangelism en het smeden van diepgaande klantrelaties. Hij heeft een solide basis in klantbeheer en accountbeheer op het gebied van data-analyse, AI en ML.

Avirat S is een georuimtelijke datawetenschapper bij Gramener en maakt gebruik van AI/ML om inzichten uit geografische gegevens te ontsluiten. Zijn expertise ligt op het gebied van rampenbeheersing, landbouw en stadsplanning, waarbij zijn analyse besluitvormingsprocessen informeert.

spot_img

Laatste intelligentie

spot_img