PROJINFO(1) PROJ PROJINFO(1)

projinfo - پرس‌وجوی اشیاء ژئودتیک و عملیات‌های مختصات

projinfo
[-o formats] [-k crs|operation|datum|ensemble|ellipsoid] [--summary] [-q]
[[--area name_or_code] | [--bbox west_long,south_lat,east_long,north_lat]]
[--spatial-test contains|intersects]
[--crs-extent-use none|both|intersection|smallest]
[--grid-check none|discard_missing|sort|known_available]
[--pivot-crs always|if_no_direct_transformation|never|{auth:code[,auth:code]*}]
[--show-superseded] [--hide-ballpark] [--accuracy {accuracy}]
[--allow-ellipsoidal-height-as-vertical-crs]
[--boundcrs-to-wgs84]
[--authority name]
[--main-db-path path] [--aux-db-path path]*
[--dump-db-structure]
[--identify] [--3d]
[--output-id AUTH:CODE]
[--c-ify] [--single-line]
--searchpaths | --remote-data |
--list-crs [list-crs-filter] |
--dump-db-structure [{object_definition} | {object_reference}] |
{object_definition} | {object_reference} |
(-s {srs_def} [--s_epoch {epoch}] -t {srs_def} [--t_epoch {epoch}]) |
({srs_def} {srs_def})

که در آن {object_definition} یا {srs_def} یکی از حالت‌های پذیرفته‌شده توسط proj_create() <#c.proj_create> است:

  • یک رشته proj-string،
  • یک رشته WKT،
  • یک کد شیء (مانند "EPSG:4326"، "urn:ogc:def:crs:EPSG::4326"، "urn:ogc:def:coordinateOperation:EPSG::1671")،
  • یک نام شیء؛ برای نمونه "WGS 84"، "WGS 84 / UTM zone 31N". در این حالت به دلیل عدم تضمین یکتایی نام، از روش‌های اکتشافی (heuristics) برای تعیین بهترین تطابق ممکن استفاده می‌شود.
  • یک نام CRS و یک مبدأ زمانی مختصات (epoch)، جدا شده با '@'؛ برای نمونه "<ITRF2014@2025.0>". (در نسخه 9.2 اضافه شد)
  • یک OGC URN که ارجاعات را برای سیستم‌های مرجع مختصات ترکیبی ترکیب می‌کند (مانند "<urn:ogc:def:crs,crs:EPSG::2393,crs:EPSG::5717>" یا نحو مختصر سفارشی "EPSG:2393+5717")،
  • یک OGC URN که ارجاعات را برای CRSهای تصویرشده یا مشتق‌شده ترکیب می‌کند؛ برای نمونه برای Projected 3D CRS به شکل "UTM zone 31N / WGS 84 (3D)": "<urn:ogc:def:crs,crs:EPSG::4979,cs:PROJ::ENh,coordinateOperation:EPSG::16031>" (در نسخه 6.2 اضافه شد)
  • توسعه‌ای از OGC URN برای CoordinateMetadata؛ برای نمونه "<urn:ogc:def:CoordinateMetadata:NRCAN::NAD83_CSRS_1997_MTM11_HT2_1997>"
  • یک OGC URN ترکیب‌کننده ارجاعات برای عملیات‌های الحاقی (مانند "<urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618>")
  • یک رشته PROJJSON؛ ساختار jsonschema در https://proj.org/schemas/v0.4/projjson.schema.json قرار دارد (در نسخه 6.2 اضافه شد)
  • یک CRS ترکیبی تشکیل‌شده از دو نام شیء که با " + " از یکدیگر جدا شده‌اند؛ برای نمونه "WGS 84 + EGM96 height" (در نسخه 7.1 اضافه شد)

{object_reference} نام فایلی است که پیش از آن نویسه '@' قرار می‌گیرد. فایلی که توسط {object_reference} به آن ارجاع داده می‌شود باید حاوی یک {object_definition} معتبر باشد.

