পাইথন শেফফাইল পড়তে পারে না


11

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

import shapefile as shp
import matplotlib.pyplot as plt

sf = shp.Reader(r'C:\Users\Public\Documents\1-11-99n.shp')

ShapefileException: Unable to open C:\Users\Public\Documents\1-11-99n.dbf or C:\Users\Public\Documents\1-11-99n.shp.

ফিয়োনা এবং জিওপ্যান্ডাস দিয়ে এটি খোলার ফলে কোনও কাজ হয় না।

import fiona
shape = fiona.open("1-11-99n.shp")

এবং

import geopandas as gp
shp = gp.GeoDataFrame.from_file('1-11-99n.shp')
print (shp)

উভয় শেষ

CPLE_OpenFailedError: b'Unable to open 1-11-99n.shx or 1-11-99n.SHX.Try --config SHAPE_RESTORE_SHX true to restore or create it'

আমি জানি এটি একটি তুচ্ছ সমস্যা হতে পারে, তবে আমি শেফফিল এবং স্থানিক পাইথন লাইব্রেরি ব্যবহারে নতুন তাই আমি এই সমস্যাটি সম্পর্কে কীভাবে কাজ করব জানি না really


বিয়োগফলকে আন্ডারস্কোর দিয়ে প্রতিস্থাপন করুন এবং আবার চেষ্টা করুন .. শেফফিলের নামগুলিতে কেবল অক্ষর, সংখ্যা এবং আন্ডারস্কোর থাকবে বলে মনে করা হচ্ছে । চিঠি দিয়ে নামটি শুরু করা ভাল ধারণাও হবে। যদি সমস্যাটি অব্যাহত থাকে তবে শেফফাইলটি সম্ভবত দূষিত বা। এসএইচএক্স অনুপস্থিত রয়েছে .. আপনার কাছে কেবল .SHP ফাইল আছে বা আপনার কাছে ফাইলগুলির পুরো সেট রয়েছে (.SHP, .SHX, .DBF, .PRJ ইত্যাদি) .. )?
মাইকেল সিমিটসন

সম্ভবত আপনার শেফফাইলটি দূষিত। আমি 1-11-99n.shp হিসাবে একটি নির্বিচারে শেফফিলিকে সংরক্ষণ করি এবং আপনার মিনি স্ক্রিপ্টগুলি সুদৃ .়, ফিয়োনা বা জিওপ্যান্ডাস সহ আমার কোনও সমস্যা নেই।
xunilk

3
হ্যাঁ সমস্যাটি হ'ল আমি প্রয়োজনীয় অন্যান্য shx, dbf, ইত্যাদি ফাইলগুলি অন্তর্ভুক্ত করি নি। আমি shp ফাইল এর আগে কখনও ব্যবহার করি নি তাই আমি জানতাম না যে এর জন্য ফাইলগুলির পরিপূরক প্রয়োজন। ফাইলের নাম পরিবর্তন করা ছাড়া ভাল কাজ করে। ধন্যবাদ!
লিওনার্ড শ

1
@ লিওনার্ডশো দয়া করে আপনার প্রশ্নের উত্তর সরবরাহ করার বিষয়টি বিবেচনা করুন যাতে আমরা এই প্রশ্নের সমাধানটি বিবেচনা করতে পারি।
হারুন

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

উত্তর:


20

শেফফাইলগুলির প্রথমবারের ব্যবহারকারীদের জন্য একটি ফাঁদ রয়েছে। আসল শেফফাইল (.shp) সহযোগী ফাইলগুলি: .dbf, .shx, .prj ইত্যাদি ছাড়া অকেজো is

এটি শেফফিল প্রযুক্তিগত স্পেসিফিকেশনে বর্ণিত হয়েছে তবে এটি খানিকটা অগ্রসর, এসরি নিবন্ধটি দ্রুত ব্যাখ্যার জন্য আরও উপযুক্ত হতে পারে।

এটি গুরুত্বপূর্ণ যে একটি শেফফিলের সাথে সম্পর্কিত সমস্ত ফাইলকে একটি একক হিসাবে বিবেচনা করা হয়। যদি শেফফাইলটি কোনও পর্যায়ে সম্পাদিত হয়, এমনকি কেবল বৈশিষ্ট্য পরিবর্তন হয় তবে এফআইডি (বৈশিষ্ট্য শনাক্তকারী) পরিবর্তন হয় যার অর্থ .DBF ফাইলে ক্রম পরিবর্তন করা হয় .. আপনি কি কোনও শেফফিলের বৈশিষ্ট্যগুলি সম্পাদনা করে কেবল .DBF ফাইল অনুলিপি করতে পারেন, বিদ্যমান .DBF ফাইলটি ওভাররাইট করা আকারগুলি ভুল সারিগুলিতে নির্দেশ করবে । সবসময় সমস্ত ফাইল একসাথে অনুলিপি করুন

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


1
আরও নির্ভুল হতে: .shp, .dbf এবং .shx হ'ল পরম সর্বনিম্ন (মান অনুসারে)। কিউজিআইএস / ওজিআর আপনাকে হারিয়ে যাওয়া ডিডিবিএফ দিয়ে ফাইলগুলি খোলার অনুমতি দেবে, তবে আপনি এই বৈশিষ্ট্যগুলি মুছতে বা সম্পাদনা করতে পারবেন না। তবে আপনি অনুপস্থিত ডিবিএফ-ফাইল তৈরি করতে ogr2ogr ব্যবহার করতে পারেন (একটি খালি বৈশিষ্ট্য সারণী সহ)
LuWi

2
@ লুউইআই। এমনকি এসএইচএক্স ফাইলটি আবার তৈরি করা যায়, এটি স্থানিক সূচক, এমন কয়েকটি সরঞ্জাম এবং বিকল্প রয়েছে যা বিদ্যমান আকারগুলি থেকে স্থানিক সূচকটি পুনর্নির্মাণ করতে পারে। সম্পর্কিত ফাইল সুনির্দিষ্ট সংখ্যা পরিবর্তিত হয় কিন্তু এটি সবসময় ভাল রাখার সবকিছু একসঙ্গে।
মাইকেল সিলিটসন

0

যদি আপনার কাছে থাকা কেবলমাত্র আইটেমটি .shp ফাইল হয় এবং আপনি অন্যান্য অংশগুলি ছাড়াই করতে পারেন তবে এই সমাধানটি ওপেনজ্যাম্প থেকে খোলার এবং সংরক্ষণের বিষয়ে বিবেচনা করুন। https://gis.stackexchange.com/a/306228 আপনার প্রয়োজন অনুযায়ী আপনার এখনও একটি .proj ফাইলের প্রয়োজন হতে পারে তবে অন্য প্রকল্প থেকে অনুলিপি করা একটি "স্ট্যান্ডার্ড" দিয়ে পালাতে সক্ষম হতে পারেন এবং আপনার শেপফিলের সাথে মেলে পুনরায় নামকরণ করতে পারেন , যদি এটি একই প্রক্ষেপণ ব্যবহার করে।

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