জিওডাটাবেস এবং শেফফাইলে অক্ষর এনকোডিং সমর্থন


11

আমি বেশ কয়েকটি জিওডাটাবেস পেয়েছি যার মধ্যে গ্রীক অক্ষরের বৈশিষ্ট্যযুক্ত ক্লাসগুলি অনেকগুলি বৈশিষ্ট্যে অন্তর্ভুক্ত রয়েছে। যখন আমি আরআরকিগ্যাটালগ থেকে শেফফাইল হিসাবে কোনও বৈশিষ্ট্য শ্রেণি রফতানি করার চেষ্টা করি, তখন বৈশিষ্ট্যগুলি শেফফিল ডেটাতে বাছাই করা হয়, কিছু ধরণের চরিত্রের এনকোডিং সমস্যা (তারা আকারে এ জাতীয় দেখাচ্ছে: ?? ইত্যাদি? ই?)। এমডিবি থেকে কেএমএল, এসএইচপি ইত্যাদির স্তরগুলিকে রূপান্তর করতে আমি যখন FWtools এ ogr2ogr ব্যবহার করি তখন একই জিনিস ঘটে থাকে The

জিআইএস ডেটা ফর্ম্যাটগুলিতে এনকোডিং ফর্ম্যাটগুলির সাথে কারও কারও সাথে অভিজ্ঞতা করার অভিজ্ঞতা আছে?

এখানে আসল লক্ষ্য হ'ল এই এসরি জিওডাটাবেস থেকে একটি পোস্টগ্রিজ / পোস্টজিআইএস ডাটাবেসে কিছু ডেটা পাওয়া, তবে ভাঙা এনকোডিং কাজ করছে না। আমি জিওডিবি থেকে শেফফায়ালে রফতানি করতে যাচ্ছিলাম, তারপরে এগুলিতে লোড করব shp2pgsql। এটি কি সেখানে যাওয়ার সহজতম পথ?


2
ইউনিকোড নন সমস্যা এড়াতে আপনি সিপি 1256 বিকল্পের সাথে শ্যাপফিল আমদানি করতে এবং ইউটিএফ 8 এর সাথে রফতানি করতে কিউজিআইএস ব্যবহার করতে পারেন

উত্তর:


10

আমি মনে করি আপনি সেখানে আংশিক উপায়। আপনি iconvএকটি এনকোডিং থেকে অন্যটিতে রূপান্তর করতে ব্যবহার করতে পারেন এবং shp2pgsqlপ্রক্রিয়াটির অংশ হিসাবে এটি ব্যবহার করতে পারেন । উদাহরণ স্বরূপ:

shp2pgsql *postgrestablename* | iconv -f *sourceencoding* -t *targetencoding* | psql -d *yourdatabase*

আপনি যদি লিনাক্স পরিবেশে কাজ করছেন তবে iconvইতিমধ্যে ইনস্টল করা উচিত। উইন্ডোজের জন্য আমি উইন্ডোজের জন্য লিবিআইকনভকে পেয়েছি । তবে iconvউইন্ডোজের অধীনে ব্যবহারের আমার কোনও অভিজ্ঞতা নেই , তাই আমি এটির পক্ষে কোনও প্রমাণ দিতে পারি না।

আশাকরি এটা সাহায্য করবে!

জো


Shp2pgsql প্রয়োগ করার আগে সমস্যা দেখা দেয়। আমি সঠিকভাবে বুঝতে পারলে শেফফিলের বৈশিষ্ট্যগুলি ইতিমধ্যে ভেঙে গেছে।
underdark

এটা কি সাহায্য করে? resources.arcgis.com/content/kbase?fa=articleShow&d=21106
mwalker

আন্ডার ডার্ক, আপনি সঠিক। আমি shp2pgsql পদক্ষেপে উঠার আগে ডেটাগুলি খারাপ।
colemanm

ধন্যবাদ, মওয়ালকার ... এর সমাধান এখনও পর্যন্ত দুর্দান্তভাবে কাজ করেছে! আমি কোডপেজ ফর্ম্যাটটি ইউটিএফ -8 এ পরিবর্তন করেছি এবং শেফফিল ডিবিএফ ডেটা এখন সঠিক অক্ষর দেখায়। এবং কিউজিআইএস-এ পোস্টজিআইএস শেফফাইল লোডার ব্যবহার করে, পোস্টজিআইএস ডাটাবেসের ডেটাও সঠিক।
colemanm