استفاده از "{srs_def} {srs_def}" معادل "-s {srs_def} -t {srs_def}" است (در نسخه 9.5 اضافه شد).

‏projinfo برنامه‌ای است که می‌تواند هنگام مشخص شدن گزینه‌های -s و -t، اطلاعات مربوط به یک شیء ژئودتیک، سامانه مرجع مختصات (CRS) یا عملیات مختصات را پرس‌وجو کرده و آن را در قالب‌های مختلف (رشته PROJ، رشته WKT یا رشته PROJJSON) نمایش دهد.

همچنین می‌توان از آن برای پرس‌وجوی عملیات‌های مختصات موجود میان دو CRS استفاده کرد.

نام این برنامه با ارجاعی به ابزار کاربردی gdalsrsinfo از GDAL https://gdal.org/programs/gdalsrsinfo.html که خدمات تا حدی مشابهی ارائه می‌دهد، نام‌گذاری شده است.

پارامترهای کنترلی زیر می‌توانند به هر ترتیبی ظاهر شوند:

‏formats ترکیبی جداشده با ویرگول از موارد زیر است: all، default، PROJ، WKT_ALL، WKT2:2015، WKT2:2019، WKT1:GDAL، WKT1:ESRI، PROJJSON، SQL.

به جز all و default، سایر قالب‌ها می‌توانند با یک - در ابتدا غیرفعال شوند.

نکته:

پیش‌تر WKT2_2019 با نام WKT2_2018 خوانده می‌شد.

نکته:

پیش از PROJ 6.3.0، قالب WKT1:GDAL به‌طور ضمنی --boundcrs-to-wgs84 را فراخوانی می‌کرد. این مورد دیگر برقرار نیست.

نکته:

هنگامی که SQL مشخص می‌شود، --output-id نیز باید مشخص گردد.
هنگامی که برای پرس‌وجوی یک شیء منفرد با یک AUTHORITY:CODE استفاده می‌شود، در صورتی که CRSها، عملیات‌های مختصات یا بیضوی‌هایی با یک CODE یکسان وجود داشته باشند، نوع (kind) شیء را تعیین می‌کند. پیش‌فرض crs است.
هنگام فهرست کردن عملیات‌های مختصات موجود میان دو CRS، نتیجه را در قالبی خلاصه‌شده بازمی‌گرداند که فقط نام عملیات مختصات، دقت و محدودهٔ استفادهٔ آن را ذکر می‌کند.

نکته:

فقط برای محاسبهٔ عملیات مختصات استفاده می‌شود
حالت بی‌صدا (quiet mode) را فعال می‌کند. حالت بی‌صدا فقط برای پرس‌وجوها روی اشیاء منفرد و زمانی که فقط یک قالب خروجی انتخاب شده باشد در دسترس است. در این حالت، تنها رشتهٔ PROJ، WKT یا PROJJSON بدون هیچ‌گونه خروجی مقدماتی نمایش داده می‌شود. خروجی در این وضعیت به‌طور بالقوه برای انتقال از طریق لوله (pipe) به سایر ابزارها سازگار است.
یک محدودهٔ مورد نظر (area of interest) را برای محدود کردن نتایج هنگام جستجوی عملیات‌های مختصات میان دو CRS مشخص می‌کند. محدودهٔ مورد نظر می‌تواند به صورت یک نام (مانند "Denmark - onshore") یا یک AUTHORITY:CODE (مانند EPSG:3237) تعیین شود. این گزینه با --bbox مانعة‌الجمع است.

نکته:

فقط برای محاسبهٔ عملیات مختصات استفاده می‌شود
یک محدودهٔ مورد نظر را برای محدود کردن نتایج هنگام جستجوی عملیات‌های مختصات میان دو CRS مشخص می‌کند. محدودهٔ مورد نظر به صورت یک جعبهٔ محصورکننده (bounding box) با مختصات جغرافیایی بیان‌شده بر حسب درجه در یک CRS جغرافیایی نامشخص تعیین می‌شود. ‏west_long و east_long باید در بازهٔ [-180,180]، و south_lat و north_lat در بازهٔ [-90,90] باشند. west_long معمولاً کمتر از east_long است، مگر در مواردی که محدودهٔ مورد نظر از پادنصف‌النهار (antimeridian) عبور کند.

