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


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.