6

আরবি ক্ষেত্রের সাথে ফাইল জিওডাটাবেসকে ইউটিএফ -8 এনকোডিংয়ের সাহায্যে ফাইল জিওডাটাবেস রূপান্তর করার জন্য যে প্রক্রিয়াটি ব্যবহার করেছি তার নীচের নীচে আমি কিউজিআইএস এবং আর্কম্যাপ উভয়ই আরবি এবং ইংরাজিকে সঠিকভাবে প্রদর্শন করে (এক্সটেনশন ব্যবহার বা এক্সপোর্টের জন্য ব্যবহার না করে) খুলেছি:

  • মূল ধারণাটি হ'ল: এফজিডিবি থেকে একটি .dbf (ভুল এনকোডিংয়ে) সহ একটি শেফফিল রফতানি করুন, তারপরে পাঠ্য হিসাবে একই স্তরের অ্যাট্রিবিউট টেবিলটি রপ্তানি করুন (ডান এনকোডিংয়ে যা ইউটিএফ -8), এবং অন্য প্রোগ্রাম ব্যবহার করুন সঠিক UTF-8 ডেটা ফিল্ডের সাথে শেফফাইল .dbf এর বিষয়বস্তু প্রতিস্থাপন করতে এবং UDF-8 এনকোডিং সহ .dbf সংরক্ষণ করুন। তারপরে .dbf এর নতুন এনকোডিংয়ের জন্য আর্কজিআইএসকে জানাতে প্রতিটি শেফফাইলে একটি .cpg ফাইল যুক্ত করুন। পদক্ষেপ:

1) এফজিডিবি থেকে আর্কম্যাপে স্তরগুলি যুক্ত করুন (আমি 10.1 ব্যবহার করেছি, তবে এটি পূর্ববর্তী সংস্করণগুলিতে কাজ না করার কোনও কারণ নেই, কারণ এনকোডিং বিটটি পরে আর্কের বাইরে ঘটে)। রফতানি করতে, একটি স্তরকে ডান ক্লিক করুন এবং ডেটা-> রফতানি ডেটা চয়ন করুন, সংরক্ষণ ডায়ালগটি আনতে রফতানি সংলাপের ফোল্ডার বোতামটি ক্লিক করুন এবং আউটপুট ফর্ম্যাট হিসাবে শেফিল নির্বাচন করুন।

1 বি) উপরের বিকল্প পদ্ধতি: আর্ককিগ্ল্যাজে এফজিডিবিতে নেভিগেট করুন, এটিকে ডান ক্লিক করুন, রফতানি -> শেপফিল করতে (একাধিক) নির্বাচন করুন এবং একক ক্রিয়াকলাপে শেফফাইলে পূর্ণ ফোল্ডার হিসাবে সম্পূর্ণ FGCB রফতানি করুন)।

২) এখন আপনার কাছে জিব্বের সাথে শেফফিলের একটি সেট রয়েছে যেখানে আরবি লিপিটি হওয়া উচিত (আমার মেশিনে এটি অক্ষরের জায়গায় প্রশ্ন চিহ্ন প্রদর্শন করেছিল)। আকৃতিগুলির .dbf অংশগুলি নিজেরাই আকর্ষিত করে, এক্সেলে খোলা হয় বা যে কোনও কিছুই, আরবি পরিবর্তে জিব্বারিশ রয়েছে; এটি জিআইএস প্রোগ্রামে কেবল প্রদর্শিত সমস্যা নয়, এটি .dbf ফাইলগুলিতে আরবি অক্ষর থাকে না। এখনও সহায়ক নয়।