نکته:

فقط برای محاسبهٔ عملیات مختصات استفاده می‌شود
مشخص می‌کند که محدودهٔ استفادهٔ عملیات‌های مختصات یافت‌شده در پایگاه داده، چگونه با محدودهٔ استفادهٔ صریحاً مشخص‌شده توسط --area یا --bbox، یا مشتق‌شده به‌طور ضمنی از محدودهٔ استفادهٔ CRS مبدأ و مقصد مقایسه شود. به‌طور پیش‌فرض، projinfo فقط عملیات‌های مختصاتی را نگه می‌دارد که محدودهٔ استفادهٔ آن‌ها کاملاً درون محدودهٔ مورد نظر قرار داشته باشد (راهبرد contains). اگر از راهبرد intersects استفاده شود، آزمون مکانی ساده‌تر شده و هر عملیات مختصاتی که محدودهٔ استفادهٔ آن حداقل تا حدی با محدودهٔ مورد نظر تقاطع داشته باشد، فهرست می‌شود.

نکته:

فقط برای محاسبهٔ عملیات مختصات استفاده می‌شود
مشخص می‌کند در صورتی که هیچ محدودهٔ مورد نظری با گزینه‌های --area یا --bbox به‌طور صریح تعیین نشده باشد، کدام محدوده باید در نظر گرفته شود. به‌طور پیش‌فرض (راهبرد smallest)، محدودهٔ استفادهٔ CRS مبدأ یا مقصد بررسی می‌شود و موردی که از نظر مساحت کوچک‌تر باشد به عنوان محدودهٔ مورد نظر استفاده خواهد شد. در صورت استفاده از none، هیچ محدودهٔ مورد نظری استفاده نمی‌شود. در صورت استفاده از both، تنها عملیات‌های مختصاتی انتخاب می‌شوند که با محدودهٔ استفادهٔ هر دو CRS مرتبط باشند (شامل شدن یا تقاطع، بسته به راهبرد --spatial-test). در صورت استفاده از intersection، محدودهٔ مورد نظر برابر با تقاطع جعبه‌های محصورکنندهٔ محدودهٔ استفادهٔ CRS مبدأ و مقصد خواهد بود.

نکته:

