দূষিত শেফফিল ফিক্সিং?


10

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

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

কোন ধারনা? (বাদে আমি শেফফাইল ব্যবহার বন্ধ করি)


এখানে ogr2ogr থেকে আউটপুট দেওয়া হয়েছে (উত্তরগুলির এএ পরামর্শের উপর ভিত্তি করে): এখানে চিত্র বর্ণনা লিখুন


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

ত্রুটি বার্তা অনেক প্রকাশ। এই সংখ্যাগুলি এবং অংশগুলি 2 ^ 30 এবং 2 ^ 32 (স্বাক্ষরবিহীন) এর মধ্যে মানগুলি নির্দেশ করে, নিজেই .shp ফাইলটিতে রেকর্ড শিরোনামগুলির বিস্তৃত শারীরিক ওভাররাইটিংয়ের পরামর্শ দেয় (কারণ তারা কখনও বৈধ গণনা হবে না)। সুতরাং এটি সম্ভবত রেকর্ডগুলির ডেটাও ওভাররাইট করা হয়েছে। সংক্ষেপে, আপনার আকারের ডেটা সম্ভবত আর বিদ্যমান নেই, কমপক্ষে .shp ফাইলের অনেকগুলি অংশে এবং তাই সফ্টওয়্যার দ্বারা পুনরুদ্ধারযোগ্য নয়। আপনার ব্যাকআপগুলি থেকে পুনরুদ্ধার করুন এবং সেখান থেকে শুরু করুন।
whuber

1
@whuber। ধন্যবাদ। অবশ্যই বিষয়টি। এই দুর্নীতিগ্রস্ত শেফফাইল থেকে উদ্ধার করা প্রতিটি ফাইলের মধ্যে আমার ব্যাকআপের চেয়ে কম রেকর্ড রয়েছে। আমি তখন থেকে ব্যাকআপে ফিরে এসেছি।
এরিক

ব্র্যাড নেসোমস সুপারিশ shapecheck.exe, আমার দূষিত আকার ফাইলটি প্রথমবার স্থির করে! দুর্দান্ত সরঞ্জাম

উত্তর:


8

দূষিত বৈশিষ্ট্যগুলি হারিয়ে যাওয়ার সাথে একটি বিকল্প হ'ল -স্কিপলস বিকল্পের সাহায্যে ogr2ogr ব্যবহার করে আপনার শেফফিলটিকে অন্য আকারের ফাইলে রূপান্তর করতে পারে:

ogr2ogr -skipfailures fixed_shapefile.shp corrupted_shapefile.shp

আরও তথ্যের জন্য পেরি জিও ব্লগ থেকে এই ব্লগ পোস্টটি দেখুন:

http://www.perrygeo.net/wordpress/?p=132


