SEG-Y ファイルを oVDS に変換する方法

この記事では、SEG-Y 形式のデータを Open VDS (oVDS) 形式に変換する方法について説明します。 業界標準の SEG-Y 形式で格納されている地震データは、Seismic DMS を介してアプリケーションで使用するために oVDS に変換できます。 OSDU® コミュニティについては、こちらを参照してください: OSDU™ SEG-Y から oVDS への変換。 このチュートリアルは、変換を実行する方法に関するステップバイステップのガイドラインです。 実際の運用ワークフローは異なる場合があることに注意し、変換を行うために必要な一連の手順のガイドとして使用してください。

前提条件

  • Azure サブスクリプション
  • Azure サブスクリプションで作成された Azure Data Manager for Energy のインスタンス。
  • SEG-Y ファイル
    • Volve データセットの次のいずれかのファイルをテストとして使用できます。 Volve データセット自体は、Equinor から入手できます。

Azure Data Manager for Energy インスタンスの詳細を取得する

最初の手順は、Azure portalAzure Data Manager for Energy インスタンスから次の情報を取得することです。

パラメーター
client_id アプリケーション (クライアント) ID 3dbbbcc2-f28f-44b6-a5ab-xxxxxxxxxxxx
client_secret クライアント シークレット _fl******************
tenant_id ディレクトリ (テナント) ID 72f988bf-86f1-41af-91ab-xxxxxxxxxxxx
base_url URL https://<instance>.energy.azure.com
data-partition-id データ パーティション <data-partition-name>

この情報は、チュートリアルの後半で使用します。

Postman の設定

次に、Postman を設定します。

  1. Postman デスクトップ アプリをダウンロードしてインストールします。

  2. Postman で次のファイルをインポートします。

    ファイルをインポートするには:

    1. Postman で [インポート] を選択します。

    Postman の [インポート] ボタンを示すスクリーンショット。

    1. 各ファイルの URL を検索ボックスに貼り付けます。

    Postman での URL を使用したコレクションと環境ファイルのインポートを示すスクリーンショット。

  3. Postman 環境で、Azure Data Manager for Energy インスタンスの詳細からの情報を使用して CURRENT VALUE を更新します

    1. Postman の左側のメニューで、[Environments] を選択し、[SEGYtoVDS Environment] を選択します。

    2. CURRENT VALUE 列に、「Azure Data Manager for Energy インスタンスの詳細を取得する」の表に記載されている情報を入力します。

    SEGYtoVDS 環境で現在の値を入力する場所を示すスクリーンショット。

SEG-Y ファイルを oVDS に変換するステップバイステップのプロセス

提供されている Postman コレクションには、ガイドとして機能するすべてのサンプル呼び出しがあります。 Postman 呼び出しの同等の cURL コマンドは、[Code] ボタンをクリックして取得することもできます。

Postman の [コード] ボタンを示すスクリーンショット。

法的タグの作成のスクリーンショット。

データセット ファイルを準備する

このファイルには、サンプル Vector Header Mapping が含まれており、このファイルには VDS 変換用のサンプル Storage Records が含まれています。

ユーザー アクセス

ユーザーは、users.datalake.admins グループに属している必要があります。 次の呼び出しを使用して、ユーザーの現在のエンタイトルメントを検証します。

Postman でユーザー グループを取得するための API 呼び出しを示すスクリーンショット。

このチュートリアルの後半では、少なくとも 1 つの owner と少なくとも 1 つの viewer が必要になります。 これらのユーザー グループは data.default.ownersdata.default.viewers のようになります。 ご使用のリストから各 1 つをメモしてください。

ユーザーが必要なグループに属していない場合は、次のサンプル呼び出しを使用して必要なエンタイトルメントを追加できます。email-id は上記の呼び出しから返される値 "ID" です。

Postman で管理者としてユーザーを登録するための API 呼び出しを示すスクリーンショット。

エンタイトルメント グループをまだ作成していない場合は、「ユーザーを管理する方法」の説明に従ってください。 所有しているグループを確認する場合は、「特定のユーザーのエンタイトルメント グループを取得する」を使用します。 データ アクセスの分離は、特定のデータ パーティション内のオブジェクトごとに、この専用 ACL (アクセス制御リスト) で実現されます。

サブプロジェクトを準備する

1.データ パーティションを Seismic に登録する

Postman でデータ パーティションを地震テナントとして登録するための API 呼び出しを示すスクリーンショット。

