jorgealmerio / valuetool

QGis plugin to display in a table or plot the values from the visible raster layers at the current mouse position
4 stars 7 forks source link

Give User the Option to Have Full Panel or Only Raster Value at the Bottom #11

Open ar-siddiqui opened 3 years ago

ar-siddiqui commented 3 years ago

This plugin would rock even more if the user can have the raster value at the bottom like coordinates as shown below.

Currently, there is no way to hide the panel and still see the raster value. 90% of the time a user just needs to see the value of the raster and doesn't want the panel to occupy space.

It would be great if someone can add a small widget at the bottom like this that shows raster value while making the full panel optional for advance usage. image

jfbourdon commented 2 years ago

I looked into this a bit recently and it doesn't seem that the bottom bar can be used by a plugin. However, it is possible to display the value as a tooltip were the mouse is located. I gave it a shot but the performance is poor the way I currently implemented it, optimisation is certainly possible. I'll try again eventually because that's something that I would use myself.

ar-siddiqui commented 2 years ago

Thank you very much, I appreciate you putting time. Even if it stays the same way as it is right now but the screen real estate can be limited to a very short window, this would serve the purpose as well. ESRI currently implements tooltip, but that is not very useful since you have to wait a second or two at each pixel for the value to popup. If a continuous tooltip is displayed that might be annoying to some users.

Maybe a button shortkey can be provided that displays tooltip only when the button is pressed, otherwise it is hidden by default.

cratcliff commented 1 year ago

@jfbourdon I had need for a QGIS equivalent to ArcMap's Pixel inspector recently and came across your plugin.

I ended up just adding the following line to the printValue() funciton to display the value in QGIS's status bar. self.iface.statusBarIface().showMessage('Pixel Value: {}'.format(bandvalue))

see Communicating with the user

You can also add buttons/labels etc as widgets in the status bar as well.

jorgealmerio commented 1 year ago

Ok, I will try to implement it soon! Thanks!