Re: [FOSSGIS-Talk] QGIS: Objektabfrageergebnisse nur für belegte Felder?

2018-02-04 Diskussionsfäden Wagner-IT, Günter Wagner

-- 

FOSSGIS 2018, die Konferenz für Open Source GIS mit OpenData und
OpenStreetMap in Bonn!
21.-24. März 2018 an der Universität Bonn
https://fossgis-konferenz.de/2018/
18.-25. März OSGeo Code Sprint im BaseCamp Bonn
https://wiki.osgeo.org/wiki/OSGeo_Code_Sprint_2018

FOSSGIS Veranstaltungen 2018
https://www.fossgis.de/node/306

FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
GIS-Bereich und Freier Geodaten!
https://www.fossgis.de/ https://twitter.com/fossgis_eV


FOSSGIS-Talk-Liste mailing list
FOSSGIS-Talk-Liste@fossgis.de
https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste



Re: [FOSSGIS-Talk] QGIS: Objektabfrageergebnisse nur für belegte Felder?

2018-02-02 Diskussionsfäden Bernhard Ströbl

Hallo Günter,

was Du Dir wünscht, ist eine Felddarstellung in Abhängigkeit vom 
Feldwert eines Datensatzes (hier NULL/NOT NULL); was in QGIS aber 
implementiert ist, ist die Felddarstellung in Abhängigkeit von 
Feldeigenschaften bzw. nach Vorgaben in der Maske, diese Einstellungen 
gelten dann aber immer für alle Datensätze.


Noch ein Gedanke zu Deinem Beispiel (das vielleicht so in der Realität 
gar nicht auftritt): Wenn bei 10.000 Datensätzen nur bei einem ein Wert 
eingetragen ist, stimmt -mit Verlaub - etwas mit der Datenmodellierung 
nicht.


Beim QGISWebClient I hatte ich seinerzeit implementiert, dass NULL-Werte 
ausgeblendet werden (konfigurierbar), funktioniert aber, glaube ich 
nicht mehr so richtig. Dort ist das aber einfacher zu realisieren, denn 
es werden Werte für einen Datensatz angefragt und als HTML formatiert. 
Da kann man natürlich einen Filter schreiben, der NULL-Werte gar nicht 
mit aufführt. Wenn Du etwas ähnliches in QGIS möchtest, müsstest Du 
genauso vorgehen: Eine Nutzeraktion mit einem Pythonskript, das die 
Werte des angeklickten Features analysiert und nur Nicht-NULL-Werte z.B. 
in ein entsprechendes QWidget ausgibt (nur Anzeige!)


viel Erfolg
Bernhard

Am 02.02.2018 um 09:53 schrieb G. Wagner, Wagner-IT:

Hallo Jürgen,

Danke für Deine Antwort.

Das setzt aber auch eine einheitliche Vorgehensweise (verbergen entsprechender 
Spalte) pro Layer voraus, wenn ich es richtig verstehe.

Deshalb bisher auch mein Umweg über verschiedenen Layer, die wiederum nur eine 
Teilmenge der Attribute haben. Ist aber nicht schön.
Im QGIS kann ich die Anzeige auch über die "Attributeditorzusammenstellung" 
(Drag+Drop) steuern aber auch hier nur für den ganzen Layer.
Wenn von 1 Objekten bei einem Objekt ein Wert gesetzt ist, wird bei allen 
anderen der Null-Wert angezeigt.

Mein Wunsch wäre ein "verbergen wenn leer" pro Objekt.

Das Ganze wird noch interessanter, wenn das QGIS-Projekt über den QGIS-Server 
im Web-Client genutzt wird.
Hier könnte dann der Web-Client die Aufgabe übernehmen (Attributfeld nur 
darstellen wenn nicht Null).
Gibt es hier Erfahrungen/Lösungen der Anwender in den verschiedenen Web-Clients?

Danke und Gruß

Günter


-Ursprüngliche Nachricht-
Von: FOSSGIS-Talk-Liste [mailto:fossgis-talk-liste-boun...@fossgis.de] Im 
Auftrag von Jürgen E. Fischer
Gesendet: Donnerstag, 1. Februar 2018 19:27
An: fossgis-talk-liste@fossgis.de
Betreff: Re: [FOSSGIS-Talk] QGIS: Objektabfrageergebnisse nur für belegte 
Felder?

Moin Günter,

On Thu, 01. Feb 2018 at 10:14:42 +0100, G. Wagner, Wagner-IT wrote:

gibt es im QGIS (2.18) eine Möglichkeit, dass man bei der Abfrage der
Sachdaten eines Objektes nur diejenigen angezeigt bekommt, bei denen
auch Werte hinterlegt sind?



Bei Objekten mit umfangreichen Sachdaten sind nicht immer für
sämtliche Objekte alle Sachdaten belegt. Das Abfrageergebnis (Fenster
der
Objektattribute) ist dann oft unnötig groß / lang, da viele
"NULL"-Werte angezeigt werden.