2.サブプロジェクトを作成する

ACL (アクセス制御リスト) の管理者および閲覧者として追加する、以前に作成したエンタイトルメント グループを使用します。 データ パーティションのエンタイトルメントは、必ずしもその中のサブプロジェクトに変換されるとは限らないので、データ パーティションに関係なく、各サブプロジェクトの ACL について明示的に指定することが重要です。

Postman で地震サブプロジェクトを作成するための API 呼び出しを示すスクリーンショット。

3.データセットを作成する

Note

この手順は、seismic ファイルのアップロードに sdutil を使用していない場合にのみ必要です。

Postman で地震データセットを作成するための API 呼び出しを示すスクリーンショット。

ファイルをアップロードする

SEGY ファイルをアップロードする方法は 2 つあります。 1 つ目のオプションは、Postman/curl 呼び出しを介して sasurl を使用することです。 Postman をダウンロードするか、OS で Curl をセットアップする必要があります。 2 つ目の方法は、SDUTIL 使用することです。 ツールを使用して ADME のインスタンスにログインするには、そのインスタンスの更新トークンを生成する必要があります。 「認証トークンを生成する方法」を参照してください。 または、SDUTIL のコードを変更して、代わりにクライアント資格情報を使用することもできます。 まだの場合は、SDUTIL をセットアップする必要があります。 コードベースをダウンロードし、ルートで config.yaml を編集します。 この構成ファイルの内容を次の 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

方法 1: Postman

sasurl を取得する:

Postman で GCS アップロード URL を取得するための API 呼び出しを示すスクリーンショット。

ファイルをアップロードする:

API 呼び出しの [Body] セクションで、アップロードするファイルを選択する必要があります。

Postman でファイルをアップロードするための API 呼び出しを示すスクリーンショット。

Postman でファイル バイナリをアップロードするための API 呼び出しを示すスクリーンショット。

アップロードを検証する

ファイル バイナリが Postman にアップロードされていることを確認する API 呼び出しを示すスクリーンショット。

方法 2: SDUTIL

sdutil は、seismic サービスにアクセスするための OSDU デスクトップ ユーティリティです。 ファイルのアップロード/ダウンロードに使用されます。 SDUTIL から azure-stable タグを使用します。

Note

python sdutil config init の実行中は、Insert the azure (azureGlabEnv) application key: でプロンプトが表示されても何も入力する必要はありません。

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

地震ファイルを Seismic Store にアップロードします。 source.segy という名前の SEGY 形式のファイルの例を次に示します。

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

次に例を示します。

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

ヘッダー ベクター マッピングを作成する

ヘッダー ベクター マッピングを生成する

Postman でヘッダー ベクトル マッピングを作成するための API 呼び出しを示すスクリーンショット。

ストレージ レコードを作成する

Postman でストレージ レコードを作成するための API 呼び出しを示すスクリーンショット。

コンバーターを実行する

  1. VDS 変換 DAG をトリガーし、上で保存した実行コンテキスト値を使用してデータを変換します。

    アップロードされたファイルの ID トークンを sdutil からフェッチするか、Postman からアクセス/ベアラー トークンを使用します。

python sdutil auth idtoken

Postman で変換ワークフローを開始するための API 呼び出しを示すスクリーンショット。

  1. DAG を succeeded の状態になるまで実行します。 ワークフローの状態の呼び出しを使用して、状態を確認できます。 実行 ID は上記の呼び出しの応答に含まれます

Postman で変換ワークフローの状態を確認するための API 呼び出しを示すスクリーンショット。

  1. sdutil または Postman API 呼び出しで次のコマンドを使用すると、変換されたファイルが存在するかどうかを確認できます。

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

ファイルが変換されているかどうかを確認する API 呼び出しを示すスクリーンショット。

  1. DAG トリガー内の指定した場所に変換されたファイルが存在するかどうかを確認します

    python sdutil ls sd://<data-partition-id>/<subproject>/
    
  2. VDS ファイルをダウンロードして検査する場合は、cp コマンドは機能しないため使用しないでください。 VDS 変換では複数のファイルが作成されるため、cp コマンドでは、それらすべてを 1 つのコマンドでダウンロードすることはできません。 代わりに SEGYExport または VDSCopy ツールを使用してください。 これらのツールでは、名前付けスキームにアクセスする一連の REST 呼び出しを使用して、結果として得られるすべての VDS ファイルに関する情報が取得されます。

OSDU® は The Open Group の商標です。

次のステップ