কিউজিআইএস এপিআই-তে একটি স্থানিক সূচকটি সংরক্ষণ করছেন?


9

আমি কিগিস এপিআই ব্যবহার করে কিছু শেফফিলের জন্য একটি স্থানিক সূচক তৈরি করার চেষ্টা করছি। আমি নাথন উড্রোর ব্লগে বর্ণিত পদক্ষেপগুলি অনুসরণ করেছি ( https://nathanw.net/2013/01/04/using-a-qgis-spatial-index-to-speed-up-your-code/ ) এবং এটি দুর্দান্ত কাজ করে :

layer = QgsVectorLayer(path, name, 'ogr')
idx = QgsSpatialIndex()
all_features = layer.getFeatures()
map(idx.insertFeature, all_features)

আমার সমস্যাটি হ'ল আমার কাছে কোনও ফলাফল ফাইল নেই (.qix? .Sbn? .Sbx?)

এই স্থানিক সূচিটি কীভাবে সংরক্ষণ করতে পারি যাতে শেফফায়ালের ভবিষ্যত ব্যবহারকারীরা এর থেকে উপকৃত হতে পারেন?

উত্তর:


11

আপনি যদি আপনার স্তরের সমস্ত বৈশিষ্ট্যের জন্য একটি স্থানিক সূচক তৈরি করতে চান তবে আপনি নিম্নলিখিতটি ব্যবহার করে দেখতে পারেন:

layer.dataProvider().createSpatialIndex()

এটি .qixস্থানিক সূচক ফাইল তৈরি করবে ।


সম্পাদনা:

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


2
আমি মনে করি একটি ধ্রুবক (ফাইল-ভিত্তিক) এবং অস্থায়ী, রানটাইম সূচক (কিউএসস্প্যাটিয়াল ইন্ডেক্স) এর মধ্যে পার্থক্যটি হাইলাইট করা ভাল।
ম্যাথিয়াস কুহন

1
ধন্যবাদ বন্ধুরা ! আমি কেবল QgsSpatialIndex সম্পর্কে তথ্য পেতে পারি। createSpatialIndex হ'ল আমি যা খুঁজছিলাম।
লরেফ

@ লরফ - দুর্দান্ত, এটি সাহায্য করেছে আনন্দিত :)
জোসেফ

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

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