আর্কপাইতে মেমরি ওয়ার্কস্পেসে সেট করছেন?


11

env.workspace = "in_memory"আরকিজিআইএস প্রো এবং আরকজিআইএস 10.2.2 (বা 10.3) উভয়ই আর্কিটেকচার ব্যবহার করে আরকিপাইতে সেট করা সম্ভব ?

আমি যা করার চেষ্টা করছি তা হ'ল ডিস্কের বিপরীতে মেমরিতে লিখিত একটি স্ন্যাপ ডলার পয়েন্ট অপারেশন আউটপুট পাওয়া ।

আমি বুঝতে পারি আমি ডিস্কে লিখতে পারি তবে এটিকে স্মৃতিতে আনতে পারব তবে এতে কোনও লাভ হবে না। আমি শারীরিক মিডিয়ায় লেখার ব্যবহারকে এমন প্রক্রিয়াটির আউটপুট আউটপুট করার ক্ষুদ্রতর কাজকে অপ্টিমাইজ করার চেষ্টা করছি যা কেবল পরবর্তী প্রক্রিয়ার ইনপুট হিসাবে প্রয়োজনীয় required

উত্তর:


15

আমি এখানে একটি উত্তর ফেলতে যাচ্ছি কারণ উভয় উত্তর এখন পর্যন্ত 100% সঠিক নয়।

2 টি আইটেম রয়েছে যা সরঞ্জাম থেকে সরঞ্জামে পরিবর্তিত হতে পারে।

  1. যদি এটি কর্মক্ষেত্রের পরিবেশকে সম্মান করে (এই আইটেমটি সর্বদা সরঞ্জাম সহায়তা পৃষ্ঠায় ডকুমেন্টেড থাকে)
  2. যদি এটি in_memoryকর্মক্ষেত্রটি ব্যবহার করতে পারে (এই আইটেমটি স্পষ্টভাবে ডকুমেন্টেড না করা যেতে পারে You're এটি সমর্থন না করে তবে আপনি কোনও নোট দেখতে পাবেন সম্ভবত in_memory)

সরাসরি উত্তর দেওয়ার জন্য "আপনি কি পরিবেশের কর্মক্ষেত্রটিকে ইন-মেমোরিতে সেট করতে পারবেন"। উত্তরটি হল হ্যাঁ.

>>> import arcpy
>>> arcpy.env.workspace = r"in_memory"
>>> arcpy.CopyFeatures_management(r"c:\temp\foo.shp", "myinmemoutput")
<Result 'in_memory\\myinmemoutput'>
>>> arcpy.Exists("myinmemoutput")
True

স্ন্যাপ পোর পয়েন্টটি তার ডকুমেন্টেশন অনুযায়ী ওয়ার্কস্পেস পরিবেশকে সম্মান দেয় এবং পাইথনের নমুনাগুলিকে ব্যাখ্যা করে। এবং একটি পরীক্ষা দেখায় যে আপনি আউটপুট লিখতে in_memoryএবং সেই পরিবর্তনশীল রেফারেন্সের সাথে কাজ করতে পারেন ... অন্য কোনও সরঞ্জামে রাখতে, বা ফলাফলটি সংরক্ষণ করতে

>>> import arcpy
>>> arcpy.env.workspace = r"in_memory"
>>> arcpy.CheckOutExtension("SPATIAL")
u'CheckedOut'
>>> snapOut = arcpy.sa.SnapPourPoint("e:/gpservices101/hydro/US30m/test.gdb/sourcepoint", "e:/gpservices101/hydro/US30m/Region08a/Input/elev_cm", 1,"PourPtID")
>>> snapOut
in_memory\SnapPou_sour1
>>> arcpy.Exists(snapOut)
True
>>> snapOut.save(r"c:\temp\todisk.tif")
>>> arcpy.Exists(r"c:\temp\todisk.tif")
True

-1

দুর্ভাগ্যক্রমে, আমি মনে করি না যে আপনার প্রশ্নের মতো ইন-মেমরি স্থানে কর্মক্ষেত্র স্থাপন করা সম্ভব; এমনভাবে যাতে জিওপ্রসেসিং সরঞ্জামগুলি তাদের আউটপুট অবস্থানগুলি ইন-মেমরি ওয়ার্কস্পেসে ডিফল্ট করে দেয়।

আমি এখনই ওয়ার্কস্পেসটি '\\in_memory'নিজের কাছে সেট করার চেষ্টা করেছি এবং এটি একটি সাধারণ CopyFeatures_management()সরঞ্জাম রান দিয়ে পরীক্ষা করেছি । এর স্ট্রিং প্রতিনিধিত্বটি arcpy.env.workspaceপ্রকৃতপক্ষে সেট করা আছে '\\in_memory', তবে আমি ভাবছি যে CopyFeatures_management()সরঞ্জামটি এই ক্ষেত্রে ওয়ার্কস্পেস পরিবেশের সেটিংটিকে সম্মান করছে না।

যদিও আমরা in_memoryমানচিত্র নথির স্তরে ডিফল্ট কর্মক্ষেত্র হিসাবে সেট করতে পারি তবে এটি দুর্দান্ত হবে । সম্ভবত আপনি এটি একটি আর্কজিআইএস আইডিয়া হিসাবে বাড়াতে পারেন ?

শুভকামনা.

সম্পাদনা করুন:

আরে আমি তখনও ভাবছিলাম যেহেতু আপনি স্ন্যাপ পোর পয়েন্ট সরঞ্জামটি ব্যবহার করছেন , আমাদের এটিকে অন্যভাবে যেতে হবে। স্ন্যাপ পোর পয়েন্ট সরাসরি pourালা পয়েন্ট বৈশিষ্ট্য শ্রেণীর উপর কাজ করে এবং সরঞ্জাম ফলাফলের অংশ হিসাবে আউটপুট বৈশিষ্ট্য শ্রেণি তৈরি করে না। আমরা কি pourালা পয়েন্টগুলির একটি অস্থায়ী, অন্তর্নিহিত কপি তৈরি করতে এবং সেখান থেকে কাজ করতে পারি?

সম্পাদনা সম্পাদনা করুন:

ওহ সত্য, ঠিক আছে আপনি উল্লেখ করেছেন আপনি এটি ইতিমধ্যে উপলব্ধি করেছেন - দুঃখিত।


আমি এটি করতে পারি (আর্কজিআইএস ধারণা)। আমি ভাবছি লোকেরা কেন এই প্রশ্নটি ভোট দেবে? আমি আপনার সাথে একমত জিম এটি দুর্দান্ত হবে।
যদি আপনি না

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

1
ডাউন প্রশ্নটি আপনার প্রশ্নের সংক্ষিপ্ত দৈর্ঘ্য থেকে এসেছে। আমি দেখতে চাইছি আপনি কী বলতে চাইছেন - সম্ভবত আপনার প্রশ্নটি আরও কিছু প্রসঙ্গের সাথে কিছুটা সম্পাদনা করুন এবং অন্যরা এটির পুনরায় ভোট দেবেন?
জিম

ঠিক আছে, এটি এমন প্রত্যক্ষ প্রশ্ন যা আমি এটিকে ঘাবড়ে যাওয়ার দরকার দেখিনি। তুমি যেমন বলবে আমি তাই করবো।
আপনি যদি না

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