3) আর্কম্যাপে, এফজিডিবি থেকে একটি স্তরের অ্যাট্রিবিউট টেবিলটি খুলুন। ইংরাজী এবং আরবি উভয়ই সঠিকভাবে প্রদর্শন করে সারণীটি খোলে (এজন্য প্রথমে এফজিডিবি ব্যবহার করা হয়েছিল)। অ্যাট্রিবিউট টেবিল উইন্ডোর টেবিল অপশন মেনুতে, রফতানি নির্বাচন করুন এবং ডেটা রফতানি ডায়ালগের মধ্যে সংরক্ষণের ডেটা কথোপকথনে পৌঁছানোর জন্য আউটপুট ফোল্ডার বোতামটি ক্লিক করুন যেখানে আপনি টেক্সট ফাইলটিকে আউটপুট টাইপ হিসাবে বেছে নেন। এখন আপনার কাছে একটি পাঠ্য ফাইল রয়েছে যা ইউটিএফ -8 হিসাবে এনকোডযুক্ত কমা ডিলিমিটারগুলির সাথে নোটপ্যাডে খুলবে, ইংরাজী এবং আরবি উভয়ই সঠিকভাবে এনকোডযুক্ত (আরবি এই মুহুর্তে, নোটপ্যাডে সঠিকভাবে প্রদর্শিত হবে)।

এখন সেই তথ্যটি শেফফিলের .dbf অংশে পেতে!

৪) লিবারঅফিস ক্যাল্ক খুলুন, একটি ফ্রি এবং ওপেন-সোর্স এক্সেল ক্লোন যা একটি আকারের ফাইলের .dbf ফাইল খোলার জন্য, সহজেই .dbf ফাইলগুলি খোলে, পরিচালনা করে এবং সংরক্ষণ করে।

