Spaceborne-gegevensanalyse met Azure Synapse Analytics

Azure Synapse Analytics
Azure AI services
Azure Computer Vision
Azure Batch
Azure Storage

Deze architectuur is ontworpen om een end-to-end-implementatie weer te geven waarbij ruimtegebonden gegevens worden geëxtraheerd, geladen, getransformeerd en geanalyseerd met behulp van georuimtelijke bibliotheken en AI-modellen met Azure Synapse Analytics. In dit artikel wordt ook beschreven hoe u georuimtelijke Azure Cognitive Services-modellen, AI-modellen van partners, bring-your-own-data en AI-modellen die gebruikmaken van Azure Synapse Analytics kunt integreren. De beoogde doelgroep voor dit document is gebruikers met tussenliggende vaardigheidsniveaus in het werken met georuimtelijke of ruimtegebonden gegevens.

Een implementatie van deze architectuur is beschikbaar op GitHub.

Apache®, Apache Spark, Spark, het Spark-logo, Apache Sedona, Apache Incubator, het Apache Feather-logo en het Apache Incubator-projectlogo zijn gedeponeerde handelsmerken of handelsmerken van de Apache Software Foundation in de Verenigde Staten en/of andere landen. Het gebruik van deze markeringen impliceert geen goedkeuring door De Apache Software Foundation.

Architectuur

Diagram met de oplossing voor analyse van georuimtelijke verwerking.

Een Visio-bestand van deze architectuur downloaden.

Gegevensstroom

In de volgende secties worden de fasen in de architectuur beschreven.

Gegevensopname

Spaceborne-gegevens worden opgehaald uit gegevensbronnen zoals Airbus, NAIP/USDA (via de Planetary Computer-API) en Maxar. Gegevens worden opgenomen in Azure Data Lake Storage.

Azure Synapse Analytics biedt verschillende pijplijnen en activiteiten, zoals webactiviteit, Gegevensstroom-activiteit en aangepaste activiteiten, om verbinding te maken met deze bronnen en de gegevens te kopiëren naar Data Lake Storage.

Azure Synapse Aangepaste activiteiten worden uw aangepaste codelogica uitgevoerd op een Azure Batch groep virtuele machines of in docker-compatibele containers.

Gegevenstransformatie

De gegevens worden verwerkt en getransformeerd in een indeling die analisten en AI-modellen kunnen gebruiken. Georuimtelijke bibliotheken, waaronder GDAL, OGR, Rasterio en GeoPandas, zijn beschikbaar om de transformatie uit te voeren.

Azure Synapse Spark-pools bieden de mogelijkheid om deze bibliotheken te configureren en te gebruiken om de gegevenstransformaties uit te voeren. U kunt ook Azure Synapse Aangepaste activiteiten gebruiken, die gebruikmaken van Azure Batch pools.

Een Azure Synapse notebook is een webinterface die u kunt gebruiken om bestanden te maken die livecode, visualisaties en verhalende tekst bevatten. Notebooks zijn een goede plek om ideeën te valideren, transformaties te definiëren en snelle experimenten uit te voeren om inzichten uit uw gegevens te verkrijgen en een pijplijn te bouwen. In de voorbeeldcode wordt de GDAL-bibliotheek gebruikt in een Spark-pool om gegevenstransformaties uit te voeren. Zie de sectie voorbeeldcode van dit artikel voor meer informatie.

De voorbeeldoplossing implementeert deze pijplijn uit deze stap voor gegevenstransformatie. Het voorbeeld is geschreven met de veronderstelling dat gegevens worden gekopieerd in Data Lake Storage door de eerder beschreven methoden voor gegevensopname. Het demonstreert de implementatie van deze pijplijn voor de verwerking van rastergegevens.

Analyse en uitvoering van AI-modellen

De Azure Synapse notebook-omgeving analyseert en voert AI-modellen uit.

AI-modellen die zijn ontwikkeld met services zoals het Cognitive Services Custom Vision-model, getraind in hun eigen omgeving en verpakt als Docker-containers, zijn beschikbaar in de Azure Synapse-omgeving.

