কোনও স্তরের বৈশিষ্ট্য সারণীতে রঙের কলামে রঙের স্টাইলিং কীভাবে অনুলিপি করবেন?


15

কিউজিআইএস-এ আমার একটি বহুভুজ স্তর রয়েছে যা আমি প্রতিটি বহুভুজেরে এলোমেলো রঙের স্টাইল প্রয়োগ করেছি। লেয়ার প্রোপার্টি -> স্টাইলের অধীনে আমি একটি শ্রেণিবদ্ধ শৈলী নির্বাচন করেছি এবং তারপরে একটি এলোমেলো রঙের র‌্যাম্প তৈরি করেছি। আমি লেয়ার টেবিলে একটি রঙিন কলাম যুক্ত করেছি। "# Ff0000" ফর্মের প্রতিটি বহুভুজের জন্য বর্ণ কলামে শৈলীতে নির্ধারিত রঙটি স্বয়ংক্রিয়ভাবে অনুলিপি করার কোনও উপায় আছে কি?

শেষ পর্যন্ত, আমি এটিকে জিওজেএসএন স্তর হিসাবে রফতানি করতে এবং লিফলেট মানচিত্রে আমদানি করতে চাই। রঙিন কলাম লিফলেটে রঙ সেট করবে।

উত্তর:


22

আপনি তার জন্য পাইকিজিআইএস ব্যবহার করতে পারেন (তবে এটির সেরা সমাধান এটি নিশ্চিত নয়)।

কিউজিআইএস টসিতে স্তরটি নির্বাচন করুন (বা সক্রিয় করুন), কিউজিআইএস পাইথন কনসোলটি খুলুন এবং এই কোড স্নিপেটটি অনুলিপি করুন:

prefix = "'"
layer = iface.activeLayer()
attr = layer.rendererV2().classAttribute()
attrColor = 'color' # Name of the field to store colors
fieldIndex = layer.dataProvider().fieldNameIndex(attrColor)
attrFeatMap = {}

for cat in layer.rendererV2().categories(): 
  expr = "\""+attr+"\"="+prefix+unicode(cat.value())+prefix
  for f in layer.getFeatures(QgsFeatureRequest(QgsExpression(expr))):
    attrMap = { fieldIndex : cat.symbol().color().name()}
    attrFeatMap[ f.id() ] = attrMap

layer.dataProvider().changeAttributeValues( attrFeatMap )

আমি ধারনা করি যে আপনার ক্ষেত্রের রঙগুলি সংরক্ষণ করার জন্য তাকে 'রঙ' বলে। এটি চালানোর পরে, আমি এটি পেয়েছি:

এখানে চিত্র বর্ণনা লিখুন

আপনার যদি কোনও সমস্যার মুখোমুখি হয় তবে আমাকে জানান।


আরজিবি-তে এটি করার কি সম্ভাবনা আছে?
ডায়োগো ক্যারিব é

অবশ্যই। কল করার পরিবর্তে cat.symbol().color().name()এই জাতীয় কিছু করুন:str(cat.symbol().color().red()) +','+ str(cat.symbol().color().green()) +','+ str(cat.symbol().color().blue())
জার্মানি ক্যারিলো

এখনও বৈধ উপরে API পুনঃনামকরণ rendererV2 থেকে 3.6 qgis ছাড়া -> রেন্ডারার
সাবাস

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