কমান্ডটি চালান (-f "ইএসআরআই শেফিল" সহ আপনি ছেড়ে গেছেন) ফাইলটিতে ত্রুটির প্রতিবেদন পেয়েছে [[এখানে স্ক্রিনশট পোস্ট করতে পারছি না]। আমার মনে হয় এটি অপরাধীর আকারগুলির সাথে সম্পর্কযুক্ত। ফর্ম্যাটটি হ'ল: ERROR 1: দূষিত .shp ফাইল: আকার 2352, nPPoint = 7, nEntitySize = 88।
এরিক 9

আপনি নিরাপদে -f বিকল্পটি মুছে ফেলতে পারেন: শেফফাইলটি ডিফল্ট আউটপুট ফর্ম্যাট। আকর্ষণীয় হবে, আরও গবেষণার জন্য, আপনি যদি
শেফফিলের

গবেষণার জন্য ফাইল: আমি আনন্দের সাথে ফাইলটি ফরোয়ার্ড করতাম তবে দুর্ভাগ্যক্রমে ডেটা কপিরাইটযুক্ত। যাই হোক ধন্যবাদ.
এরিক

@ এরিক, আপনি ইমগুর ডটকমের স্ক্রিনশটটি রাখলে আমি এটি এখানে পোস্ট করতে পারি (এখনও প্রাসঙ্গিক হলে)
ডিজেকিউ

5

আমি এটি ব্যবহার করি এটি আমার পক্ষে সর্বদা সেই সমস্যাটি স্থির করে দিয়েছে।

shapecheck.exe


ব্র্যাডের সাথে আমি সম্মত, শেপচেক স্রেফ কাজ করে - স্বতন্ত্র ফিক্সগুলি শেফফিলস - যখন প্রয়োজন হয় তখন কাটা হয়।
ম্যাপারজ

@Mapperz। বেশ কয়েকটি ছাঁটাই সহ সরঞ্জামটি চালান। এরপরে প্রকৃতপক্ষে শেফফিলটি খুলতে পারি! তবে এতে এখন আমাকে ফিরে যেতে হবে এমন ব্যাকআপের চেয়ে কম রেকর্ড রয়েছে। আমার যদি ব্যাকআপ না থাকে তবে পুনরুদ্ধারটি এমন হত। (ঘটনাবস্তুর জন্য সংরক্ষণাগার সরঞ্জাম) ধন্যবাদ।
এরিক

লিঙ্কটি নষ্ট হয়ে গেছে। এখানে একটি কাজ করছে: geonet.esri.com/servlet/JiveServlet/download/614216-1-160601/… উত্স: geonet.esri.com/thread/177037#comment-614216
মিঃ চে

4

Esri থেকে অফিসিয়াল উত্তর টিপস একটি নম্বর আছে কিন্তু আপনি পয়েন্ট Shp মেরামতের উপযোগ যা আমাকে রক্ষা করেছেন কয়েক বার বহিস্কার হচ্ছে।

আমি শুনেছি এমন অন্য কয়েকটি, কিন্তু আমি চেষ্টা করে বলতে পারি না:


ধন্যবাদ সাইমন তবে আমার বড় সমস্যাটি হ'ল আমি ফাইলটি আরম্ভকারীদের জন্য খোলার জন্য পাই না তাই বেশিরভাগ পরামর্শই কাজ করে না। আপনার পরামর্শ দেওয়া টিপ ওনে সবেমাত্র চেষ্টা করে দেখুন। কিছুই কাজ হয়নি।
এরিক

2

ঠিক আছে, উপরের ভাল উত্তরের গাদা যোগ করার জন্য এখানে আরও একটি কৌশল's

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

  1. নতুন ফাঁকা ফোল্ডারে আকৃতিটি অনুলিপি করুন। আপনার সাথে কেবল SHP, SHX, এবং DBF নিন, অন্যান্য সমস্ত ফাইল পিছনে রেখে দিন, এবং হ্যাঁ এতে প্রজ অন্তর্ভুক্ত রয়েছে।

  2. (উইন্ডোজ): SHX ফাইলটিতে ডান ক্লিক করুন এবং ফাইলের বৈশিষ্ট্যগুলি খোলার জন্য "সম্পত্তি" নির্বাচন করুন।

  3. "জেনারেল" ট্যাবে এই SHX ফাইলের যথাযথ ফাইল আকারটি একবার বাইটে দেখুন। "আকার" বৈশিষ্ট্যটি দেখুন, এবং "আকারে ডিস্কে" সম্পত্তিটি দেখুন।

  4. এই ফাইলের আকারটি বাইটে নিন এবং 100 বাইট বিয়োগ করুন (শিরোনাম)। বাকিগুলির মধ্যে 8 টি দিয়ে বিভক্ত করুন (প্রতিটি "শব্দের" আকার)। ফলাফল আপনাকে শেফফিলের এসএইচপি অংশের মধ্যে আকৃতির বৈশিষ্ট্যগুলির সংখ্যা দেয়।

  5. আপনাকে এমন কোনও সফ্টওয়্যারে ডিবিএফ খুলুন যা আপনাকে ডিবিএফ সম্পাদনা করার অনুমতি দেয় এবং এটি ডিবিএফ হিসাবে আবার সংরক্ষণ করতে পারে। ডিবিএফ-এ সারিগুলি তৈরি করতে যাতে রেকর্ডস যুক্ত বা সরিয়ে ফেলুন আপনি পদক্ষেপ # 4 এ গণনা করেছেন এমন এসএইচপিতে আকৃতির বৈশিষ্ট্যগুলির সংখ্যার সাথে মেলে। (আপনি যদি এক্সেলের কোনও পুরানো সংস্করণ ব্যবহার করে থাকেন তবে মনে রাখবেন যে সারি # 1 এ ফিল্ডের নাম রয়েছে, তাই আপনি যদি 1000 টি রেকর্ডের জন্য যান তবে প্রথম ডাটা সারি থেকে শীটটিতে 1,001 সারি থাকবে) সারি # 2)) সারিগুলি সংখ্যার সাথে মিল তৈরি করতে হলে সারিগুলি মুছে ফেলার দরকার ছিল এবং সেই সারিগুলির মধ্যে সত্যিকারের ডেটা রাখা উচিত ছিল, কেবল সেগুলি একটি নতুন ডিবিএফ-এ সংরক্ষণ করুন, এবং আপনি সেই জিনিসটি আবার পড়তে পারেন পরে, একবার আপনি সেই বিন্দুতে পৌঁছে গেলেন যেখানে আরকম্যাপে আবার সবকিছু খোলে।

  6. একবার আপনি ডিবিএফ-এ সারি সংখ্যার সাথে এসএইচপিতে বৈশিষ্ট্যগুলির সংখ্যার সাথে মেলে তুলতে উপরের পদক্ষেপগুলি ব্যবহার করার পরে, আর্কম্যাপে আবার শেফফাইলটি খোলার চেষ্টা করুন।


1

আপনি আপনার .shp ফাইল মধ্যে আকার সংখ্যা গণনা করার চেষ্টা করতে পারেন ogrinfo (না নিশ্চিত এটা কাজ করবে):

 ogrinfo -sql 'select count(*) from myshp' myshp.shp

আপনি যদি আকারের সংখ্যা গণনা করতে সক্ষম হন তবে এটি সম্পূর্ণ করার জন্য আপনার .dbf ফাইলটি উন্মুক্ত অফিসের সাথে খুলতে পারেন (বা অতিরিক্ত সারিগুলি সরিয়ে নেওয়া হয়েছে)


পরামর্শের জন্য ধন্যবাদ, তবে আমি ঠিক GDAL সরঞ্জাম প্রো না AL বা 'খুব' বর্গক্ষেত্রের সাক্ষর। আপনার সরবরাহিত পরামিতিগুলির সাথে চলমান সরঞ্জামের চেষ্টা করা হয়েছে তবে সরঞ্জাম সম্পর্কিত ত্রুটি পেয়েছে। "ডেটাসোর্স গণনা (*) খুলতে অক্ষম"।
এরিক

আপনি কমান্ড লাইন অনুলিপি / পেস্ট করতে পারেন?
সিমো

আমি কিন্তু তবুও একই ত্রুটি করতে পারি। তবে @ ক্যাপুটির সমাধানটি কিছু ফলাফল / সনাক্তকারী অপরাধীর আকার নিয়েছে বলে মনে হচ্ছে।
এরিক 9

1

আমার সূচী ফাইলগুলি (.idx এবং .shx) মুছে ফেলার কিছু ভাগ্য আছে যা আপনার জিআইএস পুনরায় সংযুক্ত হওয়ার পরে পুনরায় তৈরি করবে।


সাফল্য ছাড়া এটি চেষ্টা। পরামর্শ দেওয়ার জন্য ধন্যবাদ।
এরিক

0

যদি আপনার শেফফাইলটি একটি বিন্দু স্তর এবং XY ক্ষেত্রের মান থাকে তবে আপনি দুর্নীতিগ্রস্ত শেফফিল ডিবিএফ থেকে অন্য স্তর তৈরি করতে XY ইভেন্ট স্তর স্তর তৈরি করুন চালাতে পারেন।


এটি একটি রোড (পলিনলাইন) ফাইল। তবে পয়েন্টের দৃশ্যের জন্য আপনার ইঙ্গিতটি মাথায় রাখবে। ধন্যবাদ।
এরিক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.