[FOSSGIS-Talk] QGIS - kniffliges Beschriftungsproblem

dezentech at web.de dezentech at web.de
Fr Mär 30 10:21:15 CEST 2012


Hallo zusammen,

ich danke Euch allen, daß Ihr Euch meines Problems annehmt!

Zur Tabellen-BEZIEHUNG (Relation): es scheint ab Version 1.8 etwas neues zu 
geben, wenn ich den allerletzen Absatz dieses Dokuments richtig verstehe:
http://gis.uster.ch/dokumentation/publikationen/qgis-2011-was-gibt-es-neues-geomatik-schweiz-artikel/view 
(@ Andreas: stammt das Dokument evtl. von Dir?)

Zu PostgreSQL: ich würde liebend gerne damit arbeiten, wenn ich nur 
wüßte, wie! Ich wüßte gern, wie ich sowas anlege, verwalte, auswerte. 
Muß ich dazu einen (Internet-)Server betreiben, oder kann ich sowas 
auch "auf Festplatte" ablegen (wie z.B. MS-Access)? Wie kriege ich 
das PostGIS "da drauf"? Kann ich vorhande Shapes einfach umwandeln? 
Was ist mit Raster-Daten? Und, und, und...

Gibt es eine leicht verständliche Schritt-für-Schritt 
Anleitung (auf deutsch)?

Grüße sendet Lars



-----Ursprüngliche Nachricht-----
Gesendet: Freitag, 30 März 2012 um 08:57:16 Uhr
Von: "Andreas Neumann" <a.neumann at carto.net>
An: fossgis-talk-liste at fossgis.de
Betreff: Re: [FOSSGIS-Talk] QGIS - kniffliges Beschriftungsproblem
 Hallo,

 Mit PostgreSQL wäre das kein Problem.

 Man macht entweder:
 a) einen Join und dann ein GROUP BY oder
 b) einen Subquery der alles in einen String zusammenfasst.

 Zum aggregieren kann man die aggregate Funktionen array_agg() oder 
 string_agg() nehmen: 
 http://www.postgresql.org/docs/current/static/functions-aggregate.html

 Ich mache das in Uster z.b. um alle Eigentümer und Adressen einer 
 Parzelle zu aggregieren. Das funktioniert gut.

 Grüsse,
 Andreas

 On Fri, 30 Mar 2012 08:22:05 +0200,  wrote:
> Hallo Lars,
>
> ich arbeite eigentlich ausschliesslich mit PostgreSQL/PostGIS, des
> kann ich Dir zu OO keinen Tip geben, sondern nur sagen, wie das in
> PostgreSQL gehen würde. Ich schliesse mich Lars Lingner an: Besteht
> die Möglichkeit eine DB zu nutzen?
> Das mit dem Laden als Vektorlayer wusste ich nicht (weil kein
> dateibasiertes Arbeiten :)
> QGIS 1.7 kann nur _ein_ Feld zur Beschriftung heranziehen, die
> dev-Version erlaubt komplexe Ausdrücke zur Beschriftung (also auch
> mehrere Felder).
> Ich denke das von Dir beschriebene Verhalten der 1:n Beziehung
> (Auswahlverhalten) ist nicht besonders schwer zu realisieren, von da
> ist es aber ein weiter Weg zur Beschriftung, denn die Beschriftung
> kann nur auf Felder der Tabelle des Layers erfolgen, nicht auf Felder
> in anderen Tabellen. Durch die 1:1 - Verknüpfung werden Felder einer
> anderen Tabelle quasi zum Bestandteil der entsprechenden Layer, darum
> geht das hier.
>
> Am 29.03.2012 22:01, schrieb dezentech at web.de:
>> Hallo Bernhard,
>>
>> danke für die Tips.
>>
>> Das Wort "Pivottabelle" habe ich das letzte Mal vor ca. 15 Jahren
>> gehört... Mit Excel kann man damit Auswertungen aufgrund 
>> verschiedener
>> Parameter machen. Jedoch ist es mir nicht gelungen, auf Basis der
>> eindeutigen Hausnummer, die Namen transponiert in die gleiche Zeile
>> hintereinander zu schreiben... Wie läuft denn sowas mit OpenOffice?
>>
>> Ich habe zwischenzeitlich entdeckt, daß man in QGIS geometrielose
>> Tabellen (csv) einladen kann: Add Vector Layer - Dateityp "csv". Für 
>> ein
>> Join würde das also gehen (wenn ich denn diese Pivot-Sache 
>> hinkriegen
>> würde...).
>>
>> Jedoch, glaube ich, daß man keine VERKNÜPFUNG (1:1) sondern eine
>> BEZIEHUNG (1:n) zwischen beiden Tabellen herstellen muß. Ich kenne 
>> sowas
>> noch aus alten ESRI ArcInfo Zeiten. Wahrscheinlich müßte in QGIS 
>> dafür
>> ein Plugin geschrieben werden, sofern es nicht schon eins gibt, das 
>> ich
>> nicht finde...
>>
>> BEZIEHUNG heißt, daß die Attributtabelle meines Häuser-Shape-Layers 
>> so
>> bleibt, wie sie ist. Die geometrielose Tabelle wird in das Projekt
>> hinzugeladen. Wenn man nun eine Beziehung aufgrund einer eindeutigen
>> Spalte (hier: Hausnummer) zwischen beiden herstellt, dann kann man 
>> z.B.
>> die Haus-Nr. 1 des Shape-Files markieren und in der Namen-Tabelle 
>> werden
>> alle Zeilen mit der gleichen Hausnummer ebenfalls markiert. Und
>> umgekehrt kann man einen Namen in der Tabelle markieren und QGIS
>> markiert das entsprechende Shape-Objekt.
>>
>> Wenn man es schafft, solche Beziehungen in QGIS herzustellen, dann
>> dürfte es (meiner laienhaften Meinung nach) nicht mehr so schwer 
>> sein,
>> die Beschriftung der Shape-Objekte anhand einer auszuwählenden 
>> Spalte
>> (z.B. Name oder Vorname) der geometrielosen Tabelle ausführen zu 
>> lassen,
>> so daß alle zur Hausnummer 1 in Spalte "Name" gehörenden Namen
>> ausgegeben werden.
>>
>> Was sagen die Experten dazu?
>>
>> Grüße sendet Lars
>>
>>
>> bernhard.stroebl at jena.de schrieb:
>>> Hallo,
>>>
>>> QGIS kann keine 1:n Joins (wie sollte das auch gehen? dann müssten 
>>> ja
>>> die Polygone verfielfacht werden). Du mußt Deine Exceltabelle also 
>>> so
>>> umstrukturieren, dass Du einen 1:1 Join machen kannst.
>>> Ich würde es ungefähr folgendermassen probieren (nicht getestet): 
>>> eine
>>> Pivottabelle machen (ich kenne Excel nicht, vermute aber mal, dass 
>>> das
>>> darin geht, d.h. Spalte1 = hnr, spalte2 = Name1, spalte3 = Name2 
>>> usw.)
>>> Einladen kannst Du nur csv-Tabellen, Du musst das Ergebnis also als
>>> csv abspeichern. Ich glaube, dass Du auch eine x und eine y-Spalte
>>> anlegen mußt, kannst Du irgendwas reinschreiben, denn QGIS lädt,
>>> soweit ich weiss, keine geometrielosen Tabellen von csv. Dann alles
>>> als Shapedatei abspeichern, ein neues Feld anlegen "Beschriftung" 
>>> und
>>> mit dem Feldrechner name1 || ' ' || name2 usw. darin eintragen.
>>>
>>> viel Erfolg
>>>
>>> Bernhard
>>>
>>>
>>>
>>> Am 29.03.2012 09:03, schrieb dezentech at web.de:
>>>> Hallo zusammen,
>>>>
>>>> ich habe in QGIS ein Polygon-Shape mit 10 Grundflächen von
>>>> Mehrfamilienhäusern einer Straße. Jedes Mehrfamilienhaus hat als
>>>> Attributwert eine eindeutige Hausnummer (1 bis 10). Und ich habe 
>>>> eine
>>>> geometrielose Tabelle (Excel) mit 50 Namen. Zu jedem Namen gibt es 
>>>> die
>>>> Hausnummer (1 bis 10), in der diese Person wohnt. In allen Häusern
>>>> wohnen unterschiedliche Mengen von Namen, mal 3, mal 5, mal 8 usw.
>>>>
>>>> Ziel ist, die Polygone mit genau den Namen zu beschriften, die in 
>>>> den
>>>> jeweiligen Hausnummern wohnen. Das bedeutet, daß jedes Haus
>>>> unterschiedliche Anzahlen von Namen beinhaltet.
>>>>
>>>> Wer hat eine Idee, wie ich
>>>> 1. eine geometrielose Tabelle in QGIS einladen kann,
>>>> 2. eine Verknüpfung zwischen dem Shape (mit 10 Objekten) und der
>>>> Namentabelle (mit 50 Objekten) herstellen kann,
>>>> 3. die Shapes entsprechend beschriften kann.
>>>>
>>>> Danke für Eure Hinweise im Voraus!
>>>>
>>>> Grüße sendet Lars
>>>> _______________________________________________
>>>> FOSSGIS-Talk-Liste mailing list
>>>> FOSSGIS-Talk-Liste at fossgis.de
>>>> https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste
>>>>
>>>>
>>>> ________ Information from NOD32 ________
>>>> This message was checked by NOD32 Antivirus System for Linux Mail
>>>> Server.
>>>> http://www.nod32.com
>>>
>>>
>>> ________ Information from NOD32 ________
>>> This message was checked by NOD32 Antivirus System for Linux Mail 
>>> Server.
>>> http://www.nod32.com
>>>
>>
>>
>> ________ Information from NOD32 ________
>> This message was checked by NOD32 Antivirus System for Linux Mail 
>> Server.
>> http://www.nod32.com
>
>
>
> ________ Information from NOD32 ________
> This message was checked by NOD32 Antivirus System for Linux Mail 
> Server.
> http://www.nod32.com
> _______________________________________________
> FOSSGIS-Talk-Liste mailing list
> FOSSGIS-Talk-Liste at fossgis.de
> https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste

-- 
 --
 Andreas Neumann
 Böschacherstrasse 10A
 8624 Grüt (Gossau ZH)
 Switzerland
_______________________________________________
FOSSGIS-Talk-Liste mailing list
FOSSGIS-Talk-Liste at fossgis.de
https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste
___________________________________________________________
Ihr WEB.DE Postfach immer dabei: die kostenlose WEB.DE Mail App für iPhone und Android.
https://produkte.web.de/freemail_mobile_startseite/