In de Azure Synapse-omgeving kunt u ook AI-modellen uitvoeren die beschikbaar zijn bij partners voor verschillende mogelijkheden, zoals objectdetectie, wijzigingsdetectie en landclassificatie. Deze modellen worden getraind in hun eigen omgeving en verpakt als Docker-containers.

Azure Synapse kunt dergelijke AI-modellen uitvoeren via een aangepaste activiteit die code uitvoert in Batch-pools als uitvoerbare bestanden of Docker-containers. De voorbeeldoplossing laat zien hoe u een Custom Vision AI-model uitvoert als onderdeel van een Azure Synapse-pijplijn voor objectdetectie in een specifiek georuimtelijk gebied.

Na analyse en visualisatie

  • Voor verdere analyse en visualisatie kan uitvoer van analyse en uitvoering van de AI-modellen worden opgeslagen in Data Lake Storage, gegevensbewuste databases zoals Azure Database for PostgreSQL of Azure Cosmos DB. De voorbeeldoplossing laat zien hoe u ai-modeluitvoer transformeert en opslaat als GeoJSON-gegevens in Data Lake Storage en Azure Database for PostgreSQL. U kunt de uitvoer daar ophalen en er query's op uitvoeren.
  • Voor visualisatie:
    • U kunt gelicentieerde hulpprogramma's zoals ArcGIS Desktop of opensource-hulpprogramma's zoals QGIS gebruiken.
    • U kunt Power BI gebruiken om toegang te krijgen tot GeoJSON vanuit verschillende gegevensbronnen en om de GIS-gegevens (Geographic Information System) te visualiseren.
    • U kunt georuimtelijke JavaScript-bibliotheken aan de clientzijde gebruiken om de gegevens in webtoepassingen te visualiseren.

Onderdelen

Gegevensbronnen

Gegevensopname

  • Azure Synapse Analytics is een onbeperkte analyseservice die gegevensintegratie, zakelijke datawarehousing en big data-analyse combineert. Azure Synapse bevat dezelfde Data-Integratie engine en ervaringen als Azure Data Factory, zodat u ETL-pijplijnen op schaal kunt maken zonder Azure Synapse te verlaten.
  • Azure Data Lake Storage is gericht op big data-analyse en is gebaseerd op Azure Blob Storage.
  • met Azure Batch kunt u een groot aantal batchcomputingtaken uitvoeren en schalen in Azure. Batch-taken kunnen rechtstreeks worden uitgevoerd op virtuele machines (knooppunten) in een Batch-pool, maar u kunt ook een Batch-pool instellen om taken uit te voeren in docker-compatibele containers op de knooppunten.
    • Een Azure Synapse Aangepaste activiteit voert aangepaste codelogica uit op een Azure Batch groep virtuele machines of in Docker-containers.
  • Azure Key Vault slaat de toegang tot geheimen op en beheert deze, zoals tokens, wachtwoorden en API-sleutels. Key Vault maakt en beheert ook versleutelingssleutels en beheert beveiligingscertificaten.

Gegevenstransformatie

