[FOSSGIS-Talk] QGIS - kniffliges Beschriftungsproblem
bernhard.stroebl at jena.de
bernhard.stroebl at jena.de
Fr Mär 30 08:22:05 CEST 2012
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