كيفية تحويل ملف SEG-Y إلى ZGY
في هذه المقالة، ستتعلم كيفية تحويل البيانات المنسقة SEG-Y إلى تنسيق ZGY. يمكن تحويل البيانات الزلزالية المخزنة في تنسيق SEG-Y القياسي للصناعة إلى ZGY للاستخدام في تطبيقات مثل Petrel عبر Seismic DMS. انظر هنا للحصول على الأسئلة المتداولة حول تحويل ZGY ويمكن العثور على مزيد من الخلفية في مجتمع OSDU® هنا: محادثة SEG-Y إلى ZGY. هذا البرنامج التعليمي هو إرشادات خطوة بخطوة كيفية إجراء التحويل. لاحظ أن سير عمل الإنتاج الفعلي قد يختلف ويستخدم كدليل لمجموعة الخطوات المطلوبة لتحقيق التحويل.
المتطلبات الأساسية
- اشتراك Azure
- مثيل ل Azure Data Manager for Energy تم إنشاؤه في اشتراك Azure الخاص بك.
- ملف SEG-Y
- يمكنك استخدام أي من الملفات التالية من مجموعة بيانات Volve كاختبار. تتوفر مجموعة بيانات Volve نفسها من Equinor.
الحصول على Azure Data Manager لتفاصيل مثيل الطاقة
الخطوة الأولى هي الحصول على المعلومات التالية من Azure Data Manager لمثيل الطاقة في مدخل Microsoft Azure:
المعلمة | القيمة | مثال |
---|---|---|
client_id | معرف التطبيق (العميل) | 3dbbbcc2-f28f-44b6-a5ab-xxxxxxxxxxxxxx |
client_secret | أسرار العميل | _فلوريدا****************** |
tenant_id | معرف الدليل (المستأجر) | 72f988bf-86f1-41af-91ab-xxxxxxxxxxxx |
base_url | عنوان URL | https://<instance>.energy.azure.com |
معرف قسم البيانات | قسم (أقسام) البيانات | <data-partition-name> |
يمكنك استخدام هذه المعلومات لاحقا في البرنامج التعليمي.
إعداد Postman
بعد ذلك، قم بإعداد Postman:
قم بتنزيل تطبيق Postman لسطح المكتب وتثبيته.
استيراد الملفات التالية في Postman:
لاستيراد الملفات:
- حدد استيراد في Postman.
- الصق عنوان URL لكل ملف في مربع البحث.
في بيئة Postman، قم بتحديث CURRENT VALUE بالمعلومات من Azure Data Manager لتفاصيل مثيل الطاقة
في Postman، في القائمة اليسرى، حدد Environments، ثم حدد SEGYtoZGY Environment.
في العمود CURRENT VALUE ، أدخل المعلومات الموضحة في الجدول في "الحصول على تفاصيل مثيل Azure Data Manager for Energy".
عملية خطوة بخطوة لتحويل ملف SEG-Y إلى ملف ZGY
تحتوي مجموعة Postman المقدمة على جميع المكالمات النموذجية لتكون بمثابة دليل. يمكنك أيضا استرداد الأمر cURL المكافئ لاستدعاء Postman بالنقر فوق الزر Code .
إنشاء علامة قانونية
إعداد ملفات مجموعة البيانات
قم بإعداد ملف بيانات التعريف / ملف البيان / السجلات لمجموعة البيانات. يتضمن ملف البيان ما يلي:
- منتج العمل
- SeismicBinGrid
- FileCollection
- SeismicTraceData
يستخدم التحويل ملف بيان تقوم بتحميله إلى حساب التخزين الخاص بك لاحقا لتشغيل التحويل. يتم إنشاء ملف البيان هذا باستخدام ملفات JSON متعددة وتشغيل برنامج نصي. يتم تخزين ملفات JSON لهذه العملية هنا لمجموعة بيانات Volve. لمزيد من المعلومات حول Volve، مثل المكان الذي تأتي منه تعريفات مجموعة البيانات، قم بزيارة موقع الويب الخاص بهم. أكمل الخطوات التالية لإنشاء ملف البيان:
- استنساخ المستودع والانتقال إلى المجلد
doc/sample-records/volve
- تحرير القيم في
prepare-records.sh
البرنامج النصي bash. تذكر أن تنسيق العلامة القانونية مسبوق باسم مثيل Azure Data Manager ل Energy واسم قسم البيانات، لذلك يبدو مثل<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>
prepare-records.sh
تشغيل البرنامج النصي.- الإخراج هو صفيف JSON مع كافة الكائنات ويتم حفظه في
all_records.json
الملف. - احفظ
filecollection_segy_id
القيم وwork_product_id
في ملف JSON هذا لاستخدامها في خطوة التحويل. بهذه الطريقة يعرف المحول مكان البحث عن محتويات .all_records.json
إشعار
all_records.json
يجب أن يحتوي الملف أيضا على بيانات مناسبة لكل عنصر.
مثال: يتم استخدام المعلمات التالية عند حساب إحداثيات ZGY ل SeismicBinGrid
:
P6BinGridOriginEasting
P6BinGridOriginI
P6BinGridOriginJ
P6BinGridOriginNorthing
P6ScaleFactorOfBinGrid
P6BinNodeIncrementOnIaxis
P6BinNodeIncrementOnJaxis
P6BinWidthOnIaxis
P6BinWidthOnJaxis
P6MapGridBearingOfBinGridJaxis
P6TransformationMethod
persistableReferenceCrs
asIngestedCoordinates
من الكتلة إذا كان يحتوي علىSeismicBinGrid
معلمات P6 و CRS المحددة ضمنAsIngestedCoordinates
، يجب أن يكون التحويل نفسه قادرا على إكمال بنجاح، ولكن Petrel لن يفهم هندسة الاستطلاع للملف ما لم يحصل أيضا على نقاط الزاوية 5 ضمنSpatialArea
وAsIngestedCoordinates
SpatialArea
و وWgs84Coordinates
.
وصول المستخدم
يجب أن يكون المستخدم جزءا من users.datalake.admins
المجموعة. تحقق من صحة الاستحقاقات الحالية للمستخدم باستخدام الاستدعاء التالي:
لاحقا في هذا البرنامج التعليمي، تحتاج إلى واحد owner
على الأقل وواحد على الأقل viewer
. تبدو مجموعات المستخدمين هذه مثل data.default.owners
و data.default.viewers
. تأكد من ملاحظة أحد كل منها في قائمتك.
إذا لم يكن المستخدم جزءا من المجموعة المطلوبة، يمكنك إضافة الاستحقاق المطلوب باستخدام نموذج الاستدعاء التالي: email-id: هل يتم إرجاع القيمة "ID" من المكالمة أعلاه.
إذا لم تكن قد أنشأت مجموعات استحقاقات بعد، فاتبع الإرشادات كما هو موضح في كيفية إدارة المستخدمين. إذا كنت ترغب في معرفة المجموعات التي لديك، فاستخدم الحصول على مجموعات الاستحقاقات لمستخدم معين. يتم تحقيق عزل الوصول إلى البيانات باستخدام قائمة التحكم بالوصول المخصصة (قائمة التحكم في الوصول) لكل كائن داخل قسم بيانات معين.
إعداد المشروع الفرعي
1. تسجيل قسم البيانات في Seismic
2. إنشاء مشروع فرعي
استخدم مجموعات الاستحقاق التي تم إنشاؤها مسبقا والتي ترغب في إضافتها كمسؤولي ACL (قائمة التحكم بالوصول) والعارضين. لا تترجم استحقاقات قسم البيانات بالضرورة إلى المشاريع الفرعية داخله، لذلك من المهم أن تكون صريحا حول قوائم التحكم في الوصول لكل مشروع فرعي، بغض النظر عن قسم البيانات الذي يوجد فيه.
3. إنشاء مجموعة بيانات
إشعار
هذه الخطوة مطلوبة فقط إذا كنت لا تستخدم sdutil
لتحميل الملفات الزلزالية.
تحميل الملف
هناك طريقتان لتحميل ملف SEGY. يتم استخدام خيار واحد sasurl من خلال استدعاء Postman / curl. تحتاج إلى تنزيل Postman أو إعداد Curl على نظام التشغيل الخاص بك.
الطريقة الثانية هي استخدام 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:
تحميل الملف:
تحتاج إلى تحديد الملف لتحميله في قسم النص الأساسي لاستدعاء واجهة برمجة التطبيقات.
التحقق من التحميل
الطريقة 2: SDUTIL
sdutil هي أداة سطح مكتب OSDU للوصول إلى الخدمة الزلزالية. نستخدمه لتحميل/تنزيل الملفات. استخدم علامة azure-stable من SDUTIL.
إشعار
عند تشغيل 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. فيما يلي مثال مع ملف بتنسيق SEGY يسمى source.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
إنشاء سجلات التخزين
قم بإدراج محتويات all_records.json
الملف في التخزين لمنتج العمل وبيانات التتبع الزلزالي والشبكة الزلزالية ومجموعة الملفات. انسخ محتويات هذا الملف والصقها في نص الطلب لاستدعاء واجهة برمجة التطبيقات.
تشغيل المحول
قم بتشغيل ZGY Conversion DAG لتحويل بياناتك باستخدام قيم سياق التنفيذ التي قمت بحفظها أعلاه.
إحضار الرمز المميز للمعرف من sdutil للملف الذي تم تحميله أو استخدام رمز مميز للوصول/الحامل من Postman.
python sdutil auth idtoken
- السماح بتشغيل DAG إلى
succeeded
الحالة. يمكنك التحقق من الحالة باستخدام استدعاء حالة سير العمل. معرف التشغيل في استجابة الاستدعاء أعلاه
يمكنك معرفة ما إذا كان الملف المحول موجودا باستخدام الأمر التالي في sdutil أو في استدعاء واجهة برمجة تطبيقات Postman:
python sdutil ls sd://<data-partition-id>/<subproject>
يمكنك تنزيل الملف وفحصه باستخدام الأمر sdutil
cp
:python sdutil cp sd://<data-partition-id>/<subproject>/<filename.zgy> <local/destination/path>
OSDU® هي علامة تجارية للمجموعة المفتوحة.