Sdílet prostřednictvím


Jak převést SEG-Y soubor na ZGY

V tomto článku se dozvíte, jak převést data ve formátu SEG-Y do formátu ZGY. Seismická data uložená ve standardním formátu SEG-Y lze převést na ZGY pro použití v aplikacích, jako je Petrel prostřednictvím Seismic DMS. Podívejte se sem na nejčastější dotazy ke konverzi ZGY a další informace najdete v komunitě OSDU® zde: SEG-Y do ZGY konverzace. Tento kurz je podrobný návod, jak provést převod. Všimněte si, že skutečný produkční pracovní postup se může lišit a použít jako vodítko pro požadovanou sadu kroků k dosažení převodu.

Požadavky

Získání podrobností o instanci energie v Azure Data Manageru

Prvním krokem je získání následujících informací z instance Azure Data Manageru pro energii na webu Azure Portal:

Parametr Hodnota Příklad
client_id ID aplikace (klienta) 3dbbbcc2-f28f-44b6-a5ab-xxxxxxxxxx
tajný klíč klienta Tajné kódy klienta _Fl******************
tenant_id ID adresáře (klienta) 72f988bf-86f1-41af-91ab-xxxxxxxxxxxx
base_url Adresa URL https://<instance>.energy.azure.com
data-partition-id Datové oddíly <data-partition-name>

Tyto informace použijete později v tomto kurzu.

Nastavení nástroje Postman

Dále nastavte Postman:

  1. Stáhněte a nainstalujte desktopovou aplikaci Postman .

  2. Naimportujte následující soubory v Nástroji Postman:

    Import souborů:

    1. Vyberte Importovat v nástroji Postman.

    Snímek obrazovky znázorňující tlačítko importu v nástroji Postman

    1. Vložte adresu URL každého souboru do vyhledávacího pole.

    Snímek obrazovky znázorňující import souborů kolekce a prostředí v Nástroji Postman přes adresu URL

  3. V prostředí Postman aktualizujte aktuální hodnotu informacemi z Azure Data Manageru pro podrobnosti o instanci energie.

    1. V nástroji Postman v nabídce vlevo vyberte Prostředí a pak vyberte SEGYtoZGY Environment.

    2. Ve sloupci CURRENT VALUE zadejte informace popsané v tabulce v části Získání podrobností o instanci energie v Azure Data Manageru.

    Snímek obrazovky znázorňující, kde zadat aktuální hodnoty v prostředí SEGYtoZGY

Podrobný proces převodu souboru SEG-Y na soubor ZGY

Poskytnutá kolekce Postman obsahuje všechna ukázková volání, která slouží jako vodítko. Můžete také načíst ekvivalentní příkaz cURL pro volání Postman kliknutím na tlačítko Kód .

Snímek obrazovky znázorňující tlačítko Kód v nástroji Postman

Snímek obrazovky s vytvářením právní značky

Příprava souborů datové sady

Připravte pro datovou sadu metadata / soubor manifestu / záznamy. Soubor manifestu zahrnuje:

  • Pracovní produkt
  • SeismicBinGrid
  • FileCollection
  • SeismicTraceData

Převod používá soubor manifestu, který nahrajete do účtu úložiště později, aby se převod spustil. Tento soubor manifestu se vytvoří pomocí několika souborů JSON a spuštěním skriptu. Soubory JSON pro tento proces jsou uloženy zde pro Volve Dataset. Další informace o Volvu, například odkud pocházejí definice datových sad, najdete na jejich webových stránkách. Pokud chcete vytvořit soubor manifestu, proveďte následující kroky:

  1. Naklonujte úložiště a přejděte do složky. doc/sample-records/volve
  2. Upravte hodnoty ve prepare-records.sh skriptu Bash. Vzpomeňte si, že formát právní značky má předponu Azure Data Manageru pro název instance energie a název datového oddílu, takže vypadá takto <instancename>-<datapartitionname>-<legaltagname>.
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. Spusťte skript prepare-records.sh.
  2. Výstupem je pole JSON se všemi objekty a je uloženo v all_records.json souboru.
  3. filecollection_segy_id Uložte hodnoty a work_product_id hodnoty v daném souboru JSON, které chcete použít v kroku převodu. Tímto způsobem převaděč ví, kde hledat tento obsah vašeho all_records.json.

Poznámka:

Soubor all_records.json musí také obsahovat příslušná data pro každý prvek.

Příklad: Při výpočtu souřadnic ZGY pro SeismicBinGrid:

  • P6BinGridOriginEasting
  • P6BinGridOriginI
  • P6BinGridOriginJ
  • P6BinGridOriginNorthing
  • P6ScaleFactorOfBinGrid
  • P6BinNodeIncrementOnIaxis
  • P6BinNodeIncrementOnJaxis
  • P6BinWidthOnIaxis
  • P6BinWidthOnJaxis
  • P6MapGridBearingOfBinGridJaxis
  • P6TransformationMethod
  • persistableReferenceCrsasIngestedCoordinates z bloku Pokud SeismicBinGrid má P6 parametry a CRS zadaný pod AsIngestedCoordinates, převod by měl být schopen úspěšně dokončit, ale Petrel nepochopí geometrii průzkumu souboru, pokud také nedostane 5 rohových bodů pod SpatialArea,AsIngestedCoordinates, SpatialAreaa .Wgs84Coordinates

Přístup uživatele

Uživatel musí být součástí users.datalake.admins skupiny. Pomocí následujícího volání ověřte aktuální nároky pro uživatele:

Snímek obrazovky znázorňující volání rozhraní API pro získání skupin uživatelů v Nástroji Postman