De volgende georuimtelijke bibliotheken en pakketten worden samen gebruikt voor transformaties. Deze bibliotheken en pakketten worden geïnstalleerd in een serverloze Spark-pool, die vervolgens wordt gekoppeld aan een Azure Synapse notebook. Zie Georuimtelijke pakketten installeren in een Azure Synapse Spark-pool verderop in dit artikel voor meer informatie over het installeren van de bibliotheken.

  • Georuimtelijke bibliotheken
    • GDAL is een bibliotheek met hulpprogramma's voor het bewerken van door ruimte overgedragen gegevens. GDAL werkt op raster- en vectorgegevenstypen. Het is een goed hulpmiddel om te weten of u met spaceborne-gegevens werkt.
    • Rasterio is een module voor rasterverwerking. U kunt het gebruiken om verschillende rasterindelingen te lezen en te schrijven in Python. Rasterio is gebaseerd op GDAL. Wanneer de module wordt geïmporteerd, registreert Python automatisch alle bekende GDAL-stuurprogramma's voor het lezen van ondersteunde indelingen.
    • GeoPandas is een opensource-project waarmee u eenvoudiger kunt werken met door ruimte overgedragen gegevens in Python. GeoPandas breidt de gegevenstypen uit die door Pandas worden gebruikt om ruimtelijke bewerkingen op geometrische typen toe te staan.
    • Shapely is een Python-pakket voor settheoretische analyse en manipulatie van planaire functies. Er worden (via de module ctypes van Python) functies uit de breed geïmplementeerde GEOS-bibliotheek gebruikt.
    • pyproj voert cartografische transformaties uit. Het converteert van lengtegraad en breedtegraad naar systeemeigen kaartprojectie x, y-coördinaten en vice versa, met behulp van PROJ.
  • met Azure Batch kunt u een groot aantal batchcomputingtaken uitvoeren en schalen in Azure.
  • Azure Synapse notebooks is een webinterface voor het maken van bestanden die live code, visualisaties en verhalende tekst bevatten. U kunt bestaande Azure Synapse-notitieblokken toevoegen aan een Azure Synapse-pijplijn met behulp van de Notebook-activiteit.
  • Apache Spark-pool biedt de mogelijkheid om bibliotheken te configureren en te gebruiken om gegevenstransformaties uit te voeren. U kunt bestaande Spark-taken toevoegen aan een Azure Synapse-pijplijn met behulp van de spark-taakdefinitieactiviteit.

Analyse en AI-modellering

  • Azure Synapse biedt mogelijkheden voor machine learning.
  • met Azure Batch kunt u een groot aantal batchcomputingtaken uitvoeren en schalen in Azure. In deze oplossing wordt de activiteit Azure Synapse Aangepast gebruikt om OP Docker gebaseerde AI-modellen uit te voeren op Azure Batch pools.
  • Azure Cognitive Services biedt de mogelijkheid om vision in te sluiten in uw apps. U kunt Custom Vision, een onderdeel van Cognitive Services, gebruiken om de state-of-the-art Computer Vision-afbeeldingsanalyse voor specifieke domeinen aan te passen en in te sluiten.
  • U kunt ook bring-your-own AI-modellen en AI-modellen van Microsoft-partners gebruiken, zoals blackshark.ai.

Koppelingen na analyse en visualisatie

  • Azure Database for PostgreSQL is een volledig beheerde relationele databaseservice die is ontworpen voor hyperscale-workloads. Het ondersteunt spaceborne-gegevens via de PostGIS-extensie .
  • Azure Cosmos DB ondersteunt het indexeren en opvragen van georuimtelijke puntgegevens die worden weergegeven in GeoJSON.
  • Power BI is een interactief hulpprogramma voor gegevensvisualisatie voor het bouwen van rapporten en dashboards. U kunt inzicht krijgen in door de ruimte overgedragen gegevens van Esri ArcGIS Maps.
  • QGIS is een gratis open-source GIS voor het maken, bewerken, visualiseren, analyseren en publiceren van georuimtelijke informatie.
  • ArcGIS Desktop is een gelicentieerd product dat wordt geleverd door Esri. U kunt deze gebruiken om geografische gegevens te maken, analyseren, beheren en delen.

Alternatieven

Als u AI-modellen in containers wilt uitvoeren die u vanuit Azure Synapse kunt aanroepen, kunt u Azure Kubernetes Service, Azure Container Instances of Azure Container Apps gebruiken.

Azure Databricks biedt een alternatief voor het hosten van een analysepijplijn.

Spark in Azure HDInsight biedt een alternatief voor het gebruik van georuimtelijke bibliotheken in de Apache Spark-omgeving.

Hier volgen enkele alternatieve bibliotheken en frameworks die u kunt gebruiken voor de verwerking van door ruimte overgedragen gegevens:

  • Apache Broken, voorheen GeoSpark genaamd, is een clustercomputingsysteem voor het verwerken van grootschalige ruimtelijke gegevens. Broken breidt Spark en Spark SQL uit met kant-en-klare spatial resilient gedistribueerde gegevenssets en SpatialSQL waarmee grootschalige ruimtelijke gegevens op verschillende machines efficiënt kunnen worden geladen, verwerkt en geanalyseerd.
  • Dask voor Python is een bibliotheek voor parallelle computing waarmee het bestaande Python-ecosysteem wordt geschaald.