যাইহোক, এই ক্ষেত্রে আমি আদর্শগত কারণে এমএস অফিসের পরিবর্তে লিব্রেঅফিস ব্যবহার করছি না, তবে কেবল কারণেই আমি এক্সেলকে একটি .dbf ফাইল সংরক্ষণ করতে পারি যা ক্যালকের পক্ষে সহজ, বাস্তবে এটি ডিফল্ট বিকল্পটি যখন ক্যাল্কে একটি .dbf ফাইল খোলার ও সংশোধন করার পরে সেভকে আঘাত করে তখন অন্যদিকে এক্সেল এটি আসলে বলে যে "বর্তমান ফর্ম্যাটে ফাইলটি সংরক্ষণ করা যায় না" এবং এতটা সহায়কভাবে "এটি সর্বশেষতম ফর্ম্যাট হিসাবে সংরক্ষণ করতে" প্রস্তাব করে না (.dbf এর জন্য কোনও বিকল্প আসে না)। এক্সেলের জন্য এক্সটেনশন / প্লাগইন রয়েছে যা কাজটি করার জন্য পুরোপুরি (

ক্যালকের .dbf ফাইলটি আরবীর পরিবর্তে জিব্বারিশটি দেখায়। এটির সম্মুখে, প্রারম্ভিক কথোপকথনে আপনি ইউটিএফ -8 কে এনকোডিং হিসাবে (এবং বিস্ময়কর হিসাবে বিবিধ) নির্দিষ্ট করেছেন তা নিশ্চিত করে আপনি একই শেফফিলের অ্যাট্রিবিউট টেবিল থেকে রপ্তানি করা .csv খুলুন। পাঠ্য ফাইলগুলি আরবী সহ সঠিকভাবে প্রদর্শিত দ্বিতীয় ক্যালক স্প্রেডশীটে খোলার উচিত এবং সেগুলি শুরুতে .dbf প্লাস হিসাবে একটি OBJECTID কলামের মতো একই কলামগুলি থাকা উচিত। যথাযথ আরবিযুক্ত .csv থেকে কলামগুলি .dbf- এ কপি-পেস্ট করুন (সময়টি বাঁচানোর জন্য আমি বামতম আইডি কলাম বাদ দিয়ে পুরো টেবিলটি অনুলিপি করে দিয়েছি; তথাপি তথ্যটি অভিন্ন)। LibreOffice- র পরিবর্তিত .dbf- এ সংরক্ষণ করুন টিপুন (আপনি সত্যই .dbf এর মতো অদ্ভুত বিন্যাসটি ব্যবহার করতে চান কিনা তা জিজ্ঞাসা করবে; হ্যাঁ, আপনি করেন)।

এফজিডিবি থেকে শেফফিলের সমস্ত .dbf উপাদানগুলির জন্য এই প্রক্রিয়াটি পুনরাবৃত্তি করুন, সমস্ত জিব্বারিশ কলামগুলি আরবি স্ট্রিংয়ের সাথে প্রতিস্থাপন করুন।

5) আপনি আটকানো আরবি কলামগুলির সাথে .dbf অংশগুলি পুনরায় সঞ্চার করার সাথে সাথে আপনি কিউজিআইএস-এ আকৃতি ফাইলগুলি খুলতে পারেন এবং তারা উভয় ভাষায় সঠিকভাবে কাজ করবে, আপনি যদি ইউটিএফ -8টিকে আমদানি ভেক্টরের এনকোডিং হিসাবে নির্দিষ্ট করেন তবে ফাইল সংলাপ। তবে তারা এখনও আর্কজিআইএসে সঠিকভাবে কাজ করবে না (বা কমপক্ষে সমস্ত সংস্করণে নয়) কারণ আর্কজিআইএস স্বয়ংক্রিয়ভাবে এনকোডিংটি স্বীকৃতি দেয় না বা যখন আপনি কোনও প্রকল্পে শেফফিল যুক্ত করেন তখন আপনাকে এটি চয়ন করতে দেয়। কোন এনকোডিংটি পড়তে হবে তা নির্দেশের জন্য আর্ককে শেফফাইলে একটি পৃথক উপাদান প্রয়োজন যা কোড পৃষ্ঠা রূপান্তর (.cpg) ফাইল বলে।

)) একটি পাঠ্য ফাইল তৈরি করতে একটি পাঠ্য সম্পাদক (নোটপ্যাড, ন্যানো বা যা কিছু নয়, তবে শব্দ বা অন্য কোনও ওয়ার্ড প্রসেসর নয়) ব্যবহার করুন যা কেবলমাত্র পাঁচটি অক্ষর "ইউটিএফ -8" রয়েছে। এটিকে প্রতিটি শেফফায়ালের জন্য .cpg হিসাবে সংরক্ষণ করুন (সংরক্ষণ করুন হিসাবে কথোপকথনে আমি কেবল শেফফাইলের একটি পিসে ক্লিক করি, তারপরে এক্সটেনশানটি মুছুন এবং .cpg যুক্ত করুন), একই ফোল্ডারে শেফফাইল হিসাবে (এটি মূলত হাই এর অন্য পিস হয়ে যায়) মাল্টি পার্ট শেফফাইল)। .Cpg এক্সটেনশনটি অর্কে বলে যে এটি একটি ফাইল যা .dbf ফাইলের এনকোডিং সম্পর্কিত তথ্য ধারণ করে; এটি একবারে একই নামের-ভিন্ন-ভিন্ন-এক্সটেনশান ভাইবোনদের সাথে শেফফিলিতে বান্ডিল হয়ে গেলে, শেফফিলের এনকোডিংটি এখন স্বয়ংক্রিয়ভাবে আরকজিআইএস দ্বারা স্বীকৃত।

7) ভয়েলা। এখন আপনার কাছে শেপফাইল রয়েছে যা ইংরাজী এবং আরবি উভয় স্ট্রিং ধারণ করে, যতদূর আমি ঠিক বলতে পারি সেগুলি মূল ফাইল জিওডাটাবেসে ছিল ঠিক তেমন। এগুলি আমার উভয়ই অর্কম্যাপ এবং কিউজিআইএসের স্থাপনাগুলিতে খোলে এবং উভয় ক্ষেত্রে উভয় ভাষায় স্ট্রিং মানচিত্রের লেবেলগুলি সহ সঠিকভাবে প্রদর্শিত হয়।