Později v tomto kurzu potřebujete alespoň jeden owner a alespoň jeden viewer. Tyto skupiny uživatelů vypadají podobně a data.default.owners data.default.viewers. Nezapomeňte si každý z nich v seznamu poznamenat.

Pokud uživatel není součástí požadované skupiny, můžete přidat požadovaný nárok pomocí následujícího ukázkového volání: ID e-mailu: Je hodnota ID vrácená z výše uvedeného volání.

Snímek obrazovky znázorňující volání rozhraní API pro získání uživatele jako správce v Postmanu

Pokud jste skupiny nároků ještě nevytvořili, postupujte podle pokynů popsaných v tématu Správa uživatelů. Pokud chcete zjistit, jaké skupiny máte, použijte skupiny Získat nároky pro daného uživatele. Izolace přístupu k datům se dosahuje pomocí tohoto vyhrazeného seznamu ACL (seznamu řízení přístupu) na objekt v daném datovém oddílu.

Příprava dílčího projektu

1. Registrace datového oddílu do seismického

Snímek obrazovky znázorňující volání rozhraní API pro registraci datového oddílu jako seismického tenanta v Postmanu

2. Vytvoření dílčího projektu

Použijte dříve vytvořené skupiny nároků, které chcete přidat jako správce seznamu ACL (seznam řízení přístupu) a čtenáře. Nároky na oddíly dat se nemusí nutně překládat na dílčí projekty v rámci projektu, takže je důležité, aby byly explicitní informace o seznamech ACL pro každý dílčí projekt bez ohledu na to, v jakém datovém oddílu se nachází.

Snímek obrazovky znázorňující volání rozhraní API pro vytvoření seismického dílčího projektu v Postmanu

3. Vytvoření datové sady

Poznámka:

Tento krok se vyžaduje jenom v případě, že k nahrání seismických souborů nepoužíváte sdutil .

Snímek obrazovky znázorňující volání rozhraní API pro vytvoření seismické datové sady v Nástroji Postman

Nahrání souboru

Soubor SEGY můžete nahrát dvěma způsoby. Jednou z možností je použití sasurl prostřednictvím volání Postman / curl. Musíte si stáhnout Nástroj Postman nebo nastavit Curl na vašem operačním systému. Druhou metodou je použití nástroje SDUTIL. Pokud se chcete přihlásit k instanci adme prostřednictvím nástroje, musíte pro instanci vygenerovat obnovovací token. Přečtěte si , jak vygenerovat ověřovací token. Případně můžete změnit kód nástroje SDUTIL tak, aby místo přihlášení používal přihlašovací údaje klienta. Pokud jste to ještě neměli, musíte nastavit SDUTIL. Stáhněte si základ kódu a upravte ho config.yaml v kořenovém adresáři. Obsah tohoto konfiguračního souboru nahraďte následujícím 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

Metoda 1: Postman

Získejte sasurl:

Snímek obrazovky znázorňující volání rozhraní API pro získání adresy URL pro nahrání služby GCS v Nástroji Postman

Nahrajte soubor:

Musíte vybrat soubor, který chcete nahrát, v části Text volání rozhraní API.

Snímek obrazovky znázorňující volání rozhraní API pro nahrání souboru v Nástroji Postman

Snímek obrazovky znázorňující volání rozhraní API pro nahrání binárního souboru v Nástroji Postman

Ověření nahrání

Snímek obrazovky znázorňující volání rozhraní API pro ověření nahrání binárního souboru v Nástroji Postman

Metoda 2: SDUTIL

sdutil je desktopový nástroj OSDU pro přístup k seismické službě. Používáme ho k nahrávání a stahování souborů. Použijte značku azure-stable z nástroje SDUTIL.

Poznámka:

Při spuštění python sdutil config initnemusíte po zobrazení výzvy Insert the azure (azureGlabEnv) application key:zadávat nic.

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

Nahrajte soubor seismic do Seismic Storu. Tady je příklad se souborem ve formátu SEGY s názvem source.segy:

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

Příklad:

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

Vytvoření záznamů úložiště

Vložte all_records.json obsah souboru do úložiště pro pracovní produkt, seismická data trasování, seismickou mřížku a kolekci souborů. Zkopírujte a vložte obsah tohoto souboru do textu požadavku volání rozhraní API.

Snímek obrazovky znázorňující volání rozhraní API pro vytvoření záznamů úložiště v Nástroji Postman

Spustit převaděč

  1. Aktivujte DAG převodu ZGY a převeďte data pomocí hodnot kontextu provádění, které jste si uložili výše.

    Načtěte token ID z nástroje sdutil pro nahraný soubor nebo použijte přístupový nebo nosný token z Postmanu.

python sdutil auth idtoken

Snímek obrazovky znázorňující volání rozhraní API pro spuštění pracovního postupu převodu v Nástroji Postman

  1. Nechte DAG běžet do succeeded stavu. Stav můžete zkontrolovat pomocí volání stavu pracovního postupu. ID spuštění je v odpovědi výše uvedeného volání.

Snímek obrazovky znázorňující volání rozhraní API pro kontrolu stavu pracovního postupu převodu v Nástroji Postman

  1. Pomocí následujícího příkazu v nástroji sdutil nebo ve volání rozhraní Postman API můžete zjistit, jestli je převedený soubor k dispozici:

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

Snímek obrazovky znázorňující volání rozhraní API ke kontrole, jestli byl soubor převeden

  1. Soubor můžete stáhnout a zkontrolovat pomocí příkazu sdutilcp:

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

OSDU® je ochranná známka the Open Group.

Další kroky