Das geht nicht direkt.  Du kannst aber in der Attributtabelle Spalten verbergen (Kontextmenü 
"Spalte verbergen" oder gleich mehrere über "Spalten anordnen").

Dieses Snippet für die Python-Console macht das für den aktuellen Layer
automagisch:

l = iface.activeLayer()
c = l.attributeTableConfig()
for i in reversed(range(len(l.fields(:
  uv = l.uniqueValues(i)
  if len(uv)==1 and uv[0]==NULL:
c.setColumnHidden(i, True)
l.setAttributeTableConfig(c)


Jürgen





__ Information from ESET Mail Security, version of virus signature 
database 16837 (20180202) __

The message was checked by ESET Mail Security.
http://www.eset.com


--

FOSDEM'18  3. und 4. Februar 2018 in Brüssel
https://fosdem.org/2018/

FOSSGIS 2018, die Konferenz für Open Source GIS mit OpenData und
OpenStreetMap in Bonn!
21.-24. März 2018 an der Universität Bonn
https://fossgis-konferenz.de/2018/
18.-25. März OSGeo Code Sprint im BaseCamp Bonn
https://wiki.osgeo.org/wiki/OSGeo_Code_Sprint_2018

FOSSGIS Veranstaltungen 2018
https://www.fossgis.de/node/306

FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
GIS-Bereich und Freier Geodaten!
https://www.fossgis.de/ https://twitter.com/fossgis_eV


FOSSGIS-Talk-Liste mailing list
FOSSGIS-Talk-Liste@fossgis.de
https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste



Re: [FOSSGIS-Talk] QGIS: Objektabfrageergebnisse nur für belegte Felder?

2018-02-02 Diskussionsfäden G. Wagner, Wagner-IT
Hallo Jürgen,

Danke für Deine Antwort.

Das setzt aber auch eine einheitliche Vorgehensweise (verbergen entsprechender 
Spalte) pro Layer voraus, wenn ich es richtig verstehe.

Deshalb bisher auch mein Umweg über verschiedenen Layer, die wiederum nur eine 
Teilmenge der Attribute haben. Ist aber nicht schön.
Im QGIS kann ich die Anzeige auch über die "Attributeditorzusammenstellung" 
(Drag+Drop) steuern aber auch hier nur für den ganzen Layer.
Wenn von 1 Objekten bei einem Objekt ein Wert gesetzt ist, wird bei allen 
anderen der Null-Wert angezeigt. 

Mein Wunsch wäre ein "verbergen wenn leer" pro Objekt.

Das Ganze wird noch interessanter, wenn das QGIS-Projekt über den QGIS-Server 
im Web-Client genutzt wird.
Hier könnte dann der Web-Client die Aufgabe übernehmen (Attributfeld nur 
darstellen wenn nicht Null).
Gibt es hier Erfahrungen/Lösungen der Anwender in den verschiedenen Web-Clients?

Danke und Gruß

Günter
  

-Ursprüngliche Nachricht-
Von: FOSSGIS-Talk-Liste [mailto:fossgis-talk-liste-boun...@fossgis.de] Im 
Auftrag von Jürgen E. Fischer
Gesendet: Donnerstag, 1. Februar 2018 19:27
An: fossgis-talk-liste@fossgis.de
Betreff: Re: [FOSSGIS-Talk] QGIS: Objektabfrageergebnisse nur für belegte 
Felder?

Moin Günter,

On Thu, 01. Feb 2018 at 10:14:42 +0100, G. Wagner, Wagner-IT wrote:
> gibt es im QGIS (2.18) eine Möglichkeit, dass man bei der Abfrage der 
> Sachdaten eines Objektes nur diejenigen angezeigt bekommt, bei denen 
> auch Werte hinterlegt sind?

> Bei Objekten mit umfangreichen Sachdaten sind nicht immer für 
> sämtliche Objekte alle Sachdaten belegt. Das Abfrageergebnis (Fenster 
> der
> Objektattribute) ist dann oft unnötig groß / lang, da viele 
> "NULL"-Werte angezeigt werden.

Das geht nicht direkt.  Du kannst aber in der Attributtabelle Spalten verbergen 
(Kontextmenü "Spalte verbergen" oder gleich mehrere über "Spalten anordnen").

Dieses Snippet für die Python-Console macht das für den aktuellen Layer
automagisch:

l = iface.activeLayer()
c = l.attributeTableConfig()
for i in reversed(range(len(l.fields(:
  uv = l.uniqueValues(i)
  if len(uv)==1 and uv[0]==NULL:
c.setColumnHidden(i, True)
l.setAttributeTableConfig(c)


Jürgen

-- 
Jürgen E. Fischer   norBIT GmbH Tel. +49-4931-918175-31
Dipl.-Inf. (FH) Rheinstraße 13  Fax. +49-4931-918175-50
Software Engineer   D-26506 Norden http://www.norbit.de
-- nächster Teil -- Ein Dateianhang mit Binärdaten 
wurde abgetrennt...
Dateiname   : signature.asc
Dateityp: application/pgp-signature
Dateigröße  : 827 bytes
Beschreibung: nicht verfügbar
URL : 
<http://lists.fossgis.de/pipermail/fossgis-talk-liste/attachments/20180201/3221d933/attachment.sig>
--

FOSDEM'18  3. und 4. Februar 2018 in Brüssel https://fosdem.org/2018/

FOSSGIS 2018, die Konferenz für Open Source GIS mit OpenData und OpenStreetMap 
in Bonn!
21.-24. März 2018 an der Universität Bonn https://fossgis-konferenz.de/2018/
18.-25. März OSGeo Code Sprint im BaseCamp Bonn
https://wiki.osgeo.org/wiki/OSGeo_Code_Sprint_2018

FOSSGIS Veranstaltungen 2018
https://www.fossgis.de/node/306

FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem GIS-Bereich 
und Freier Geodaten!
https://www.fossgis.de/ https://twitter.com/fossgis_eV


FOSSGIS-Talk-Liste mailing list
FOSSGIS-Talk-Liste@fossgis.de
https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste


-- 

FOSDEM'18  3. und 4. Februar 2018 in Brüssel
https://fosdem.org/2018/

FOSSGIS 2018, die Konferenz für Open Source GIS mit OpenData und
OpenStreetMap in Bonn!
21.-24. März 2018 an der Universität Bonn
https://fossgis-konferenz.de/2018/
18.-25. März OSGeo Code Sprint im BaseCamp Bonn
https://wiki.osgeo.org/wiki/OSGeo_Code_Sprint_2018

FOSSGIS Veranstaltungen 2018
https://www.fossgis.de/node/306

FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
GIS-Bereich und Freier Geodaten!
https://www.fossgis.de/ https://twitter.com/fossgis_eV


FOSSGIS-Talk-Liste mailing list
FOSSGIS-Talk-Liste@fossgis.de
https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste



Re: [FOSSGIS-Talk] QGIS: Objektabfrageergebnisse nur für belegte Felder?

2018-02-01 Diskussionsfäden Jürgen E . Fischer
Moin Günter,

On Thu, 01. Feb 2018 at 10:14:42 +0100, G. Wagner, Wagner-IT wrote:
> gibt es im QGIS (2.18) eine Möglichkeit, dass man bei der Abfrage der
> Sachdaten eines Objektes nur diejenigen angezeigt bekommt, bei denen auch
> Werte hinterlegt sind?

> Bei Objekten mit umfangreichen Sachdaten sind nicht immer für sämtliche
> Objekte alle Sachdaten belegt. Das Abfrageergebnis (Fenster der
> Objektattribute) ist dann oft unnötig groß / lang, da viele "NULL"-Werte
> angezeigt werden.

Das geht nicht direkt.  Du kannst aber in der Attributtabelle Spalten verbergen
(Kontextmenü "Spalte verbergen" oder gleich mehrere über "Spalten anordnen").

Dieses Snippet für die Python-Console macht das für den aktuellen Layer
automagisch:

l = iface.activeLayer()
c = l.attributeTableConfig()
for i in reversed(range(len(l.fields(:
  uv = l.uniqueValues(i)
  if len(uv)==1 and uv[0]==NULL:
c.setColumnHidden(i, True)
l.setAttributeTableConfig(c)


Jürgen

-- 
Jürgen E. Fischer   norBIT GmbH Tel. +49-4931-918175-31
Dipl.-Inf. (FH) Rheinstraße 13  Fax. +49-4931-918175-50
Software Engineer   D-26506 Norden http://www.norbit.de
-- nächster Teil --
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp: application/pgp-signature
Dateigröße  : 827 bytes
Beschreibung: nicht verfügbar
URL : 

-- 

FOSDEM'18  3. und 4. Februar 2018 in Brüssel
https://fosdem.org/2018/

FOSSGIS 2018, die Konferenz für Open Source GIS mit OpenData und
OpenStreetMap in Bonn!
21.-24. März 2018 an der Universität Bonn
https://fossgis-konferenz.de/2018/
18.-25. März OSGeo Code Sprint im BaseCamp Bonn
https://wiki.osgeo.org/wiki/OSGeo_Code_Sprint_2018

FOSSGIS Veranstaltungen 2018
https://www.fossgis.de/node/306

FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
GIS-Bereich und Freier Geodaten!
https://www.fossgis.de/ https://twitter.com/fossgis_eV


FOSSGIS-Talk-Liste mailing list
FOSSGIS-Talk-Liste@fossgis.de
https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste