Share via


Een SEG-Y-bestand converteren naar ZGY

In dit artikel leert u hoe u gegevens met SEG-Y-indeling converteert naar de ZGY-indeling. Seismic-gegevens die zijn opgeslagen in de industriestandaard SEG-Y-indeling kunnen worden geconverteerd naar ZGY voor gebruik in toepassingen zoals Petrel via de Seismic DMS. Zie hier voor veelgestelde vragen over ZGY-conversie en meer achtergrond in de OSDU-community® hier: SEG-Y naar ZGY-gesprek. Deze zelfstudie is een stapsgewijze richtlijn voor het uitvoeren van de conversie. Houd er rekening mee dat de werkelijke productiewerkstroom kan verschillen en kan worden gebruikt als richtlijn voor de vereiste set stappen om de conversie te bereiken.

Vereisten

De details van uw Azure Data Manager for Energy-exemplaar ophalen

De eerste stap is het ophalen van de volgende informatie uit uw Azure Data Manager for Energy-exemplaar in Azure Portal:

Parameter Weergegeven als Opmerking
client_id Client-id van toepassing 3dbbbcc2-f28f-44b6-a5ab-xxxxxxxxxxxxxx
client_secret Clientgeheimen _Fl******************
tenant_id Id van directory (tenant) 72f988bf-86f1-41af-91ab-xxxxxxxxxxxxxx
base_url URL https://<instance>.energy.azure.com
gegevenspartitie-id Gegevenspartitie(s) <data-partition-name>

U gebruikt deze informatie verderop in de zelfstudie.

Postman instellen

Stel vervolgens Postman in:

  1. Download en installeer de Postman-bureaublad-app .

  2. Importeer de volgende bestanden in Postman:

    De bestanden importeren:

    1. Selecteer Importeren in Postman.

    Schermopname van de knop Importeren in Postman.

    1. Plak de URL van elk bestand in het zoekvak.

    Schermopname van het importeren van verzamelings- en omgevingsbestanden in Postman via URL.

  3. Werk IN de Postman-omgeving CURRENT VALUE bij met de informatie van uw Azure Data Manager for Energy-exemplaardetails

    1. Selecteer in Postman in het linkermenu Omgevingen en selecteer vervolgens SEGYtoZGY Environment.

    2. Voer in de kolom CURRENT VALUE de informatie in die wordt beschreven in de tabel in 'Get your Azure Data Manager for Energy instance details'.

    Schermopname die laat zien waar huidige waarden moeten worden ingevoerd in de SEGYtoZGY-omgeving.

Stapsgewijs proces voor het converteren van HET SEG-Y-bestand naar ZGY-bestand

De Postman-verzameling bevat alle voorbeeldoproepen die als richtlijn dienen. U kunt ook de equivalente cURL-opdracht voor een Postman-aanroep ophalen door op de knop Code te klikken.

Schermopname van de knop Code in Postman.

Schermopname van het maken van een juridische tag.

Gegevenssetbestanden voorbereiden

Bereid het metagegevens-/manifestbestand/recordbestand voor de gegevensset voor. Het manifestbestand bevat:

  • WorkProduct
  • SeismicBinGrid
  • FileCollection
  • SeismicTraceData

Conversie maakt gebruik van een manifestbestand dat u later naar uw opslagaccount uploadt om de conversie uit te voeren. Dit manifestbestand wordt gemaakt met behulp van meerdere JSON-bestanden en het uitvoeren van een script. De JSON-bestanden voor dit proces worden hier opgeslagen voor de Volve-gegevensset. Ga naar hun website voor meer informatie over Volve, zoals waar de gegevenssetdefinities vandaan komen. Voer de volgende stappen uit om het manifestbestand te maken:

  1. Kloon de opslagplaats en navigeer naar de map doc/sample-records/volve
  2. Bewerk de waarden in het prepare-records.sh bash-script. Zoals u weet, wordt de indeling van de juridische tag voorafgegaan door de naam van het Azure Data Manager for Energy-exemplaar en de naam van de <instancename>-<datapartitionname>-<legaltagname>gegevenspartitie.