Scenariodetails

Het verzamelen van door space overgedragen gegevens komt steeds vaker voor. Voor de toepassing van kunstmatige intelligentie zijn opgeslagen archieven van gegevens nodig voor machine learning. De noodzaak om een cloudoplossing te bouwen voor door ruimte overgedragen gegevensanalyse is belangrijker geworden om ondernemingen en overheden in staat te stellen beter geïnformeerde zakelijke en tactische beslissingen te nemen.

Potentiële gebruikscases

Deze oplossing is ideaal voor de luchtvaart- en vliegtuigindustrie. Deze scenario's worden aangepakt:

  • Opname en verwerking van rastergegevens
  • Objectdetectie via vooraf getrainde AI-modellen
  • Classificatie van landmassa's via AI-modellen
  • Wijzigingen in de omgeving bewaken via AI-modellen
  • Afgeleide gegevenssets van voorverwerkte afbeeldingensets
  • Vectorvisualisatie/klein gebiedsverbruik
  • Vectorgegevens filteren en cross-data joins

Overwegingen

Met deze overwegingen worden de pijlers van het Azure Well-Architected Framework geïmplementeerd. Dit is een set richtlijnen die kunnen worden gebruikt om de kwaliteit van een workload te verbeteren. Zie Microsoft Azure Well-Architected Framework voor meer informatie.

Operationele uitmuntendheid

Als u samenwerkt met behulp van Git voor broncodebeheer, kunt u Synapse Studio gebruiken om uw werkruimte te koppelen aan een Git-opslagplaats, Azure DevOps of GitHub. Zie Broncodebeheer in Synapse Studio voor meer informatie.

  • In een Azure Synapse werkruimte verplaatst CI/CD alle entiteiten van de ene omgeving (ontwikkeling, test, productie) naar een andere omgeving.
  • U kunt Azure DevOps-releasepijplijnen en GitHub Actions gebruiken om de implementatie van een Azure Synapse werkruimte in meerdere omgevingen te automatiseren.

Prestaties

  • Azure Synapse ondersteunt Apache Spark 3.1.2, wat beter presteert dan zijn voorgangers.
  • Zie Spark-pools in Azure Synapse Analytics voor meer informatie over het schalen van Spark-pools en de grootte van knooppunten.
  • Met Azure Batch kunt u intrinsiek parallel uitschalen voor transformaties die zijn ingediend in een Azure Synapse Aangepaste activiteit. Azure Batch ondersteunt gespecialiseerde, voor GPU geoptimaliseerde VM-grootten die u kunt gebruiken om AI-modellen uit te voeren.

Betrouwbaarheid

Betrouwbaarheid zorgt ervoor dat uw toepassing kan voldoen aan de toezeggingen die u aan uw klanten doet. Zie Overzicht van de betrouwbaarheidspijler voor meer informatie.

Zie Azure Synapse SLA voor informatie over sla's.

Beveiliging

Beveiliging biedt garanties tegen opzettelijke aanvallen en misbruik van uw waardevolle gegevens en systemen. Zie Overzicht van de beveiligingspijler voor meer informatie.

Zie deze artikelen voor aanbevolen procedures voor beveiliging:

Kostenoptimalisatie

Kostenoptimalisatie gaat over het zoeken naar manieren om onnodige uitgaven te verminderen en de operationele efficiëntie te verbeteren. Zie Overzicht van de pijler kostenoptimalisatie voor meer informatie.

Deze bronnen bieden informatie over prijs- en kostenoptimalisatie:

Notitie

Zie de documentatie van de partner voor prijzen en licentievoorwaarden voor AI-modellen van partners.

Dit scenario implementeren

Er is een Bicep-implementatie van de voorbeeldoplossing beschikbaar. Zie deze instructies om aan de slag te gaan met deze implementatie.

Diagram met de architectuur van de geïmplementeerde voorbeeldoplossing.

Een Visio-bestand van deze architectuur downloaden.

Beperkingen

