জিওপ্রসেসিংয়ের জন্য পাইথনে আরকিপি ব্যবহারের শিল্প-ভিত্তিক উদাহরণ?


12

কিছু শিক্ষার্থী আমাকে সম্প্রতি জিজ্ঞাসা করেছিলেন যে জিআইএস অ্যানালিস্ট / বিকাশকারী সাধারণত সাধারণত আরকিজিআইএস এবং আরকিপি সাইট প্যাকেজে জিওপ্রোসেসিংয়ের সাথে পাইথন ব্যবহার করে স্বয়ংক্রিয়ভাবে চেষ্টা করার চেষ্টা করছেন। আমি অনুমান করি যে আপনি কী তৈরি করেছেন তা শিল্পের জন্য প্রাসঙ্গিক এবং ইতিমধ্যে কর্মক্ষেত্রে ইতিমধ্যে পুনরায় ব্যবহার করা যেতে পারে তা নিশ্চিত হওয়ার জন্য কিছু অনুশীলনের জন্য অনুসন্ধান করার সময় এটি জেনে রাখা কার্যকর হতে পারে।

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

উত্তর:


10

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

  1. সমগ্র যুক্তরাজ্যের পুরো অঞ্চলের জন্য জোনাল স্ট্যাটিসিকে ডেরাইভিংয়ের জন্য প্রথমে দুটি পৃথক ডেটা ধরণের 20 কিলোমিটার রাস্টার টাইলগুলি মোসেসিংয়ের প্রয়োজন, সেই রাস্টারদের উপর কিছু "ম্যাপমেটিক্স" করা, 10 কিলোমিটার ভেক্টর বহুভুজ টাইলগুলির সমতুল্য অঞ্চলটি মার্জ করে, ফলাফলের জোনের পরিসংখ্যান গণনা করা যৌক্তিক ডিরেক্টরি কাঠামোর শেফফায়ালে আউটপুট দেওয়ার আগে এবং ক্লায়েন্টের সিডিতে বার্ন করার আগে রাস্টার ম্যাপমেটিক্স এবং মূল ভেক্টর ডেটাতে পরিসংখ্যানের সারণিতে যোগদান করা।
  2. রাস্তা বা ট্র্যাক ধরে প্রতি 100 মিটার ক্রমানুসারে দৃশ্যমানতার গণনা সম্পাদন করা এবং তারপরে রুটের ডেটাতে এম মান হিসাবে গণনার ফলাফল নির্ধারণ করা।
  3. রাস্টার এবং ভেক্টর উপাত্তের টাইলগুলি মোজাইসিং / মার্জ করে, প্রয়োজনীয় অঞ্চলে ক্লিপিং করে এবং তারপরে মালিকানাধীন (নন-জিআইএস) 3 ডি ফর্ম্যাটে রূপান্তর করে 3 ডি ল্যান্ডস্কেপ মডেল তৈরি করতে স্বয়ংক্রিয় প্রক্রিয়া। আমি আমার ফ্রিল্যান্স কাজের জন্য এটির জন্য তৈরি ছোট পাইথন লাইব্রেরিটি ব্যবহার করি।
  4. একটি দলে আমি যে বিশাল প্রকল্পে কাজ করেছি আরকিপি ব্যবহার করে ব্যাচ প্রক্রিয়া তৈরি করতে জিআইএস ডেটা থেকে নতুন ডেটা রূপান্তর করতে বা এমন বৈশিষ্ট্যগুলির সাথে ফর্ম্যাটে রূপান্তরিত করা যায় যা পদ্ধতিগত কম্পিউটার-গেম-অ্যাসেট-জেনারেটর দ্বারা গ্রাস করা যায়। জিওপ্রসেসিং স্ক্রিপ্টগুলি ব্যাচ প্রসেসিং 'স্লেভ-ড্রাইভার' দ্বারা ডেকে আনা হয়েছিল যা পাইথনে লেখা ছিল এবং জ্যাঙ্গোর মধ্য দিয়ে চলছিল।
  5. পাইথন সামান্য কাজের জন্যও খুব দরকারী, বিশেষত যেখানে কোনও পুনরাবৃত্তি (যেমন বৈশিষ্ট্য প্রক্রিয়াজাতকরণের বৈশিষ্ট্য)। আরকজিআইএসের মডেল বিল্ডার প্রবাহ-নিয়ন্ত্রণগুলি 10 এর সংস্করণে অনেক উন্নত হয়েছে তবে তবুও এটি প্রায়শই প্রয়োজনীয় নিয়ন্ত্রণ সরবরাহ করতে পারে না এবং / অথবা আরকিপিতে প্রক্রিয়াটি লেখার চেয়ে তাত্পর্যপূর্ণ এবং সহজ is জোর করে মডেল বিল্ডার।
  6. সুইপট-পাথ বিশ্লেষণ সম্পাদনের জন্য আমি পাইথনে একটি সরঞ্জাম তৈরি করেছি (খুব দীর্ঘ যানবাহন কোনও প্রদত্ত রুট অনুসরণ করতে পারে কিনা এবং যেখানে ট্রেলারটি বিল্ডিংয়ের মাঝখানে টানটান বাঁধার মধ্যে পড়তে পারে বলে গণনা করতে free এটি ফ্রিল্যান্সের সাহায্যে আরও একটি বিশেষজ্ঞ টুলল সহায়।
  7. ম্যাপনিক থেকে আউটপুট উত্পন্ন হচ্ছে
  8. আরকজিআইএস মাল্টিথ্রেড হয়ে যাওয়ার আগে আমি পাইথন ব্যবহার করে আমাকে সাবপ্রসেসগুলি স্পোন করার অনুমতি দেয় যা মাঝে মাঝে মেমরিটিকে বিশৃঙ্খল করে আর্কম্যাপের ওভারহেড ছাড়াই দীর্ঘ, ধীর গণনার গতি বাড়িয়ে দিতে পারে।

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


1
যথেষ্ট পরিমাণে ফুনিলি আমি কেবল এই প্রশ্নের উত্তর দিয়েছি ( gis.stackexchange.com/questions/52478/… ) - যা পাইথনকে আরকজিআইএস মেমরি ফাঁসকে মারার পদ্ধতি হিসাবে ব্যবহার করার আরেকটি উদাহরণ দেয়!
ম্যাপ্পাগনোসিস

+1, আমি বিশেষত # 4 তে একটি জিআইএস.এসই ব্লগ বিষয় দেখতে চাই ।
blah238

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

7

কোথায় শুরু করতে হবে ... আমি এখন উচ্চ সংস্থায় / রাজ্য সরকারে কাজ করা সত্ত্বেও এন্টারপ্রাইজে আমি পাইথনের বিশাল প্রবক্তা। পাইথনটি যে কাজের জন্য আমি ব্যবহার করেছি তার কয়েকটি উদাহরণ এখানে রয়েছে:

  1. চারদিকে ডেটা সরিয়ে নেওয়া হচ্ছে। নিয়মিতভাবে চলমান ডেটাগুলির মতো খুব সহজ কাজগুলি পাইথনের সাথে খুব সহজেই স্বয়ংক্রিয়ভাবে তৈরি করা যায়, বিশেষত shutilবাক্সের বাইরে থাকা মডিউলটি দিয়ে।
  2. অন্য সফ্টওয়্যার প্যাকেজগুলির দ্বারা আরকএসডিডি ডাটাবেসের বাইরে এবং শেফফাইলে রক্ষার জন্য ফিচার ক্লাসগুলি রফতানি করা হচ্ছে । আরকিএসডিই (বা অন্য কোনও সম্পর্কিত সম্পর্কিত ডাটাবেস) প্রায়শই কোনও সংস্থার মাস্টার রেকর্ড হয় তবে প্রতিটি সফ্টওয়্যার প্যাকেজ কোনও ডেটাবেজে প্রবেশ করতে পারে না। অনেকগুলি প্যাকেজগুলি এখনও ভাল ওলে শেফফিলগুলি গ্রাস করবে এবং ব্যবহার করে arcpy, এটি রাতারাতি রফতানি করা বেদনাদায়ক হয় যাতে আপনার ব্যবহারকারীরা আপ-টু-ডেট ডেটা রাখতে পারেন।
  3. পৃথক ডেটাসেটগুলি থেকে স্থানিক ডেটাসেট তৈরি করা। এন্টারপ্রাইজের প্রত্যেকেই তাদের ডেটা ধরে রাখতে এক্সেল ব্যবহার করে (এবং প্রায়শই অপব্যবহার করে)। সঙ্গে arcpy(অথবা অন্যান্য Pythonic পদ্ধতি) এটা যে ট্যাবুলার তথ্য একটি স্থানিক উপাদান আছে যা গ্রহণ করা এবং দ্রুত তা থেকে একটি স্থানিক ডেটা সেটটি তৈরি করা সহজ। পাঠ্য ফাইলের জন্য একই। আমি সম্প্রতি একটি ক্লায়েন্টের জন্য একটি আর্কটুলবক্স সরঞ্জাম তৈরি করেছি যা মালিকানাধর্মী এক্সওয়াইজেড ফর্ম্যাটে পাঠ্য ফাইলগুলি পড়ে এবং জেডএম-সক্ষম পলাইনগুলি তৈরি করে (সত্যিই এটির চেয়ে বেশি কিছু ভাগ করতে পারে না)।
  4. জিআইএস ডেটা অনুবাদ করে যাতে এটি এমন সফ্টওয়্যারে খাওয়ানো যায় যা "স্থানিক" এমনকি কী তা কোনও ধারণা নেই। আমি এখনই সরঞ্জামগুলি লিখছি যা জিআইএস ডেটাসেটগুলি (রাস্টার, ভেক্টর) নেয় এবং তার পাইথন এপিআইয়ের মাধ্যমে ডেটা 3 ডি মডেলিং প্রোগ্রামে ঠেলে দেয়। এই 3 ডি প্যাকেজটি স্থানিক ডেটা ফর্ম্যাটগুলির সাথে মোটেও কাজ করতে পারে না তবে এটি স্থানিক ডেটার পিছনে পাঠ্য মান এবং বৈশিষ্ট্যগুলির সাথে কাজ করতে পারে। এর জন্য আমি arcpyজিওডাটাবেস থেকে তথ্যটি টানছি এবং এটি পাঠ্য ফাইলগুলিতে বা কোনও এক্সএমএল কনফিগারেশন ফাইলের দিকে ঠেলাচ্ছি।
  5. তথ্য আনয়ন. আপনার প্রয়োজনীয় তথ্যের টেবিলগুলির সাথে একটি ওয়েবসাইট পেয়েছেন ? beautifulsoupএটি নিষ্কাশন করতে ব্যবহার করুন । আপনার কাছে আনার জন্য শত বা হাজার হাজার ফাইলের সাথে একটি এফটিপি সাইট পেয়েছেন? এগুলি সহজেই ডাউনলোড করতে urllib2বা ব্যবহার ftplibকরতে।

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


6

আমি একটি পৌরসভার পক্ষে কাজ করি এবং জিআইএস গ্যাং আমাদের বিভিন্ন বিভাগকে (ইঞ্জিনিয়ারিং, বিল্ডিং ইন্সপেকশন, বাইলাও, পার্কস, ফায়ার ইত্যাদি) সহায়তা সরবরাহ করে।

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

অন্যরা যেমন বলেছে, এগুলি কেবল কয়েকটি উদাহরণ।

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