[FOSSGIS-Talk] QGIS - filtern nach doppelten Werten in einer Spalte

Bernhard Ströbl bernhard.stroebl at jena.de
Mi Jun 17 16:09:29 CEST 2015


Hmnm,

wenn ich es richtig verstehe, hast Du z.B.
Tabelle1 (Ort)
id, ortname

Tabelle2 (zugehörige Objekte)
gid, geom, zuordnungs_id

zuordnungs_id ist ein Fremdschlüssel auf Tabelle1.id

Du möchtest nun im Atlasdruck für jedes Objekt aus Tabelle1 einen 
Ausdruck machen und zwar derart, dass der Atlas über die Geometrien aus 
Tabelle2 gesteuert wird(?): Alle Geometrien aus Tabelle2 mit der selben 
id sollen zusammen sichtbar sein.

Vorgehen in diesem Fall:
Eine Sicht (oder einen SQL-Abfragelayer) machen
CREATE VIEW atlas_druck AS
SELECT t1.id,
ST_Union(t2.geom)::geometry(Multipolygon,srid) as geom
FROM tabelle1 t1
JOIN tabelle2 t2 ON t1.id = t2.zuordnungs_id
GROUP BY t1.id

ST_Union ist eine Aggregatfunktion, so wie count(), ich habe hier mal 
Polygone angenommen, bei Punkten müsste es "Multipoint" sein, ausserdem 
gehe ich davon aus, dass es immer mehrere Datensätze in Tabelle2 für 
einen in Tabelle1 gibt, sonst mußt Du die einzelnen mit ST_Multi() in 
Multi** verwandeln, damit der Datentyp des Ausgabefeldes passt.

hoffe, das hilft

Bernhard

Am 17.06.2015 um 15:52 schrieb sk:
> Am 17.06.2015 um 14:34 schrieb Bernhard Ströbl:
>> Hallo Peter,
>>
>> so ganz klar ist mir nicht, was Dein eigentliches Ziel ist. Wenn Du
>> aber das Filterergebnis als Layer in QGIS brauchst (jeder mehrfache
>> Wert nur einmal), dann kannst Du in PostgreSQL einen View machen und
>> den nach QGIS laden; id-Feld wird benötigt, kann z.B. über
>> SELECT max(id)....FROM table GROUP BY attribut
>> erzeugt werden
>
> Das Ziel ist eigentlich, in einer Druckzusammenstellung Pläne zu
> erstellen, in denen aber nur Objekte
> dargestellt sind die zu einem Ort gehören.
> Das ganze habe ich einmal mit Polygonen und mit einmal mit Punktobjekten.
> Ich habe in der Tabelle die zu diesen Objekten gehört eine Spalte mit
> entsprechenden ID's, sprich alle
> Objekte die zusammen gehören haben die gleiche ID. Diese Tabelle dient
> bis jetzt auch als Drucksteuerung.
> Pro Druck ein Objekt darzustellen ist auch kein Problem, nur einige
> Objekte bestehen aus zwei oder
> drei Polygonen, bzw. aus mehreren Punkten die eben dann in einem Plan
> erscheinen sollen und die andern nicht.
>
> Gruß Peter
> --
> ....................................................................
> FOSSGIS und OpenStreetMap auf der Agit 2015 in Salzburg
> 8.-10. Juli, Universität Salzburg
> http://www.agit.at
>
> FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
> GIS-Bereich und Freier Geodaten!
> http://www.fossgis.de/             https://twitter.com/fossgis_eV
>
> ____________________________________________________________________
> FOSSGIS-Talk-Liste mailing list
> FOSSGIS-Talk-Liste at fossgis.de
> https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste
>
>
> __________ Information from ESET Mail Security, version of virus
> signature database 11800 (20150617) __________
>
> The message was checked by ESET Mail Security.
> http://www.eset.com
>
>



__________ Information from ESET Mail Security, version of virus signature database 11800 (20150617) __________

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