Deze architectuur demonstreert een end-to-end oplossing voor geoverwerking en analyse die gebruikmaakt van Azure Synapse. Deze voorbeeld-implementatie is gericht op een klein tot gemiddeld interessegebied en beperkte gelijktijdige geoverwerking van rastergegevens.

Voorbeeldcode

In de volgende instructies wordt beschreven hoe u transformaties kunt lezen, schrijven en toepassen op rastergegevens die zijn opgeslagen in Azure Data Lake Storage met behulp van een Synapse-notebook. De bedoeling is meer om het gebruik van bibliotheken in Synapse-notebooks te demonstreren dan om de transformatie te demonstreren.

Vereisten

Instructies

  • Informatie uit de rastergegevens afdrukken:

    from osgeo import gdal
    gdal.UseExceptions()
    access_key = TokenLibrary.getSecret('<key-vault-name>','<secret-name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCOUNT', '<storage_account_name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCESS_KEY', access_key)
    dataset_info = gdal.Info('/vsiadls/aoa/input/sample_image.tiff')  #/vsiadls/<container_name>/path/to/image
    print(dataset_info)
    

    Notitie

    /vsiadls/is een bestandssysteemhandler waarmee u on-the-fly willekeurig kunt lezen van voornamelijk niet-openbare bestanden die beschikbaar zijn in Azure Data Lake Storage bestandssystemen. U hoeft het hele bestand niet vooraf te downloaden. /vsiadls/ is vergelijkbaar met /vsiaz/. Voor verificatie worden dezelfde configuratieopties gebruikt. In tegenstelling tot /vsiaz/, /vsiadls/ biedt echt directorybeheer en ondersteuning voor ACL's in Unix-stijl. Voor sommige functies moet hiërarchische ondersteuning zijn ingeschakeld in Azure Storage. Zie de /vsiadls/ documentatie voor meer informatie.

    Driver: GTiff/GeoTIFF
    Files: /vsiadls/naip/input/sample_image.tiff
    Size is 6634, 7565
    Coordinate System is:
    PROJCRS["NAD83 / UTM zone 16N",
        BASEGEOGCRS["NAD83",
            DATUM["North American Datum 1983",
                ELLIPSOID["GRS 1980",6378137,298.257222101,
                    LENGTHUNIT["metre",1]]],
            PRIMEM["Greenwich",0,
                ANGLEUNIT["degree",0.0174532925199433]],
            ID["EPSG",4269]],
        CONVERSION["UTM zone 16N",
            METHOD["Transverse Mercator",
                ID["EPSG",9807]],
            PARAMETER["Latitude of natural origin",0,
                ANGLEUNIT["degree",0.0174532925199433],
                ID["EPSG",8801]],
            PARAMETER["Longitude of natural origin",-87,
                ANGLEUNIT["degree",0.0174532925199433],
                ID["EPSG",8802]],
            PARAMETER["Scale factor at natural origin",0.9996,
                SCALEUNIT["unity",1],
                ID["EPSG",8805]],
            PARAMETER["False easting",500000,
                LENGTHUNIT["metre",1],
                ID["EPSG",8806]],
            PARAMETER["False northing",0,
                LENGTHUNIT["metre",1],
                ID["EPSG",8807]]],
        CS[Cartesian,2],
            AXIS["(E)",east,
                ORDER[1],
                LENGTHUNIT["metre",1]],
            AXIS["(N)",north,
                ORDER[2],
                LENGTHUNIT["metre",1]],
        USAGE[
            SCOPE["Engineering survey, topographic mapping."],
            AREA["North America - between 90°W and 84°W - onshore and offshore. Canada - Manitoba; Nunavut; Ontario. United States (USA) - Alabama; Arkansas; Florida; Georgia; Indiana; Illinois; Kentucky; Louisiana; Michigan; Minnesota; Mississippi; Missouri; North Carolina; Ohio; Tennessee; Wisconsin."],
            BBOX[23.97,-90,84,-84]],
        ID["EPSG",26916]]
    Data axis to CRS axis mapping: 1,2
    Origin = (427820.000000000000000,3395510.000000000000000)
    Pixel Size = (1.000000000000000,-1.000000000000000)
    Metadata:
      AREA_OR_POINT=Area
    Image Structure Metadata:
      COMPRESSION=DEFLATE
      INTERLEAVE=PIXEL
      LAYOUT=COG
      PREDICTOR=2
    Corner Coordinates:
    Upper Left  (  427820.000, 3395510.000) ( 87d45'13.12"W, 30d41'24.67"N)
    Lower Left  (  427820.000, 3387945.000) ( 87d45'11.21"W, 30d37'18.94"N)
    Upper Right (  434454.000, 3395510.000) ( 87d41' 3.77"W, 30d41'26.05"N)
    Lower Right (  434454.000, 3387945.000) ( 87d41' 2.04"W, 30d37'20.32"N)
    Center      (  431137.000, 3391727.500) ( 87d43' 7.54"W, 30d39'22.51"N)
    Band 1 Block=512x512 Type=Byte, ColorInterp=Red
      Overviews: 3317x3782, 1658x1891, 829x945, 414x472
    Band 2 Block=512x512 Type=Byte, ColorInterp=Green
      Overviews: 3317x3782, 1658x1891, 829x945, 414x472
    Band 3 Block=512x512 Type=Byte, ColorInterp=Blue
      Overviews: 3317x3782, 1658x1891, 829x945, 414x472
    Band 4 Block=512x512 Type=Byte, ColorInterp=Undefined
      Overviews: 3317x3782, 1658x1891, 829x945, 414x472
    
  • GeoTiff converteren naar PNG met behulp van GDAL:

    from osgeo import gdal
    gdal.UseExceptions()
    access_key = TokenLibrary.getSecret('<key-vault-name>','<secret-name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCOUNT', '<storage_account_name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCESS_KEY', access_key)
    tiff_in = "/vsiadls/aoa/input/sample_image.tiff" #/vsiadls/<container_name>/path/to/image
    png_out = "/vsiadls/aoa/input/sample_image.png" #/vsiadls/<container_name>/path/to/image
    options = gdal.TranslateOptions(format='PNG')
    gdal.Translate(png_out, tiff_in, options=options)
    
  • GeoTiff-afbeeldingen opslaan in Azure Data Lake Storage.

    Vanwege de manier waarop gegevens worden opgeslagen in de cloud en het feit dat de bestandshandlers /vsiaz/ alleen /vsiadls/ sequentiële schrijfbewerkingen ondersteunen, gebruiken we de functie voor bestandskoppeling die beschikbaar is in het mssparkutils-pakket. Nadat de uitvoer naar een koppellocatie is geschreven, kopieert u deze naar Azure Data Lake Storage zoals wordt weergegeven in deze voorbeeldtransformatie:

    import shutil
    import sys
    from osgeo import gdal
    from notebookutils import mssparkutils
    
    mssparkutils.fs.mount(
        "abfss://<container_name>@<storage_account_name>.dfs.core.windows.net",
        "/<mount_path>",
        {"linkedService":"<linked_service_name>"}
    )
    
    access_key = TokenLibrary.getSecret('<key-vault-name>','<secret-name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCOUNT', '<storage_account_name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCESS_KEY', access_key)
    
    options = gdal.WarpOptions(options=['tr'], xRes=1000, yRes=1000)
    gdal.Warp('dst_img.tiff', '/vsiadls/<container_name>/path/to/src_img.tiff', options=options)
    
    jobId = mssparkutils.env.getJobId()
    
    shutil.copy("dst_img.tiff", f"/synfs/{jobId}/<mount_path>/path/to/dst_img.tiff")
    

    In Azure Synapse kunt u Azure Data Lake Storage toevoegen als een van de gekoppelde services. Zie Gekoppelde services voor instructies.

Voorbeeldoplossing

Een implementatie van deze architectuur is beschikbaar op GitHub.

In dit diagram ziet u de stappen in de voorbeeldoplossing:

Diagram met de stappen in de voorbeeldoplossing.

Een Visio-bestand van deze architectuur downloaden.

Notitie

De gegevens worden opgehaald uit door de ruimte overgedragen gegevensbronnen en gekopieerd naar Azure Data Lake Storage. De gegevensopname maakt geen deel uit van de referentie-implementatie.

  1. Een Azure Synapse-pijplijn leest de door ruimte overgedragen gegevens uit Azure Data Lake Storage.
  2. De gegevens worden verwerkt met de GDAL-bibliotheek in een Azure Synapse notebook.
  3. De verwerkte gegevens worden opgeslagen in Azure Data Lake Storage.
  4. De verwerkte gegevens worden gelezen uit Azure Data Lake Storage en doorgegeven aan objectdetectie Custom Vision AI-modellen door een Azure Synapse Aangepaste activiteit. De aangepaste activiteit maakt gebruik van Azure Batch pools om het objectdetectiemodel uit te voeren.
  5. Het objectdetectiemodel voert een lijst met gedetecteerde objecten en begrenzingsvakken uit.
  6. De gedetecteerde objecten worden geconverteerd naar GeoJSON en opgeslagen in Azure Data Lake Storage.
  7. De GeoJSON-gegevens worden gelezen uit Azure Data Lake Storage en opgeslagen in een PostgreSQL-database.
  8. De gegevens worden gelezen uit de PostgreSQL-database. Het kan verder worden gevisualiseerd in hulpprogramma's zoals ArcGIS Pro, QGIS en Power BI.

Georuimtelijke pakketten installeren in een Azure Synapse Spark-pool

U moet de pakketten installeren in een Azure Synapse Spark-pool met behulp van de functie voor pakketbeheer. Zie Azure Synapse-pakketbeheer voor meer informatie.

Als u ruimte-overgedragen gegevensworkloads op Azure Synapse wilt ondersteunen, hebt u bibliotheken zoals GDAL, Rasterio en GeoPandas nodig. U kunt deze bibliotheken installeren in een serverloze Apache Spark-pool met behulp van een YAML-bestand. Anaconda-bibliotheken zijn vooraf geïnstalleerd in de Spark-pool.

Vereisten

Instructies

  1. De volgende bibliotheken en pakketten zijn beschikbaar in het bestand environment.yml . U wordt aangeraden dit bestand te gebruiken om de bibliotheken in de Spark-pools te installeren. Als u de onderstaande inhoud kopieert, moet u ervoor zorgen dat er geen tabbladen zijn, omdat YAML alleen spaties als inspringing toestaat.

    name: aoi-env
    channels:
      - conda-forge
      - defaults
    dependencies:
      - azure-storage-file-datalake
      - gdal=3.3.0
      - libgdal
      - pip>=20.1.1
      - pyproj
      - shapely
      - pip:
        - rasterio
        - geopandas
    

    Notitie

    GDAL maakt gebruik van het /vsiadls/ virtuele bestandssysteem voor Azure Data Lake Storage. Deze functionaliteit is beschikbaar vanaf GDAL v3.3.0. Zorg ervoor dat u versie 3.3.0 of hoger gebruikt.

  2. Ga naar https://web.azuresynapse.net en meld u aan bij uw werkruimte.

  3. Selecteer Beheren in het navigatiedeelvenster en selecteer vervolgens Apache Spark-pools.

  4. Selecteer Pakketten door de knop met het beletselteken (...) te selecteren in de Spark-pool. Upload het bestand environment.yml van lokaal en pas de pakketinstellingen toe.

  5. De meldingssectie van de portal meldt u wanneer de installatie is voltooid. U kunt ook de voortgang van de installatie bijhouden door de volgende stappen uit te voeren:

    1. Ga naar de lijst met Spark-toepassingen op het tabblad Monitor .
    2. Selecteer de koppeling SystemReservedJob-LibraryManagement die overeenkomt met uw poolupdate.
    3. Bekijk de stuurprogrammalogboeken.
  6. Voer de volgende code uit om te controleren of de juiste versies van de bibliotheken zijn geïnstalleerd. De vooraf geïnstalleerde bibliotheken die Conda installeert, worden ook vermeld.

    import pkg_resources
    for d in pkg_resources.working_set:
       print(d)
    

Zie Pakketten beheren voor meer informatie.

Medewerkers

Dit artikel wordt bijgewerkt en onderhouden door Microsoft. Het is oorspronkelijk geschreven door de volgende inzenders.

Hoofdauteurs:

Aanvullende inzenders:

Volgende stappen