পাইথনের সাথে একাধিক রাস্টার মানগুলিতে স্বচ্ছতা কীভাবে সেট করবেন


11

নিম্নলিখিত কোডের সাহায্যে আমি রাস্টার মান 0 তে 100% স্বচ্ছতা সেট করতে পারি:

map=None

for lyr in QgsMapLayerRegistry.instance().mapLayers().values():
  if lyr.name() == "some_layer":
    map= lyr

tr=None

tr=QgsRasterTransparency()
tr.initializeTransparentPixelList(0)
map.renderer().setRasterTransparency(tr)
map.triggerRepaint()

আমি কীভাবে দুটি মান (0 এবং 8) 100% স্বচ্ছ হতে সংজ্ঞায়িত করতে পারি?

যখন আমি রাস্টার মান 8 দিয়ে শেষ ব্লকের আদেশগুলি পুনরাবৃত্তি করি তখন স্তর স্বচ্ছতা থেকে প্রথম মান (0) সরানো হয়।

উত্তর:


10

আমি এই অন্যান্য থ্রেডটি পেয়েছি যা সহায়ক ছিল আমি পাইথনের সাথে কিউজিআইএস ২.০ এ স্তর স্বচ্ছতা সেট করব? মনে হচ্ছে এখানে আরও ছোট এবং আরও দক্ষ উপায় হওয়া উচিত, তবে আমি এটি পরীক্ষা করেছি এবং এটি কার্যকর:

print 'Start'
active_layer = qgis.utils.iface.mapCanvas().currentLayer()
raster_transparency  = active_layer.renderer().rasterTransparency()
ltr = QgsRasterTransparency.TransparentSingleValuePixel()
ltr2 =  QgsRasterTransparency.TransparentSingleValuePixel()
tr_list = []
ltr.min = 0  # Or another value
ltr.max = 0  # Or another value
ltr.percentTransparent = 100  # Or another value
ltr2.min = 8  # Or another value
ltr2.max = 8  # Or another value
ltr2.percentTransparent = 100
tr_list.append(ltr)
tr_list.append(ltr2)

raster_transparency.setTransparentSingleValuePixelList(tr_list)

active_layer.triggerRepaint()  # Tried with iface.mapCanvas().refresh(), but it didn't work
print 'Finish'

2

পাইথন একটি প্রয়োজনীয়তা? আপনি যদি চান তা যদি আমি বুঝতে পারি তবে আপনি এটি QGIS UI তে, রাস্টার স্তর বৈশিষ্ট্যে করতে পারেন: এখানে চিত্র বর্ণনা লিখুন


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