আদেশ সহকারে:

  • আরকজিআইএসের সমস্ত অনুলিপিগুলি যথাযথভাবে জনবহুল পাঠ্য ফাইল হিসাবে অ্যাট্রিবিউট টেবিলটি রফতানি করে বলে মনে হচ্ছে না (কমপক্ষে একটি কম্পিউটারে, একটি টেক্সট ফাইলটিতে অ্যাট্রিবিউট টেবিলটি রফতানি করার চেষ্টা করে কেবল কোনও ফাইলের শিরোনামের সাহায্যে, ডাটা লাইন নয়। অর্কের যথাযথ আচরণ নয় (অবশ্যই এটি পাঠ্য হিসাবে অ্যাট্রিবিউট টেবিলগুলি রফতানি করতে সক্ষম হবে বলে মনে করা হচ্ছে) তবে এটি কিছু ব্যবহারকারীর জন্য উঠে আসতে পারে This এটি বাকি পদক্ষেপগুলি অসম্ভব করে তোলে।

  • দেখে মনে হচ্ছে না যদিও আর্কজিআইএস ইউটিএফ -8 এনকোডিং সহ নতুন শেফফিলগুলি সংরক্ষণ করবে। এটি কেবলমাত্র সেই ব্যবহারকারীদের উপর প্রভাব ফেলবে যারা ডেটা থেকে নতুন শেফফিল তৈরি করতে চান, যারা কেবল প্রদর্শন, পরিবর্তন করতে এবং মানচিত্র তৈরি করতে তাদের ব্যবহার করতে চান না তাদের নয়। কার্যতালিকাটি এখানে আপনার উইন্ডোজ রেজিস্ট্রি নিয়ে বিশৃঙ্খলার সাথে জড়িত বলে মনে হচ্ছে: ( http://support.esri.com/cn/ জ্ঞানবেস / তৃতীয় / ডেটাইল / 21106 )। আমার এটির সাথে মোকাবিলা করতে হয়নি কারণ আমার আরকজিআইএস এবং কিউজিআইএস উভয়ই উপরের প্রক্রিয়াটি ব্যবহার করে যে আকারের ফাইলে সংরক্ষণ করেছেন তা খুশি মনে হয়েছে এবং আমি জ্যামিতি এবং টেবিলের এন্ট্রিগুলিকে সংশোধন করতে পারি বা কোনও স্পষ্ট সমস্যা ছাড়াই আরও বেশি আরবি পাঠ্য সহ নতুন বহুভুজ যুক্ত করতে পারি ( যদিও আর্কটি ইউটিএফ -8 এনকোডিং সহ নতুন শেফফিলগুলি সংরক্ষণ করতে চায় না বলে মনে হচ্ছে, এগুলি আপডেট / পুনরায় সংরক্ষণ করতে ইচ্ছুক বলে মনে হচ্ছে)।

  • আমি ধরে নিচ্ছি যে আমার কম্পিউটারের মতো উইন্ডোজেও লিব্রেফিসের কার্যকারিতা একই রকম। আমি আমার বেশিরভাগ কাজের জন্য জিএনইউ / লিনাক্স ব্যবহার করি এবং যদি আমাকে কোনও কাজ বা অন্য কোনও কাজের জন্য আর্কজিআইএস বা অটোক্যাডের প্রয়োজন হয় তবে কেবল উইন্ডোতে বুট করি, সুতরাং আমি ফেডোরায় চলমান লাইব্রোফাইসে .dbf ফাইলটি সংশোধন করেছি। আমি ধরে নিলাম এটি উইন্ডোজে একইভাবে কাজ করে, তবে আমি এটি পরীক্ষা করতে পারি না যে আমার উইন্ডোজ পার্টিশনে LibreOffice ইনস্টল না করে এবং আমার বর্তমান ইন্টারনেট সংযোগ অপ্রয়োজনীয় ডাউনলোডগুলির জন্য কিছুটা ধীর। এক্সেলের জন্য এমন প্লাগইন রয়েছে যা আপনাকে নির্বাচিত এনকোডিংয়ে উদাহরণস্বরূপ .dbf ফাইলগুলি সংরক্ষণ করতে দেয় (উদাহরণস্বরূপ, Exceltodbf.sourceforge.net/,) তবে আমি সেগুলি চেষ্টা করি নি। .Dbf কে সামলানো এবং সেভ করার জন্য সামগ্রিকভাবে অন্যান্য উপায় থাকতে পারে তবে লিব্রেঅফিসের সাথে এটি করার উপযুক্ত যুক্তিসঙ্গত উপায় খুঁজে পাওয়ার পরেও আমি এগুলিতে সন্ধান করিনি।

  • আপনি যদি আর্কজিআইএস-এর প্রোডাকশন ম্যাপিং এক্সটেনশনের জন্য অর্থ প্রদান করেন তবে পুরো বিষয়টিকে এড়াতে পারা যায় বলে মনে হচ্ছে, যা আপনাকে এই পৃষ্ঠা অনুসারে ইউটিএফ -8 এনকোডিংয়ের সাথে সরাসরি এফজিডিবিগুলিকে শেফফাইলে রূপান্তর করতে দেয়: http://resources.arcgis.com/en/help /main/10.1/index.html#//0103000001m1000000 । এই পরিবর্তে মৌলিক কার্যকারিতা কেন (ইউনিকোড এখন কিছু সময়ের জন্য রয়েছে, এবং সেখানে ইংরেজি ব্যতীত আরও অনেকগুলি ভাষা রয়েছে) কেবলমাত্র সেই গ্রাহকদের জন্য উপলব্ধ যারা অতিরিক্ত অর্থ প্রদান করেন তা ইএসআরআইয়ের জন্য প্রশ্ন।


0

আপনাকে প্রথমে ইনপুট ডেটাটি কী এনকোডিংয়ের মধ্যে রয়েছে তা নির্ধারণ করতে হবে, যাতে আপনি কীভাবে ডেটাটিকে একটি উপযুক্ত এনকোডিংয়ে রূপান্তর করবেন আপনার সরঞ্জামগুলি বলতে পারেন। আপনার যদি অ্যাক্সেস থাকে তবে আমি এমডিবি থেকে সরাসরি পাঠ্যে টেবিলটি রফতানি করার চেষ্টা করব এবং ইউটিএফ 8 এ আউটপুট এনকোডিং সেট করব। আপনি যদি আর্কজিআইএসে রফতানি করা শেফফাইলটি খোলেন, তবে এনকোডিংটি সঠিকভাবে সেট করা আছে? ডিবিএফ কোড পৃষ্ঠাগুলি সমর্থন করে এবং এটি সম্ভব যে ওজিআর রূপান্তরটির জন্য সঠিকটি বেছে নিচ্ছে না।

স্পষ্টভাবে ইনপুট স্ট্রিম সেট করার জন্য এমডিবুলসকে ( ওজিআর ড্রাইভারের অংশ হিসাবে ব্যবহৃত) জোর করার উপায়গুলিও রয়েছে , তবে আমি প্রথমে অন্যান্য পদ্ধতির চেষ্টা করব।


0

আমি বরং আরকজিআইএস পথে যাব। এখান থেকে নির্দেশ অনুসরণ করে সবেমাত্র আর্কজিআইএস-এ ইউটিএফ -8 এ এনকোডিংটি সেট করুন । এর পরে শেপফাইলে ফিচার ক্লাসগুলি এক্সপোর্ট করুন। এখন আপনি প্রতিটি স্তর সহ একটি অতিরিক্ত সিপিজি (কোড পৃষ্ঠা ফাইল) ফাইল পাবেন। এটিতে কেবল "UTF-8" স্ট্রিং সহ একটি পাঠ্য ফাইল এবং আপনার সমস্ত ডেটা স্বয়ংক্রিয়ভাবে ইউটিএফ -8 এ এনকোড হয়ে যায়।

আপনি যদি অন্যান্য এনকোডিং ব্যবহার করতে আগ্রহী হন তবে কেবল নির্দেশাবলী দেখুন।

গুরুত্বপূর্ণ বিষয়টি এই অ্যাসাইনমেন্টটি শেষ করার পরে আপনার এই সেটিংটি ডিফল্ট মান বেকুয়েজে পরিবর্তন করা উচিত যদি আপনি এই মানটি উদাহরণস্বরূপ "ইউটিএফ -8" রাখেন তবে ভবিষ্যতে আরকিজিআইএস "ইউটিএফ -8" এনকোডিং ব্যবহার করে সমস্ত শেপফায়াল রফতানি করবে।

আশা করি এটি আপনাকে সহায়তা করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.