DATA_PARTITION_ID=<your-partition-id>
ACL_OWNER=data.default.owners@<your-partition-id>.<your-tenant>.com
ACL_VIEWER=data.default.viewers@<your-partition-id>.<your-tenant>.com
LEGAL_TAG=<legal-tag-created>
  1. Voer het prepare-records.sh-script uit.
  2. De uitvoer is een JSON-matrix met alle objecten en wordt opgeslagen in het all_records.json bestand.
  3. Sla de filecollection_segy_id en de work_product_id waarden in dat JSON-bestand op voor gebruik in de conversiestap. Op die manier weet het conversieprogramma waar deze inhoud van je all_records.jsonmoet zoeken.

Notitie

Het all_records.json bestand moet ook de juiste gegevens voor elk element bevatten.

Voorbeeld: De volgende parameters worden gebruikt bij het berekenen van de ZGY-coördinaten voor SeismicBinGrid:

  • P6BinGridOriginEasting
  • P6BinGridOriginI
  • P6BinGridOriginJ
  • P6BinGridOriginNorthing
  • P6ScaleFactorOfBinGrid
  • P6BinNodeIncrementOnIaxis
  • P6BinNodeIncrementOnJaxis
  • P6BinWidthOnIaxis
  • P6BinWidthOnJaxis
  • P6MapGridBearingOfBinGridJaxis
  • P6TransformationMethod
  • persistableReferenceCrs van het asIngestedCoordinates blok Als de SeismicBinGrid P6-parameters en de CRS zijn opgegeven AsIngestedCoordinates, moet de conversie zelf kunnen worden voltooid, maar Petrel begrijpt de meetkunde van de enquête niet tenzij het ook de 5 hoekpunten onder SpatialArea,AsIngestedCoordinates, SpatialAreaen Wgs84Coordinates.

Gebruikerstoegang

De gebruiker moet deel uitmaken van de users.datalake.admins groep. Valideer de huidige rechten voor de gebruiker met behulp van de volgende aanroep:

Schermopname van de API-aanroep om gebruikersgroepen op te halen in Postman.

Verderop in deze zelfstudie hebt u ten minste één owner en ten minste één viewernodig. Deze gebruikersgroepen zien er als volgt data.default.owners uit en data.default.viewers. Noteer een van beide in uw lijst.

Als de gebruiker geen deel uitmaakt van de vereiste groep, kunt u het vereiste recht toevoegen met behulp van de volgende voorbeeldaanroep: e-mail-id: Is de waarde 'ID' geretourneerd door de bovenstaande aanroep.

Schermopname van de API-aanroep om een gebruiker als beheerder in Postman te registreren.

Als u nog geen rechtengroepen hebt gemaakt, volgt u de aanwijzingen zoals beschreven in Gebruikers beheren. Als u wilt zien welke groepen u hebt, gebruikt u Rechtengroepen ophalen voor een bepaalde gebruiker. Isolatie van gegevenstoegang wordt bereikt met deze toegewezen ACL (toegangsbeheerlijst) per object binnen een bepaalde gegevenspartitie.

Subproject voorbereiden

1. Gegevenspartitie registreren bij Seismic

Schermopname van de API-aanroep voor het registreren van een gegevenspartitie als een seismische tenant in Postman.

2. Subproject maken

Gebruik de eerder gemaakte rechtengroepen die u wilt toevoegen als ACL-beheerders en -viewers. Rechten voor gegevenspartities worden niet noodzakelijkerwijs omgezet in de subprojecten in het project, dus het is belangrijk om expliciet te zijn over de ACL's voor elk subproject, ongeacht de gegevenspartitie waarin het zich bevindt.

Schermopname van de API-aanroep voor het maken van een seismisch subproject in Postman.

3. Gegevensset maken

Notitie

Deze stap is alleen vereist als u de seismische bestanden niet gebruikt sdutil voor het uploaden van de seismische bestanden.

Schermopname van de API-aanroep voor het maken van een seismische gegevensset in Postman.

Het bestand uploaden

Er zijn twee manieren om een SEGY-bestand te uploaden. Eén optie wordt gebruikt de sasurl via Postman / curl-aanroep. U moet Postman downloaden of Curl instellen op uw besturingssysteem. De tweede methode is het gebruik van SDUTIL. Als u zich via het hulpprogramma wilt aanmelden bij uw exemplaar voor ADME, moet u een vernieuwingstoken voor het exemplaar genereren. Zie Hoe u een verificatietoken genereert. U kunt ook de code van SDUTIL wijzigen om in plaats daarvan clientreferenties te gebruiken om u aan te melden. Als u dat nog niet hebt, moet u SDUTIL instellen. Download de codebasis en bewerk de config.yaml hoofdmap. Vervang de inhoud van dit configuratiebestand door de volgende yaml.

