ogr2ogr জিওজেসন ফাইল> 200 এমবি রূপান্তর করতে ব্যর্থ


15

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

এখন আমি এই ডেটাটি এসএইচপি বা অন্যান্য ফর্ম্যাটে (এসকিউএলাইট, পোস্টজিআইএস) রূপান্তর করতে চাই। আমি ছোট ফাইলগুলিতে সাফল্য সহ নিম্নলিখিত কমান্ডটি চালিয়ে যাচ্ছি (যেখানে "জায়গাগুলি_ফ্রিজজেসন" এর ফাইল আকার ~ 118MB রয়েছে):

ogr2ogr -f "ESRI Shapefile" places_fr.shp places_fr.geojson

আমি যখন 340MB-র জিওজসন ফাইল দিয়ে একই একই কমান্ডটি চালানোর চেষ্টা করি, তখন ogr2ogr দুটি উপায়ের মধ্যে একটিতে ক্র্যাশ হয়ে যায়:

  1. "lh_table_new: কলোক ব্যর্থ হয়েছে" ( প্রথম প্রচেষ্টা )
  2. উইন্ডোজ একটি "ogr2ogr.exe" কাজ করা বন্ধ করে দিয়েছে working দয়া করে প্রোগ্রামটি বন্ধ করুন। ( পরবর্তী প্রচেষ্টা )

আমি 8 গিগাবাইট ইনস্টল করা র‌্যাম (4 জিবি উপলব্ধ, 12 জিবি ভার্চুয়াল মেমরি উপলব্ধ) সহ উইন্ডোজ 7 এনভায়রনমেন্ট ডুয়াল কোর এফডব্লিউটিজগুলির মাধ্যমে ওজিআরআরটি চালাচ্ছি। Ogr2ogr এই ডেটাসেটগুলি রূপান্তর করার কোনও স্মৃতি সীমা আছে কি? আমি একই ফলাফলগুলির সাথে এসকিউএলাইটে রূপান্তর করার চেষ্টাও করেছি, সুতরাং আমার মনে হয় না এটি কোনও এসএইচপি রূপান্তর সমস্যা। ধন্যবাদ।


আপনি কি কখনও এই কাজ পেয়েছেন? আমি এখন সরল জিও প্লেস জিওজসন ফাইলকে এসপিতে রূপান্তরিত করার চেষ্টা করছি - আমি আপনার লিপিটি মূল পোস্টে দেখেছি তবে আমি নিশ্চিত নই যে ইনফাইলে এবং আউটফাইলটি কী - ফাইল ফর্ম্যাটটির দিক থেকে যা পড়া ও লেখা যায়?
kflaw

কোন ব্যাপার না যে আমি এখন কাজ করে আমি shp রূপান্তর করতে আটকে আছি
kflaw

উত্তর:


8

পূর্বোক্তকরণ : আপনি আপনার সিস্টেমে মেমরির প্রতিবেদন করছেন তা আমি মনে করি আপনি একটি 64 বিট উইন্ডো ব্যবহার করছেন using না হলে এই সমাধান প্রযোজ্য না।

উইন্ডোজে সমস্ত 32 বিট অ্যাপ্লিকেশনগুলির মেমরি সীমা (উইন্ডোজ সংস্করণ নির্বিশেষে, তাই এটি 64 বিট উইন্ডোজের ক্ষেত্রেও সত্য) 2 জিবি। চালানো ogr2ogr নিশ্চিত করতে এবং টাস্ক ম্যানেজারের সাথে মেমরির ব্যবহার পরীক্ষা করতে আপনি এই সীমাটি হিট করছেন।

সমস্যাটি যদি সত্যিই মেমোরি সমস্যার কারণে হয় তবে আপনি দুটি জিনিস করতে পারেন:

  1. নিজেকে জিডিএল এর একটি bit৪ বিট সংস্করণ তৈরি করুন (আমি সহজেই বাইনারি উপস্থাপন করতে পারি না)

  2. এই সরঞ্জামটি সহ প্যাচ ogr2ogr.exe: http://ntcore.com/4gb_patch.php । প্যাচিংয়ের পরে (অবশ্যই একটি ব্যাকআপ কপি তৈরি করুন) বাইনারিটি কোনও গ্রান্টোটাল 4 জিবি সম্বোধনের জন্য পাওয়া উচিত


3
আমি রিসোর্স মনিটরটি দেখেছি এবং মেমরিটি 2 গিগাবাইটে পৌঁছানোর সাথে সাথে ogr2ogr প্রক্রিয়াটি ক্র্যাশ হয়ে গেছে। এটি অবশ্যই ogr2ogr / fwtools এর মধ্যে 2 গিগাবাইটের একটি মেমরি সীমাবদ্ধতা ছিল সম্ভবত এটি 32-বিট অ্যাপ হিসাবে সংকলিত হয়েছিল। আপনার প্রস্তাবিত সরঞ্জামটির সাথে আমি ogr2ogr.exe প্যাচ করেছি এবং এটি একটি কবজির মতো কাজ করেছে। অবশ্যই, এখনও এটির সীমাবদ্ধতা রয়েছে যেখানে এটি ব্যবহার করা যাবে না (যেমন 7 গিগাবাইট মার্কিন যুক্তরাষ্ট্রে রাখে ফাইলগুলির মতো) তবে কমপক্ষে ওগ্রি 2ogr কেন ব্যর্থ হচ্ছে তার একটি ব্যাখ্যা রয়েছে। ধন্যবাদ!
রায়ানকডাল্টন

আপনি কি কখনও 7 জিবি ইউএস ফাইলটি প্রক্রিয়া করতে সক্ষম হন?
kflaw

3

যদি কোনও সমস্যা হয়, তবে এটি সম্ভবত ওজিআর জিওজসন ড্রাইভারের সাথে নির্দিষ্ট হবে এবং ওজিআর নিজেই নয়। একটি নতুন বাইনারি (যেমন OSGeo4W এর মত একটি ) বা তার চেয়েও ভাল এর একটি 64 বিট সংস্করণ ব্যবহার করে দেখুন। দুঃখিত, আপনি যদি এটি সংকলন না করেন তবে আমি জানি না আপনি উইন্ডোজের জন্য কোথায় একটি 64 বিট বাইনারি পেতে পারেন - উবুন্টু লিনাক্স এবং ম্যাক কিংচাউস বাইনারিগুলি যদিও 64 বিট হবে।


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