ভৌগলিক ডেটা ফাইল থেকে অপরিবর্তিত কলামগুলি সরাবেন?


10

আমার কাছে কিছু জিএমএল ডেটা রয়েছে যাতে এতে কিছু অপ্রয়োজনীয় কলাম রয়েছে। আমি ফাইলের আকার কমাতে এই কলামগুলি সরিয়ে ফেলতে চাই। (স্পষ্ট করার জন্য: আমার অর্থ এই যে ফাইলটিতে অনেকগুলি পয়েন্ট রয়েছে এবং এই পয়েন্টগুলির প্রত্যেকটিরই কিছু মেটাডেটা সংযুক্ত রয়েছে এবং আমার সমস্ত মেটাডেটার দরকার নেই))

আমি অনেক ফাইল আছে বলে আমি কমান্ড লাইন থেকে এটি করতে চাই।

আমি জিএমএল ফাইলগুলি ব্যবহার করে বিভিন্ন ফর্ম্যাটে রূপান্তর করতে পারি ogr2ogr, তাই আমার প্রশ্নটি হ'ল কমান্ড লাইন থেকে কোনও ভৌগলিক ডেটা ফাইল থেকে একটি কলাম সরিয়ে ফেলার সহজ উপায় কী?

আমি একজন পাইথন প্রোগ্রামার তাই আমার প্রবৃত্তিটি ফাইলটি জিওজেএসনে রূপান্তর করতে হবে, তারপরে জেএসওএন ফাইলটি পড়তে ও পুনরায় লেখার জন্য পাইথনের জেএসওন-পার্সিং পদ্ধতি ব্যবহার করবে।

তবে সম্ভবত একটি আরও সরাসরি উপায় আছে, জিডিএল সরঞ্জাম বা অনুরূপ ব্যবহার করে।

উত্তর:


10

অস্থায়ী ফাইল ফর্ম্যাট হিসাবে শেফিলটি প্রয়োজনীয় নয় এবং এটি জিএমএল ডেটাও পরিবর্তন করতে পারে (বৈশিষ্ট্যের নামগুলি সংক্ষিপ্ত করে, স্ট্রিংকে সর্বোচ্চ 255 টি অক্ষরে কাটতে পারে, DATETIME থেকে DATE পরিবর্তন করবে) may

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

ogr2ogr -f GML -dialect SQLite -sql "SELECT attr1, attr2, attr3,... FROM layer" output.gml input.gml

9

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

ogr2ogr temp.shp input.gml
ogrinfo temp.shp -sql "ALTER TABLE temp DROP COLUMN field_to_drop"
ogr2ogr -f GML output.gml temp.shp

আমি জিওজেএসএন ড্রাইভারের সাথে একটি সহজ, অনুরূপ কাজ করতে সক্ষম হয়েছি; ogrinfo input.geojson -sql "ALTER TABLE input DROP COLUMN field_to_drop" টেবিল হিসাবে ফাইলের নামটি ALTER এ নোট করুন।
vpipkt
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.