seistore:
    service: '{"azure": {"azureEnv":{"url": "<instance url>/seistore-svc/api/v3", "appkey": ""}}}'
    url: '<instance url>/seistore-svc/api/v3'
    cloud_provider: azure
    env: glab
    auth-mode: JWT Token
    ssl_verify: false
auth_provider:
    azure: '{ 
        "provider": "azure", 
        "authorize_url": "https://login.microsoftonline.com/", "oauth_token_host_end": "/oauth2/v2.0/token", 
        "scope_end":"/.default openid profile offline_access",
        "redirect_uri":"http://localhost:8080",
        "login_grant_type": "refresh_token",
        "refresh_token": "<RefreshToken acquired earlier>" 
        }'
azure:
    empty: none

Methode 1: Postman

Haal de sasurl op:

Schermopname van de API-aanroep om een GCS-upload-URL op te halen in Postman.

Upload het bestand:

U moet het bestand selecteren dat u wilt uploaden in de sectie Hoofdtekst van de API-aanroep.

Schermopname van de API-aanroep voor het uploaden van een bestand in Postman.

Schermopname van de API-aanroep voor het uploaden van een binair bestand in Postman.

Uploaden controleren

Schermopname van de API-aanroep om te controleren of een binair bestand is geüpload in Postman.

Methode 2: SDUTIL

sdutil is een OSDU-bureaubladhulpprogramma voor toegang tot seismische service. We gebruiken het om bestanden te uploaden/downloaden. Gebruik de azure-stable tag van SDUTIL.

Notitie

Wanneer u wordt uitgevoerd python sdutil config init, hoeft u niets in te voeren wanneer u hierom wordt gevraagd Insert the azure (azureGlabEnv) application key:.

python sdutil config init
python sdutil auth login
python sdutil ls sd://<data-partition-id>/<subproject>/

Upload uw seismic-bestand naar uw Seismic Store. Hier volgt een voorbeeld met een SEGY-indelingsbestand met de naam source.segy:

python sdutil cp <local folder>/source.segy sd://<data-partition-id>/<subproject>/destination.segy

Voorbeeld:

python sdutil cp ST10010ZC11_PZ_PSDM_KIRCH_FULL_T.MIG_FIN.POST_STACK.3D.JS-017536.segy sd://<data-partition-id>/<subproject>/destination.segy

Opslagrecords maken

Voeg de inhoud van uw all_records.json bestand in de opslag in voor werkproductgegevens, seismische traceringsgegevens, seismische rasters en bestandsverzameling. Kopieer en plak de inhoud van dat bestand in de aanvraagbody van de API-aanroep.

Schermopname van de API-aanroep voor het maken van opslagrecords in Postman.

Conversieprogramma uitvoeren

  1. Activeer de ZGY Conversion DAG om uw gegevens te converteren met behulp van de uitvoeringscontextwaarden die u hierboven hebt opgeslagen.

    Haal het id-token op uit sdutil voor het geüploade bestand of gebruik een access/bearer-token van Postman.

python sdutil auth idtoken

Schermopname van de API-aanroep om de conversiewerkstroom in Postman te starten.

  1. Laat de DAG naar de succeeded status gaan. U kunt de status controleren met behulp van de aanroep van de werkstroomstatus. De uitvoerings-id staat in het antwoord van de bovenstaande aanroep

Schermopname van de API-aanroep om de status van de conversiewerkstroom in Postman te controleren.

  1. U kunt zien of het geconverteerde bestand aanwezig is met behulp van de volgende opdracht in sdutil of in de Postman API-aanroep:

    python sdutil ls sd://<data-partition-id>/<subproject>
    

Schermopname van de API-aanroep om te controleren of het bestand is geconverteerd.

  1. U kunt het bestand downloaden en inspecteren met behulp van de sdutil-opdrachtcp :

    python sdutil cp sd://<data-partition-id>/<subproject>/<filename.zgy> <local/destination/path>
    

OSDU® is een handelsmerk van The Open Group.

Volgende stappen