GDAL-VECTOR-EXPORT-SCHEMA(1) GDAL GDAL-VECTOR-EXPORT-SCHEMA(1)

gdal-vector-export-schema - برون‌بری OGR_SCHEMA از یک مجموعه‌داده برداری

در نسخه 3.13 اضافه شد.

Usage: gdal vector export-schema [OPTIONS] <INPUT>...
Export the OGR_SCHEMA from a vector dataset.
Positional arguments:
  -i, --dataset, --input <INPUT>            Input vector datasets [may be repeated] [required]
Common Options:
  -h, --help                                Display help message and exit
  --json-usage                              Display usage as JSON document and exit
  --config <KEY>=<VALUE>                    Configuration option [may be repeated]
Options:
  -l, --layer, --input-layer <INPUT-LAYER>  Input layer name [may be repeated]
Advanced Options:
  --oo, --open-option <KEY>=<VALUE>         Open options [may be repeated]
  --if, --input-format <INPUT-FORMAT>       Input formats [may be repeated]

دستور gdal vector export-schema ویژگی OGR_SCHEMA را از یک مجموعه‌داده برداری تحت پشتیبانی GDAL برون‌بری کرده و هنگام استفاده از طریق خط فرمان، آن را در جریان خروجی استاندارد، و هنگام استفاده از طریق API، در پارامتر output برمی‌گرداند.

OGR_SCHEMA یک شیء JSON است که ساختار یک مجموعه‌داده برداری را بر اساس تعریف شِما در ogr_fields_override.schema.json توصیف می‌کند.

دستور gdal vector export-schema می‌تواند به عنوان مرحله پایانی یک خط لوله (pipeline) استفاده شود.

گزینه‌های زیر در دسترس هستند:

نام یک یا چند لایه برای بررسی. اگر نام لایه‌ای مشخص نشود، تمام لایه‌ها انتخاب خواهند شد.

گزینه باز کردن مجموعه‌داده (مختص هر قالب).

می‌تواند تکرار شود.

نام قالب/درایور مورد تلاش برای باز کردن فایل(های) ورودی. به‌طور کلی مشخص کردن آن ضروری نیست، اما هنگامی که تشخیص خودکار درایور در انتخاب درایور مناسب ناموفق باشد، می‌تواند برای صرف‌نظر از تشخیص خودکار به کار رود. این گزینه می‌تواند چندین بار برای مشخص کردن چندین درایور کاندید تکرار شود. توجه داشته باشید که این گزینه آن درایورها را مجبور به باز کردن مجموعه‌داده نمی‌کند؛ به‌ویژه این‌که برخی درایورها نیازمندی‌هایی برای پسوند فایل دارند.

می‌تواند تکرار شود.

برنامه در صورت موفقیت کد وضعیت ۰ و در صورت بروز خطا مقداری غیر صفر برمی‌گرداند (خطاهای غیرمسدودکننده که به شکل هشدار صادر می‌شوند، به عنوان اجرای موفقیت‌آمیز در نظر گرفته می‌شوند).

gdal vector export-schema poly.gpkg

هنگام استفاده از Windows PowerShell 5.1، هدایت خروجی با > یا Out-File -Encoding utf8 یک خروجی UTF-8 به همراه BOM (Byte Order Mark) تولید می‌کند. هنگام استفاده از این شِما با gdal vector create ممکن است با خطای ERROR 1: JSON parsing error: unexpected character (at offset 0) مواجه شود.

در PowerShell 5.1، برای خروجی‌های JSON که فاقد نویسه‌های غیر ASCII هستند از -Encoding ascii استفاده کنید. Bash

gdal vector export-schema natural_earth_vector.gpkg --layer "ne_50m_admin_0_countries" > countries.json
PowerShell
# PowerShell 5.1
gdal vector export-schema natural_earth_vector.gpkg --layer "ne_50m_admin_0_countries" | Out-File countries.json -Encoding ascii
# PowerShell 7+
gdal vector export-schema natural_earth_vector.gpkg --layer "ne_50m_admin_0_countries" | Out-File countries.json -Encoding utf8

اعتبارسنجی در برابر آخرین نسخه تعریف شِما در ogr_fields_override.schema.json با استفاده از بسته پایتون check-jsonschema موجود در PyPI.

$ pip install check-jsonschema
$ check-jsonschema --schemafile https://raw.githubusercontent.com/OSGeo/gdal/master/ogr/data/ogr_fields_override.schema.json countries.json --verbose

این مثال پیش از برون‌بری OGR_SCHEMA حاصل، فیلد pop_est را به estimated_population تغییر نام داده و نوع آن را از Real به Integer تبدیل می‌کند. Bash

gdal vector pipeline \
    ! read natural_earth_vector.gpkg --layer ne_50m_admin_0_countries \
    ! sql --sql "SELECT geom,name,abbrev,pop_est AS estimated_population FROM ne_50m_admin_0_countries" --output-layer "countries" \
    ! set-field-type --field-name "estimated_population" --field-type Integer \
    ! export-schema
PowerShell
gdal vector pipeline `
    ! read natural_earth_vector.gpkg --layer ne_50m_admin_0_countries `
    ! sql --sql "SELECT geom,name,abbrev,pop_est AS estimated_population FROM ne_50m_admin_0_countries" --output-layer "countries" `
    ! set-field-type --field-name "estimated_population" --field-type Integer `
    ! export-schema

Alessandro Pasotti <elpaso@itopen.it>

1998-2026

August 18, 2026