.TH "OSM2PGSQL" "1" "2.3.1" "" "" .SH "نام (NAME)" osm2pgsql \- مبدل داده‌های OpenStreetMap به PostgreSQL .SH "خلاصه دستور (SYNOPSIS)" \f[B]osm2pgsql\f[R] [\f[I]OPTIONS\f[R]] OSM\-FILE\&... .SH "توضیحات (DESCRIPTION)" دستور \f[B]osm2pgsql\f[R] داده‌های OpenStreetMap را به یک پایگاه‌داده‌ی PostgreSQL/PostGIS وارد می‌کند. این ابزار بخش حیاتی بسیاری از زنجیره‌های ابزار رندر، سامانه تبدیل نشانی به مختصات Nominatim و سایر برنامه‌های پردازش‌کننده‌ی داده‌های OSM است. .PP \f[B]osm2pgsql\f[R] می‌تواند در حالت \[lq]create\[rq] (پیش‌فرض) یا در حالت \[lq]append\[rq] (با گزینه \f[B]\-a, \-\-append\f[R]) اجرا شود. .PP در حالت \[lq]create\[rq]، دستور osm2pgsql جدول‌های پایگاه‌داده مورد نیاز پیکربندی را ایجاد کرده و فایل(های) OSM مشخص‌شده در خط فرمان را به درون این جدول‌ها وارد می‌کند. توجه داشته باشید که اگر می‌خواهید پایگاه‌داده شما قابلیت به‌روزرسانی داشته باشد، باید از گزینه \f[B]\-s, \-\-slim\f[R] نیز استفاده کنید. .PP در حالت \[lq]append\[rq]، دستور osm2pgsql جدول‌های پایگاه‌داده را با داده‌های حاصل از فایل‌های تغییرات OSM مشخص‌شده در خط فرمان به‌روزرسانی می‌کند. .PP این صفحه راهنما تنها برخی از مبانی اولیه را پوشش داده و گزینه‌های خط فرمان را شرح می‌دهد. برای اطلاعات بیشتر به \c .UR https://osm2pgsql.org/doc/manual.html راهنمای Osm2pgsql .UE \c \ مراجعه کنید. .SH "گزینه‌ها (OPTIONS)" این برنامه از نحو معمول خط فرمان گنو پیروی می‌کند که در آن گزینه‌های طولانی با دو خط تیره (\f[CR]\-\-\f[R]) شروع می‌شوند. آرگومان‌های اجباری برای گزینه‌های طولانی، برای گزینه‌های کوتاه نیز اجباری هستند. .SH "گزینه‌های اصلی (MAIN OPTIONS)" .TP \-a, \-\-append اجرا در حالت الحاق (append). فایل تغییرات OSM را بدون حذف داده‌های موجود به پایگاه‌داده اضافه می‌کند. .TP \-c, \-\-create اجرا در حالت ایجاد (create). اگر \f[B]\-a, \-\-append\f[R] مشخص نشده باشد، این حالت پیش‌فرض است. داده‌های موجود در جدول‌های پایگاه‌داده را حذف می‌کند! .SH "گزینه‌های راهنما/نسخه (HELP/VERSION OPTIONS)" .TP \-h, \-\-help نمایش راهنما. .TP \-V, \-\-version نمایش نسخه osm2pgsql. .SH "گزینه‌های گزارش‌گیری (LOGGING OPTIONS)" .TP \-\-log\-level=LEVEL تنظیم سطح گزارش‌گیری (\f[CR]debug\f[R]، \f[CR]info\f[R] (پیش‌فرض)، \f[CR]warn\f[R] یا \f[CR]error\f[R]). .TP \-\-log\-progress=VALUE فعال‌سازی (\f[CR]true\f[R]) یا غیرفعال‌سازی (\f[CR]false\f[R]) گزارش پیشرفت کار. تنظیم این گزینه روی \f[CR]auto\f[R] گزارش پیشرفت را در کنسول فعال کرده و در صورت هدایت مجدد خروجی به یک فایل، آن را غیرفعال می‌کند. پیش‌فرض: true. .TP \-\-log\-sql فعال‌سازی ثبت دستورات SQL جهت اشکال‌زدایی. .TP \-\-log\-sql\-data فعال‌سازی ثبت تمام داده‌های اضافه‌شده به پایگاه‌داده. این کار حجم عظیمی از داده تولید می‌کند! تنها برای اشکال‌زدایی. .TP \-v, \-\-verbose مشابه با \f[CR]\-\-log\-level=debug\f[R]. .SH "گزینه‌های پایگاه‌داده (DATABASE OPTIONS)" .TP \-d, \-\-database=NAME نام پایگاه‌داده PostgreSQL جهت اتصال. اگر این پارامتر شامل علامت \f[CR]=\f[R] باشد یا با یک پیشوند معتبر URI (\f[CR]postgresql://\f[R] یا \f[CR]postgres://\f[R]) آغاز شود، به عنوان یک رشته conninfo در نظر گرفته می‌شود. برای جزئیات به راهنمای PostgreSQL مراجعه کنید. .TP \-U, \-\-username=NAME, \-\-user=NAME نام کاربری PostgreSQL. .TP \-W, \-\-password اجبار به درخواست گذرواژه. .TP \-H, \-\-host=HOSTNAME نام میزبان کارساز پایگاه‌داده یا مسیر سوکت دامنه یونیکس (unix domain socket). .TP \-P, \-\-port=PORT درگاه کارساز پایگاه‌داده. .TP \-\-schema=SCHEMA طرح‌واره (schema) پیش‌فرض برای تنظیمات مختلف اسکیما در سرتاسر osm2pgsql (پیش‌فرض: \f[CR]public\f[R]). این طرح‌واره باید در پایگاه‌داده وجود داشته باشد و توسط کاربر پایگاه‌داده قابل نوشتن باشد. .SH "گزینه‌های ورودی (INPUT OPTIONS)" .TP \-r, \-\-input\-reader=FORMAT انتخاب قالب فایل ورودی. گزینه‌های موجود عبارتند از \f[B]auto\f[R] (پیش‌فرض) برای تشخیص خودکار قالب، \f[B]xml\f[R] برای فایل‌های قالب XML در OSM، \f[B]o5m\f[R] برای فایل‌های قالب o5m و \f[B]pbf\f[R] برای قالب دودویی OSM PBF. .TP \-b, \-\-bbox=MINLON,MINLAT,MAXLON,MAXLAT اعمال فیلتر کادر احاطه‌کننده (bounding box) بر داده‌های واردشده. مثال: \f[B]\-\-bbox\f[R] \f[B]\-0.5,51.25,0.5,51.75\f[R] .SH "گزینه‌های میانی (MIDDLE OPTIONS)" .TP \-i, \-\-tablespace\-index=TABLESPC ذخیره تمام نمایه‌ها (indexes) در فضای جدول (tablespace) به نام \f[CR]TABLESPC\f[R] در PostgreSQL. این گزینه جدول‌های ایجادشده توسط خروجی pgsql را نیز تحت تأثیر قرار می‌دهد. این گزینه منسوخ شده است. به جای آن از گزینه‌های \-\-tablespace\-slim\-index یا \-\-tablespace\-main\-index استفاده کنید. .TP \-\-tablespace\-slim\-data=TABLESPC ذخیره جدول‌های حالت slim در فضای جدول مشخص‌شده. .TP \-\-tablespace\-slim\-index=TABLESPC ذخیره نمایه‌های جدول‌های حالت slim در فضای جدول مشخص‌شده. .TP \-p, \-\-prefix=PREFIX پیشوند نام جدول‌ها (پیش‌فرض: \f[CR]planet_osm\f[R]). .TP \-s, \-\-slim ذخیره داده‌های موقت در پایگاه‌داده. بدون این حالت، تمام داده‌های موقت در RAM ذخیره می‌شوند و اگر حافظه کافی نداشته باشید، فرآیند واردسازی با موفقیت انجام نخواهد شد. با حالت slim، باید بتوانید داده‌ها را حتی روی سامانه‌ای با RAM محدود وارد کنید؛ هرچند اگر RAM کافی برای کش کردن حداقل تمام گره‌ها نداشته باشید، زمان واردسازی داده‌ها احتمالاً بسیار طولانی‌تر خواهد شد. .TP \-\-drop حذف جدول‌های حالت slim از پایگاه‌داده و فایل flat node پس از اتمام فرآیند واردسازی. این کار می‌تواند اندازه پایگاه‌داده را به‌طور چشمگیری کاهش دهد، چرا که حجم جدول‌های حالت slim معمولاً برابر با جدول‌های اصلی و حتی کمی بزرگ‌تر از آن‌ها است. با این حال، اوج مصرف دیسک را در طول واردسازی کاهش نمی‌دهد. علاوه بر این می‌تواند سرعت واردسازی را افزایش دهد، زیرا دیگر نیازی به ساخت نمایه‌ها برای جدول‌های حالت slim نیست که (بسته به سخت‌افزار) می‌تواند زمان واردسازی را تقریباً نصف کند. با این وجود، اگر می‌خواهید پایگاه‌داده‌تان قابلیت به‌روزرسانی داشته باشد، جدول‌های حالت slim باید حفظ شوند، زیرا این جدول‌ها برای پردازش فایل‌های تغییرات (diff processing) ضروری هستند. .TP \-C, \-\-cache=NUM فقط برای حالت slim: استفاده از حداکثر \f[B]NUM\f[R] مگابایت حافظه RAM برای کش کردن گره‌ها. اختصاص کش کافی به osm2pgsql برای نگهداری همه گره‌های واردشده، معمولاً سرعت واردسازی را به‌شدت افزایش می‌دهد. هر گره کش‌شده به ۸ بایت حافظه به‌علاوه حدود ۱۰ تا ۳۰ درصد سربار (overhead) نیاز دارد. به عنوان یک قاعده کلی، مقداری کمی بیش از حجم فایل ورودی با قالب PBF اختصاص دهید. اگر حافظه RAM به‌اندازه کافی بزرگ نیست، حدود ۷۵٪ از حافظه را اختصاص دهید. مطمئن شوید که RAM کافی برای PostgreSQL باقی می‌گذارید؛ این برنامه حداقل به اندازه مقدار مشخص‌شده در تنظیمات \f[CR]shared_buffers\f[R] خود نیاز دارد. پیش‌فرض: 800. .TP \-x, \-\-extra\-attributes گنجاندن ویژگی‌های (attributes) هر شیء در جدول‌های میانی و در دسترس قرار دادن آن‌ها برای خروجی‌ها. ویژگی‌ها عبارتند از: نام کاربری، شناسه کاربری، شناسه مجموعه تغییرات (changeset id)، برچسب زمانی و نسخه. .TP \-F, \-\-flat\-nodes=FILENAME استفاده از یک فایل روی دیسک برای ذخیره موقعیت مکانی گره‌ها به‌جای نگهداری آن‌ها در حافظه (در حالت غیر slim) یا در پایگاه‌داده (در حالت slim). این روش بسیار کارآمدتر از ذخیره داده‌ها در پایگاه‌داده است. ذخیره اطلاعات گره‌ها برای کل سیاره به بیش از ۵۰۰ گیگابایت فضا در PostgreSQL نیاز دارد، در حالی که همین داده‌ها با استفاده از حالت flat\-nodes \[lq]تنها\[rq] در ۹۰ گیگابایت ذخیره می‌شوند. این کار همچنین می‌تواند سرعت اعمال فایل‌های diff را افزایش دهد. این گزینه حالت flat\-nodes را فعال کرده و مسیر فایل پایگاه‌داده را تعیین می‌کند. این یک فایل منفرد بزرگ است. این حالت فقط برای واردسازی داده‌های کل سیاره توصیه می‌شود چرا که برای واردسازی‌های کوچک کارایی مناسبی ندارد. به‌طور پیش‌فرض غیرفعال است. این فایل پس از واردسازی روی دیسک باقی خواهد ماند؛ برای حذف آن از \-\-drop استفاده کنید (اما در این صورت دیگر امکان به‌روزرسانی نخواهید داشت). .TP \-\-middle\-schema=SCHEMA استفاده از طرح‌واره SCHEMA در PostgreSQL برای تمام جدول‌ها، نمایه‌ها و توابع در بخش میانی. طرح‌واره باید در پایگاه‌داده وجود داشته باشد و توسط کاربر پایگاه‌داده قابل نوشتن باشد. به‌طور پیش‌فرض از طرح‌واره تنظیم‌شده با \f[CR]\-\-schema\f[R] استفاده می‌شود، یا در صورت عدم تنظیم، از \f[CR]public\f[R]. .TP \-\-middle\-with\-nodes هنگامی که از فایل flat nodes استفاده می‌شود، گره‌ها در پایگاه‌داده ذخیره نمی‌شوند. از این گزینه برای وادار کردن برنامه به ذخیره گره‌های دارای برچسب (tag) در پایگاه‌داده نیز استفاده کنید. .SH "گزینه‌های خروجی (OUTPUT OPTIONS)" .TP \-O, \-\-output=OUTPUT خروجی مورد استفاده را مشخص می‌کند. در حال حاضر osm2pgsql از گزینه‌های \f[B]pgsql\f[R]، \f[B]flex\f[R] و \f[B]null\f[R] پشتیبانی می‌کند. خروجی \f[B]pgsql\f[R] خروجی پیش‌فرضی است که همچنان برای سازگاری با نسخه‌های پیشین نگه‌داشته شده است. راه‌اندازی‌های جدید باید از خروجی \f[B]flex\f[R] استفاده کنند که امکان پیکربندی بسیار انعطاف‌پذیرتری را فراهم می‌کند. خروجی \f[B]null\f[R] هیچ داده‌ای نمی‌نویسد و فقط برای اهداف آزمایشی یا همراه با \f[B]\-\-slim\f[R] جهت ایجاد جدول‌های slim کاربرد دارد. .TP \-S, \-\-style=FILE فایل سبک (style). این گزینه نحوه واردسازی داده‌ها به پایگاه‌داده را مشخص می‌کند و قالب آن به خروجی بستگی دارد. (برای خروجی \f[B]pgsql\f[R]، پیش‌فرض \f[CR]/usr/share/osm2pgsql/default.style\f[R] است؛ برای سایر خروجی‌ها مقداری پیش‌فرض وجود ندارد.) .SH "گزینه‌های خروجی PGSQL (PGSQL OUTPUT OPTIONS)" .TP \-\-tablespace\-main\-data=TABLESPC ذخیره جدول‌های داده در فضای جدول \f[CR]TABLESPC\f[R] در PostgreSQL. .TP \-\-tablespace\-main\-index=TABLESPC ذخیره نمایه‌ها در فضای جدول \f[CR]TABLESPC\f[R] در PostgreSQL. .TP \-\-latlong ذخیره مختصات بر حسب درجه‌های عرض و طول جغرافیایی. .TP \-m, \-\-merc ذخیره مختصات در سیستم تصویر مرکاتور کروی (مرکاتور وب، EPSG:3857) (پیش‌فرض). .TP \-E, \-\-proj=SRID استفاده از سیستم تصویر با شناسه EPSG:SRID. .TP \-p, \-\-prefix=PREFIX پیشوند نام جدول‌ها (پیش‌فرض: \f[CR]planet_osm\f[R]). این گزینه بر نام جدول‌های بخش میانی و همچنین جدول‌های خروجی pgsql تأثیر می‌گذارد. .TP \-\-tag\-transform\-script=SCRIPT تعیین یک اسکریپت Lua برای پالایش و نرمال‌سازی برچسب‌ها. این اسکریپت شامل توابع بازخوانی (callback) برای گره‌ها، راه‌ها (ways) و رابطه‌ها (relations) است که هرکدام مجموعه‌ای از برچسب‌ها را دریافت کرده و مجموعه‌ای دگرگون‌شده و پالایش‌شده از برچسب‌ها را برمی‌گردانند که سپس در پایگاه‌داده نوشته می‌شوند. .TP \-x, \-\-extra\-attributes گنجاندن ویژگی‌ها (نام کاربری، شناسه کاربری، شناسه مجموعه تغییرات، برچسب زمانی و نسخه). این کار نیازمند ورودی‌های اضافی در فایل سبک شما نیز هست. .TP \-k, \-\-hstore اضافه کردن برچسب‌های فاقد ستون اختصاصی به یک ستون hstore اضافی (کلید/مقدار) در جدول‌های پایگاه‌داده. .TP \-j, \-\-hstore\-all اضافه کردن تمام برچسب‌ها به یک ستون hstore اضافی (کلید/مقدار) در جدول‌های پایگاه‌داده. .TP \-z, \-\-hstore\-column=PREFIX اضافه کردن یک ستون hstore اضافی (کلید/مقدار) با نام \f[CR]PREFIX\f[R] شامل تمام برچسب‌هایی که کلید آن‌ها با \f[CR]PREFIX\f[R] آغاز می‌شود؛ برای نمونه، \f[CR]\[rs]\-\-hstore\-column \[dq]name:\[dq]\f[R] یک ستون hstore اضافی شامل تمام برچسب‌های \f[CR]name:xx\f[R] ایجاد می‌کند. .TP \-\-hstore\-match\-only تنها نگه‌داشتن اشیایی که حداقل در یکی از ستون‌های غیر hstore دارای مقدار باشند. .TP \-\-hstore\-add\-index ایجاد نمایه برای تمام ستون‌های hstore پس از اتمام واردسازی. .TP \-G, \-\-multi\-geometry به‌طور معمول osm2pgsql هندسه‌های چندبخشی را به سطرهای مجزای پایگاه‌داده به ازای هر بخش تقسیم می‌کند. بنابراین یک شیء OSM می‌تواند چند سطر را در جدول‌های خروجی اشغال کند. با استفاده از این گزینه، osm2pgsql در عوض عوارض چند‌هندسه‌ای (multi-geometry) را در جدول‌های PostgreSQL تولید می‌کند. .TP \-K, \-\-keep\-coastlines نگه‌داشتن داده‌های خط ساحلی به‌جای پالایش و حذف آن‌ها. به‌طور پیش‌فرض، اشیای دارای برچسب \f[CR]natural=coastline\f[R] با این فرض که از Shapefileهای تولیدشده توسط OSMCoastline (https://osmdata.openstreetmap.de) برای داده‌های خط ساحلی استفاده خواهد شد، نادیده گرفته می‌شوند. .TP \-\-reproject\-area محاسبه ستون مساحت با استفاده از مختصات مرکاتور کروی، حتی اگر سیستم تصویر متفاوتی برای هندسه‌ها به کار گرفته شده باشد. .TP \-\-output\-pgsql\-schema=SCHEMA استفاده از طرح‌واره SCHEMA در PostgreSQL برای تمام جدول‌ها، نمایه‌ها و توابع در خروجی pgsql. طرح‌واره باید در پایگاه‌داده وجود داشته باشد و توسط کاربر پایگاه‌داده قابل نوشتن باشد. به‌طور پیش‌فرض از طرح‌واره تنظیم‌شده با \f[CR]\-\-schema\f[R] استفاده می‌شود، یا در صورت عدم تنظیم، از \f[CR]public\f[R]. .SH "گزینه‌های انقضا (EXPIRE OPTIONS)" .TP \-e, \-\-expire\-tiles=[MIN_ZOOM\-]MAX\-ZOOM ایجاد فهرست انقضای کاشی‌ها (tile expiry list). .TP \-o, \-\-expire\-output=FILENAME نام فایل خروجی برای فهرست کاشی‌های منقضی‌شده. .TP \-\-expire\-bbox\-size=SIZE حداکثر اندازه برای یک چندضلعی (polygon) جهت منقضی کردن کل چندضلعی، نه فقط مرزهای آن. .SH "گزینه‌های پیشرفته (ADVANCED OPTIONS)" .TP \-I, \-\-disable\-parallel\-indexing غیرفعال‌سازی خوشه‌بندی موازی و ساخت موازی نمایه در تمام جدول‌ها، و ساخت نمایه‌ها به‌صورت متوالی پشت سر هم. .TP \-\-number\-processes=THREADS تعیین تعداد ریسه‌های (threads) موازی مورداستفاده برای عملیات مشخص. .SH "همچنین ببینید (SEE ALSO)" .IP \[bu] 2 \c .UR https://osm2pgsql.org تارنمای osm2pgsql .UE \c .IP \[bu] 2 \c .UR https://osm2pgsql.org/doc/manual.html راهنمای osm2pgsql .UE \c .IP \[bu] 2 \f[B]postgres\f[R](1) .IP \[bu] 2 \f[B]osmcoastline\f[R](1)