فقط برای محاسبهٔ عملیات مختصات استفاده می‌شود
مشخص می‌کند که وجود یا عدم وجود شبکهٔ انتقال (shift grid) افقی یا عمودیِ مورد نیاز برای یک عملیات مختصات، چگونه بر نتایج بازگردانده‌شده هنگام جستجوی عملیات‌های مختصات میان دو CRS اثر می‌گذارد. راهبرد پیش‌فرض sort است (در صورتی که PROJ_NETWORK <#envvar-PROJ_NETWORK> تعریف نشده باشد). در این حالت، تمامی عملیات‌های نامزد بازگردانده می‌شوند، اما در دسترس بودن واقعی شبکه‌ها برای تعیین ترتیب مرتب‌سازی به کار می‌رود؛ بدین صورت که اگر یک عملیات مختصات شامل استفاده از شبکه‌ای باشد که در دایرکتوری‌های منابع PROJ (تعیین‌شده توسط متغیر محیطی PROJ_DATA <#envvar-PROJ_DATA>) موجود نیست، در انتهای نتایج فهرست خواهد شد. راهبرد none بررسی وجود شبکه‌ها را به‌طور کامل غیرفعال می‌کند و نتایج را به‌گونه‌ای بازمی‌گرداند که گویی تمامی شبکه‌ها در دسترس هستند. راهبرد discard_missing نتایجی را که شامل شبکه‌های ناموجود در دایرکتوری‌های منابع PROJ هستند کنار می‌گذارد. راهبرد known_available نتایجی را که شامل شبکه‌های ناموجود در دایرکتوری‌های منابع PROJ بوده و برای CDN نیز ناشناخته هستند کنار می‌گذارد. این راهبرد پیش‌فرض در حالتی است که PROJ_NETWORK <#envvar-PROJ_NETWORK> روی ON تنظیم شده باشد.

نکته:

فقط برای محاسبهٔ عملیات مختصات استفاده می‌شود
تعیین می‌کند که آیا هنگام جستجوی عملیات مختصات میان دو CRS، امکان استفاده از یک CRS واسط (pivot) وجود دارد یا خیر. یک مثال معمول، مبنای WGS84 است. به‌طور پیش‌فرض، projinfo در صورت نبود تبدیل مستقیم، هر مبنای واسط بالقوه‌ای را در نظر می‌گیرد (if_no_direct_transformation). در صورت استفاده از راهبرد never، تنها تبدیلات مستقیم میان CRS مبدأ و مقصد استفاده خواهند شد. در صورت استفاده از راهبرد always، سامانه‌های CRS واسط حتی در صورت وجود تبدیلات مستقیم نیز در نظر گرفته می‌شوند. همچنین این امکان وجود دارد که با تعیین یک یا چند CRS بر اساس AUTHORITY:CODE آن‌ها، سامانه‌های CRS واسط مورد بررسی را محدود کرد..sp نکته:
تنها برای محاسبه عملیات مختصاتی استفاده می‌شود
هنگامی که فعال باشد، عملیات‌های مختصاتی که توسط موارد دیگر جایگزین شده‌اند فهرست خواهند شد. توجه داشته باشید که جایگزینی معادل منسوخ‌سازی نیست: عملیات‌های جایگزین‌شده با وجود اینکه معادل بهتری دارند هنوز معتبر تلقی می‌شوند، در حالی که عملیات‌های منسوخ‌شده نادرست تشخیص داده شده‌اند و به هیچ وجه در نظر گرفته نمی‌شوند.

نکته:

تنها برای محاسبه عملیات مختصاتی استفاده می‌شود
در نسخهٔ 7.1 اضافه شده است.

هر عملیات مختصاتی را که یک تبدیل Ballpark <#term-Ballpark-transformation> است یا شامل آن می‌شود، پنهان می‌کند.

نکته:

تنها برای محاسبه عملیات مختصاتی استفاده می‌شود
در نسخهٔ 8.0 اضافه شده است.

حداقل دقت مورد نظر را برای عملیات‌های مختصاتی بازگردانده‌شده تنظیم می‌کند.

نکته:

تنها برای محاسبه عملیات مختصاتی استفاده می‌شود
در نسخهٔ 8.0 اضافه شده است.

اجازه می‌دهد یک CRS جغرافیایی یا تصویرشده سه‌بعدی به عنوان یک CRS ترکیبی صادر شود که CRS عمودی آن نشان‌دهندهٔ ارتفاع بیضوی است.

نکته:

تنها برای CRS و با قالب خروجی WKT1:GDAL استفاده می‌شود
هنگامی که مشخص شود، این گزینه یک عملیات مختصاتی را از CRS جغرافیایی پایه مربوط به CRS منفرد، CRS مبدأ یا مقصد به CRS جغرافیایی WGS84 جستجو می‌کند و در صورت یافتن، آن CRSها را در یک شیء BoundCRS بسته‌بندی می‌کند. این مورد عمدتاً برای رویکردهای پیوند اولیه (early-binding) استفاده می‌شود.
نام مرجع (authority) را برای محدود کردن جستجوی اشیاء، هنگام مشخص کردن یک شیء با نام یا زمان محاسبه عملیات‌های مختصاتی، تعیین می‌کند. حالت پیش‌فرض مجاز دانستن تمام مراجع است.

هنگامی که همراه با خروجی SQL استفاده شود، مراجعی را که اشیاء میانی می‌توانند متعلق به آن‌ها باشند محدود می‌کند (پیش‌فرض EPSG و PROJ است). توجه داشته باشید که مرجع گزینهٔ --output-id نیز به‌طور ضمنی اضافه خواهد شد.

نام و مسیر پایگاه داده‌ای که باید توسط projinfo استفاده شود را مشخص می‌کند. حالت پیش‌فرض proj.db در دایرکتوری‌های منابع PROJ است.
نام و مسیر پایگاه‌های داده کمکی را که باید با پایگاه داده اصلی ترکیب شوند، مشخص می‌کند. این پایگاه‌های داده کمکی باید ساختار جدولی همسان با پایگاه داده اصلی داشته باشند، اما می‌توانند تا حدی پر شده باشند و مدخل‌های آن‌ها می‌تواند به مدخل‌های پایگاه داده اصلی ارجاع دهد. این گزینه ممکن است برای تعیین چندین پایگاه داده کمکی تکرار شود.
هنگامی که همراه با تعریف یک شیء استفاده شود، پایگاه داده PROJ را برای یافتن اشیاء شناخته‌شده، معمولاً CRS، که نزدیک یا یکسان با آن شیء هستند، پرس‌وجو می‌کند. به هر شیء نامزد یک درصد احتمال تقریبی اختصاص داده می‌شود. این ویژگی هنگام استفاده با یک رشته WKT فاقد شناسه EPSG، مانند ESRI WKT1، مفید است. همچنین ممکن است با رشته‌های PROJ نیز استفاده شود. برای مثال، +proj=utm +zone=31 +datum=WGS84 +type=crs با احتمال ۷۰٪ به عنوان EPSG:32631 شناسایی خواهد شد.
در نسخهٔ 8.1 اضافه شده است.

دنباله‌ای از دستورات SQL را برای ایجاد یک پایگاه داده کمکی معتبر و خالی جدید خروجی می‌دهد. این گزینه می‌تواند به عنوان تنها سوییچ این ابزار مشخص شود. در صورت مشخص کردن یک شیء CRS و گزینهٔ --output-id، تعریف شیء در قالب دستورات SQL ضمیمه خواهد شد.

در نسخهٔ 8.1 اضافه شده است.

فهرستی (نام مرجع:کد و نام CRS) از CRSهای فیلترشده از پایگاه داده را خروجی می‌دهد. اگر هیچ فیلتری ارائه نشود، تمام نام‌های مراجع و انواع CRSهای غیرمنسوخ استخراج می‌شوند. list-crs-filter ترکیبی جداشده با ویرگول از موارد زیر است: allow_deprecated,geodetic,geocentric,geographic,geographic_2d,geographic_3d,vertical,projected,compound. تحت تأثیر گزینه‌های --authority، --area، --bbox و --spatial-test قرار می‌گیرد.

یک جایگزین بصری، صفحه وب CRS Explorer https://crs-explorer.proj.org/?all=true است.

--3d
در نسخهٔ 6.3 اضافه شده است.

«ارتقای» CRS(های) دوبعدی به نسخهٔ سه‌بعدی آن‌ها، به‌طوری که محور عمودی با استفاده از بیضوگونِ CRS ژئودتیک پایه، ارتفاع بیضوی بر حسب متر باشد. بسته به نسخه‌های PROJ و ماهیت دقیق CRSهای درگیر، به‌ویژه پیش از PROJ 9.1، ترکیبی از CRSهای دو و سه‌بعدی می‌توانست منجر به تبدیل‌های دو یا سه‌بعدی شود. از PROJ 9.1 به بعد، هر دو CRS باید سه‌بعدی باشند تا تبدیل عمودی امکان‌پذیر باشد.

در نسخهٔ 8.1 اضافه شده است.

شناسه‌ای برای انتساب به شیء (برای خروجی SQL).

اکیداً توصیه می‌شود که اشیاء جدید به مراجع ثبت مشترک مانند EPSG، ESRI، IAU و غیره اضافه نشوند. کاربران باید در عوض از یک نام مرجع سفارشی استفاده کنند. اگر نیاز است شیء جدیدی به مرجع رسمی EPSG اضافه شود، از کاربران دعوت می‌شود تا روال توضیح داده شده در https://epsg.org/dataset-change-requests.html را دنبال کنند.

در ترکیب با --dump-db-structure، کاربران می‌توانند به جای تغییر مستقیم پایگاه داده اصلی proj.db، پایگاه‌های داده کمکی ایجاد کنند. مثال مربوط به نحوه برون‌بری به یک پایگاه داده کمکی را ببینید.

این پایگاه‌های داده کمکی را می‌توان از طریق proj_context_set_database_path() یا متغیر محیطی PROJ_AUX_DB <#envvar-PROJ_AUX_DB> تعیین کرد.

فقط برای توسعه‌دهندگان. خروجی رشته‌ای ابزار را به گونه‌ای تغییر می‌دهد که قرار دادن آن رشته‌ها در کد C/C++ آسان باشد.
--single-line رشته‌های PROJ،‏ WKT یا PROJJSON را به جای حالت پیش‌فرض (چندین خط با تورفتگی)، در یک خط واحد خروجی می‌دهد.
در نسخه 7.0 اضافه شد.

دایرکتوری‌هایی را خروجی می‌دهد که منابع PROJ در آن‌ها جستجو خواهند شد (در صورت عدم استفاده از C API مانند proj_context_set_search_paths() که آن‌ها را بازنویسی می‌کند).

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

اطلاعات مربوط به فعال بودن یا نبودن قابلیت‌های شبکه <#network> و نشانی URL مربوطه را نمایش می‌دهد.

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

مبدأ زمانی (Epoch) مختصات در CRS مبدأ، به صورت سال اعشاری. تنها برای یک CRS پویا اعمال می‌شود.

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

مبدأ زمانی (Epoch) مختصات در CRS مقصد، به صورت سال اعشاری. تنها برای یک CRS پویا اعمال می‌شود.

1.
پرس‌وجوی شیء CRS متناظر با EPSG:4326
projinfo EPSG:4326

خروجی:

PROJ.4 string:
+proj=longlat +datum=WGS84 +no_defs +type=crs
WKT2:2019 string:
GEOGCRS["WGS 84",
    DATUM["World Geodetic System 1984",
        ELLIPSOID["WGS 84",6378137,298.257223563,
            LENGTHUNIT["metre",1]]],
    PRIMEM["Greenwich",0,
        ANGLEUNIT["degree",0.0174532925199433]],
    CS[ellipsoidal,2],
        AXIS["geodetic latitude (Lat)",north,
            ORDER[1],
            ANGLEUNIT["degree",0.0174532925199433]],
        AXIS["geodetic longitude (Lon)",east,
            ORDER[2],
            ANGLEUNIT["degree",0.0174532925199433]],
    USAGE[
        SCOPE["unknown"],
        AREA["World"],
        BBOX[-90,-180,90,180]],
    ID["EPSG",4326]]
2.
فهرست کردن عملیات‌های مختصات بین NAD27 (مشخص‌شده با نام CRS آن) و NAD83 (مشخص‌شده با کد EPSG آن: 4269) درون یک منطقه مورد نظر
projinfo -s NAD27 -t EPSG:4269 --area "USA - Missouri"

خروجی:

DERIVED_FROM(EPSG):1241, NAD27 to NAD83 (1), 0.15 m, USA - CONUS including EEZ
PROJ string:
+proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert \
+xy_in=deg +xy_out=rad +step +proj=hgridshift +grids=conus \
+step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1
WKT2:2019 string:
COORDINATEOPERATION["NAD27 to NAD83 (1)",
    SOURCECRS[
        GEOGCRS["NAD27",
            DATUM["North American Datum 1927",
                ELLIPSOID["Clarke 1866",6378206.4,294.978698213898,
                    LENGTHUNIT["metre",1]]],
            PRIMEM["Greenwich",0,
                ANGLEUNIT["degree",0.0174532925199433]],
            CS[ellipsoidal,2],
                AXIS["geodetic latitude (Lat)",north,
                    ORDER[1],
                    ANGLEUNIT["degree",0.0174532925199433]],
                AXIS["geodetic longitude (Lon)",east,
                    ORDER[2],
                    ANGLEUNIT["degree",0.0174532925199433]]]],
    TARGETCRS[
        GEOGCRS["NAD83",
            DATUM["North American Datum 1983",
                ELLIPSOID["GRS 1980",6378137,298.257222101,
                    LENGTHUNIT["metre",1]]],
            PRIMEM["Greenwich",0,
                ANGLEUNIT["degree",0.0174532925199433]],
            CS[ellipsoidal,2],
                AXIS["geodetic latitude (Lat)",north,
                    ORDER[1],
                    ANGLEUNIT["degree",0.0174532925199433]],
                AXIS["geodetic longitude (Lon)",east,
                    ORDER[2],
                    ANGLEUNIT["degree",0.0174532925199433]]]],
    METHOD["CTABLE2"],
    PARAMETERFILE["Latitude and longitude difference file","conus"],
    OPERATIONACCURACY[0.15],
    USAGE[
        SCOPE["unknown"],
        AREA["USA - CONUS including EEZ"],
        BBOX[23.81,-129.17,49.38,-65.69]],
    ID["DERIVED_FROM(EPSG)",1241]]
3.
برون‌بری یک شیء به صورت یک رشته PROJJSON
projinfo GDA94 -o PROJJSON -q

خروجی:

{
    "type": "GeographicCRS",
    "name": "GDA94",
    "datum": {
        "type": "GeodeticReferenceFrame",
        "name": "Geocentric Datum of Australia 1994",
        "ellipsoid": {
            "name": "GRS 1980",
            "semi_major_axis": 6378137,
            "inverse_flattening": 298.257222101
        }
    },
    "coordinate_system": {
        "subtype": "ellipsoidal",
        "axis": [
        {
            "name": "Geodetic latitude",
            "abbreviation": "Lat",
            "direction": "north",
            "unit": "degree"
        },
        {
            "name": "Geodetic longitude",
            "abbreviation": "Lon",
            "direction": "east",
            "unit": "degree"
        }
        ]
    },
    "area": "Australia - GDA",
    "bbox": {
        "south_latitude": -60.56,
        "west_longitude": 93.41,
        "north_latitude": -8.47,
        "east_longitude": 173.35
    },
    "id": {
        "authority": "EPSG",
        "code": 4283
    }
}
برون‌ریزی دستورات SQL برای درج یک CRS جدید در یک پایگاه‌داده کمکی.
# Get the SQL statements for a custom CRS
projinfo "+proj=merc +lat_ts=5 +datum=WGS84 +type=crs +title=my_crs" --output-id HOBU:MY_CRS -o SQL -q > my_crs.sql
cat my_crs.sql
# Initialize an auxiliary database with the schema of the reference database
echo ".schema" | sqlite3 /path/to/proj.db | sqlite3 aux.db
# Append the content of the definition of HOBU:MY_CRS
sqlite3 aux.db < my_crs.db
# Check that everything works OK
projinfo --aux-db-path aux.db HOBU:MY_CRS

یا ساده‌تر:

# Create an auxiliary database with the definition of a custom CRS.
projinfo "+proj=merc +lat_ts=5 +datum=WGS84 +type=crs +title=my_crs" --output-id HOBU:MY_CRS --dump-db-structure | sqlite3 aux.db
# Check that everything works OK
projinfo --aux-db-path aux.db HOBU:MY_CRS

خروجی:

INSERT INTO geodetic_crs VALUES('HOBU','GEODETIC_CRS_MY_CRS','unknown','','geographic 2D','EPSG','6424','EPSG','6326',NULL,0);
INSERT INTO usage VALUES('HOBU','USAGE_GEODETIC_CRS_MY_CRS','geodetic_crs','HOBU','GEODETIC_CRS_MY_CRS','PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO conversion VALUES('HOBU','CONVERSION_MY_CRS','unknown','','EPSG','9805','Mercator (variant B)','EPSG','8823','Latitude of 1st standard parallel',5,'EPSG','9122','EPSG','8802','Longitude of natural origin',0,'EPSG','9122','EPSG','8806','False easting',0,'EPSG','9001','EPSG','8807','False northing',0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO usage VALUES('HOBU','USAGE_CONVERSION_MY_CRS','conversion','HOBU','CONVERSION_MY_CRS','PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('HOBU','MY_CRS','my_crs','','EPSG','4400','HOBU','GEODETIC_CRS_MY_CRS','HOBU','CONVERSION_MY_CRS',NULL,0);
INSERT INTO usage VALUES('HOBU','USAGE_PROJECTED_CRS_MY_CRS','projected_crs','HOBU','MY_CRS','PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
PROJ.4 string:
+proj=merc +lat_ts=5 +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs +type=crs
WKT2:2019 string:
PROJCRS["my_crs",
    BASEGEOGCRS["unknown",
        ENSEMBLE["World Geodetic System 1984 ensemble",
            MEMBER["World Geodetic System 1984 (Transit)"],
            MEMBER["World Geodetic System 1984 (G730)"],
            MEMBER["World Geodetic System 1984 (G873)"],
            MEMBER["World Geodetic System 1984 (G1150)"],
            MEMBER["World Geodetic System 1984 (G1674)"],
            MEMBER["World Geodetic System 1984 (G1762)"],
            ELLIPSOID["WGS 84",6378137,298.257223563,
                LENGTHUNIT["metre",1]],
            ENSEMBLEACCURACY[2.0]],
        PRIMEM["Greenwich",0,
            ANGLEUNIT["degree",0.0174532925199433]],
        ID["HOBU","GEODETIC_CRS_MY_CRS"]],
    CONVERSION["unknown",
        METHOD["Mercator (variant B)",
            ID["EPSG",9805]],
        PARAMETER["Latitude of 1st standard parallel",5,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8823]],
        PARAMETER["Longitude of natural origin",0,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8802]],
        PARAMETER["False easting",0,
            LENGTHUNIT["metre",1],
            ID["EPSG",8806]],
        PARAMETER["False northing",0,
            LENGTHUNIT["metre",1],
            ID["EPSG",8807]]],
    CS[Cartesian,2],
        AXIS["(E)",east,
            ORDER[1],
            LENGTHUNIT["metre",1]],
        AXIS["(N)",north,
            ORDER[2],
            LENGTHUNIT["metre",1]],
    ID["HOBU","MY_CRS"]]
5.
دریافت بازنمایی WKT از EPSG:25832 در قالب خروجی WKT1:GDAL و در یک خط
projinfo -o WKT1:GDAL --single-line EPSG:25832

خروجی:

WKT1:GDAL string:
PROJCS["ETRS89 / UTM zone 32N",GEOGCS["ETRS89",DATUM["European_Terrestrial_Reference_System_1989",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],AUTHORITY["EPSG","6258"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4258"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",9],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","25832"]]

cs2cs(1), cct(1), geod(1), gie(1), proj(1), projsync(1)

فهرستی از باگ‌های شناخته‌شده در https://github.com/OSGeo/PROJ/issues در دسترس است که گزارش باگ‌های جدید را نیز می‌توان در آنجا ارسال کرد.

https://proj.org

Even Rouault

1983-2026، مشارکت‌کنندگان PROJ

10 avril 2026 9.8