| shp2pgsql(1) | PostGIS | shp2pgsql(1) |
نام (NAME)
shp2pgsql - بارگذار shapefile در postgis
سینتکس (SYNTAX)
shp2pgsql [options] shapefile [schema.]table
توضیحات (DESCRIPTION)
بارگذار دادهٔ shp2pgsql فایلهای ESRI Shape را به دستورهای SQL مناسب جهت درج در پایگاهدادهٔ PostGIS/PostgreSQL تبدیل میکند.
نسخه: 1.1.5 (2006/10/06)
نحوه استفاده (USAGE)
مقدار <shapefile> نام فایل shape بدون هیچگونه پسوند است. برای نمونه، 'roads' نام shapefile شامل فایلهای 'roads.shp'، 'roads.shx' و 'roads.dbf' خواهد بود.
مقدار <tablename> نام جدول پایگاهداده (بهطور اختیاری همراه با نام schema) است که میخواهید دادهها در آن ذخیره شوند. درون این جدول، اطلاعات هندسی بهطور پیشفرض در ستون 'geo_value' قرار خواهد گرفت.
گزینهها (OPTIONS)
این بارگذار چندین حالت عملیاتی دارد که با پرچمهای خط فرمان مشخص میشوند:
(توجه داشته باشید که گزینههای -a، -c، -d و -p ناسازگار با یکدیگر بوده و بهصورت همزمان قابل استفاده نیستند.)
- -d
- پیش از ایجاد جدول جدید با دادههای فایل Shape، جدول پایگاهداده را حذف (drop) میکند.
- -a
- دادهها را از فایل Shape به جدول پایگاهداده ضمیمه (append) میکند. توجه داشته باشید که برای استفاده از این گزینه جهت بارگذاری چند فایل، فایلها باید دارای ویژگیها (attributes) و انواع دادههای یکسانی باشند.
- -c
- یک جدول جدید ایجاد کرده و آن را با دادههای فایل Shape پر میکند. این حالت پیشفرض است.
- -p
- تنها کد SQL مربوط به ایجاد جدول را بدون افزودن دادههای واقعی تولید میکند. در صورتی که نیاز داشته باشید مراحل ایجاد جدول و بارگذاری دادهها را کاملاً تفکیک کنید، میتوانید از این گزینه بهره ببرید.
- -D
- استفاده از قالب "dump" مربوط به PostgreSQL برای دادههای خروجی. این گزینه میتواند با -a، -c و -d ترکیب شود. سرعت بارگذاری با این روش بسیار بالاتر از قالب پیشفرض دستورهای "insert" در SQL است. از این گزینه برای مجموعهدادههای بسیار بزرگ استفاده کنید.
- -w
- تولید خروجی در قالب WKT به جای WKB. توجه داشته باشید که این کار به دلیل کاهش دقت محاسباتی ممکن است باعث خطای انحراف در مختصات شود.
- -e
- اجرای مستقل هر دستور بدون استفاده از تراکنش (transaction). این ویژگی امکان میدهد در صورت وجود برخی هندسههای معیوب و بروز خطا، بخش اعظم دادههای سالم بارگذاری شوند. توجه داشته باشید که این گزینه به همراه پرچم -D قابل استفاده نیست، زیرا قالب "dump" همواره از تراکنش استفاده میکند.
- -s [<FROM_SRID>:]<SRID>
- جداول هندسه را با SRID تعیینشده ایجاد کرده و مقداردهی میکند. اگر FROM_SRID مشخص شده باشد، هندسهها بازطرحریزی (reproject) خواهند شد. بازطرحریزی به همراه -D قابل استفاده نیست.
- -G
- استفاده از نوع geography به جای geometry. نوع geography برای ذخیره دادههای طول و عرض جغرافیایی (lat/lon) به کار میرود. در حال حاضر تنها مرجع مکانی پشتیبانیشده 4326 است.
- -g <geometry_column>
- تعیین نام ستون دادههای هندسی (بیشتر در حالت ضمیمه کردن دادهها کاربرد دارد).
- -k
- حفظ بزرگی و کوچکی حروف در شناسهها (ستون، schema و ویژگیها). توجه داشته باشید که ویژگیها در Shapefile معمولاً تماماً با حروف بزرگ نوشته میشوند.
- -m <filename>
- تعیین
فایلی شامل
مجموعهای
از
نگاشتهای
نامهای
(طولانی)
ستون به
نامهای
ستون ۱۰
نویسهای DBF.
محتوای
فایل شامل
یک یا چند
خط متشکل از
دو نام است
که با فاصله
جدا
شدهاند و
هیچ فاصلهٔ
اضافی در
ابتدا یا
انتهای
آنها وجود
ندارد:
COLUMNNAME DBFFIELD1\n
AVERYLONGCOLUMNNAME DBFFIELD2\nو غیره.
- -i
- تبدیل اجباری تمام اعداد صحیح به اعداد صحیح استاندارد 32-bit و عدم ایجاد bigintهای 64-bit، حتی اگر اطلاعات سرایند DBF بر لزوم آن دلالت داشته باشد.
- -S
- تولید هندسههای ساده (simple Geometries) به جای چندهندسهها (MULTIgeometries). فایلهای Shape تفاوتی میان LINESTRING و MULTILINESTRING قائل نمیشوند، از این رو shp2pgsql بهطور پیشفرض اقدام به تولید MULTILINESTRING میکند. این سوییچ در عوض LINESTRING تولید خواهد کرد، اما در صورت برخورد shp2pgsql با یک MULTILINESTRING واقعی با خطا مواجه خواهد شد. همین قاعده برای POLYGON در برابر MULTIPOLYGON نیز برقرار است.
- -W <encoding>
- تعیین encoding نویسههای مربوط به ویژگیهای Shapefile. در صورت استفاده از این گزینه، خروجی با کدگذاری UTF-8 خواهد بود.
- -I
- ایجاد یک نمایهٔ GiST روی ستون هندسی.
- -N <policy>
- تعیین سیاست مدیریت هندسههای NULL (شامل insert، skip و abort).
- -T <tablespace>
- تعیین tablespace برای جدول جدید. نمایهها همچنان از tablespace پیشفرض استفاده خواهند کرد مگر اینکه از پارامتر -X نیز استفاده شود. مستندات PostgreSQL توضیحات جامعی دربارهٔ زمان استفاده از tablespaceهای سفارشی ارائه کرده است.
- -X <tablespace>
- تعیین tablespace برای نمایههای جدول جدید. این مورد برای نمایهٔ کلید اصلی (primary key) و در صورت فعال بودن -I برای نمایهٔ مکانی GIST اعمال میشود.
- -?
- نمایش اطلاعات نسخه و نحوه استفاده.
نصب (INSTALLATION)
برای کامپایل برنامه از سورسکد، کافی است دستور "make" را در پوشهٔ سورس اجرا کنید. سپس فایل باینری را در مسیر جستجوی شل خود (یا هر مکان دلخواه دیگر) کپی کنید. این متن همچنین به عنوان یک man page در دایرکتوری ../doc/man/ موجود بوده و آمادهٔ کپی در مسیر راهنماهای سیستمهای شبهیونیکس است.
مثالها (EXAMPLES)
نمونهای از مراحل استفاده از این بارگذار برای ایجاد فایل ورودی و انتقال آن به شکل زیر است:
# shp2pgsql shaperoads roadstable roadsdb > roads.sql
# psql -d roadsdb -f roads.sql
عملیات تبدیل و بارگذاری میتواند در یک مرحله و با استفاده از لولههای یونیکس (pipes) انجام شود:
# shp2pgsql shaperoads roadstable roadsdb | psql -d roadsdb
نویسندگان (AUTHORS)
در ابتدا توسط Jeff Lounsbury <jeffloun@refractions.net> نوشته شد. بهبود یافته و نگهداریشده توسط Sandro Santilli <strk@kbt.io>. شامل مشارکتها و اصلاحات جزئی توسط افراد دیگر.
این برنامه برای خواندن فایلهای ESRI Shape از قابلیتهای shapelib 1.2.9 نوشتهشده توسط Frank Warmerdam <warmerda@gdal.velocet.ca> بهره میبرد.
همچنین ببینید (SEE ALSO)
pgsql2shp(1)
اطلاعات بیشتر در http://postgis.net در دسترس است.