[FOSSGIS-Talk] QGIS - MySQL-Tabelle als Punktlayer bearbeiten

dezentech at web.de dezentech at web.de
Di Nov 20 22:19:30 CET 2012


Danke! Das probiere ich aus.

G s Lars

P.S.: würde wirklich gerne auch mal zum Stammtisch nach Babelsberg 
kommen, nur kann ich Donnerstags nicht :-!

Lars Lingner schrieb:
> Hallo Namensvetter,
>
> in Mysql gibt es auch Geometriedatentypen, z.B. Point
> Wie die genau aussehen, kann ich aus dem Kopf jetzt leider nichts sagen.
> Ich nehme an das die Daten letztendlich auch als WKB gespeichert werden.
>
> Um so ein Feld/Spalte zu befüllen, müssen aber die Daten irgendwie
> eingespeist werden. Das geschieht durch die Funktion GeometryFromText.
> Als Argument wird eine Zeichenkette erzeugt, die dem WKT-Ausdruck
> entspricht, z.B. Point(52.1 11.4)
>
> Zur Hilfe kommt hier die Funktion zum Textverketten CONCAT. Diese nimmt
> die Teilzeichenketten "Point(", "52.1", " ", "11.4)" und verbindet diese
> zu einem Ganzen: "Point(52.1 11.4)"
>
> Es kann sein, das ich die Syntax nicht 100%ig richtig habe, in der
> Onlinedoku gibt es aber Beispiele.
>
> Ok, also hat man jetzt einen WKT-Ausdruck und GeometryFromText macht
> daraus einen Geometriedatentyp. Dieser wird dan in das Feld eingetragen.
>
> QGis zeigt alle Objekte an, es sei denn man filtert diese. Das kann man
> beim Hinzufügen als Layer angeben. Hierzu kann man einen Ausdruck für
> die WHERE-Klausel angeben, z.b. LIMIT 1000. Dann werden nur die ersten
> 1000 Objekte aus der DB geholt.
>
> Alternativ könntest Du auch einen View in der DB erzeugen, der nur einen
> Auszug aus deiner 200000er-Tabelle liefert. Dieser kann dann in QGIS
> eingebunden werden, ohne das ein zusätzlicher Filter definiert wird.
>
> Ich hoffe das hilft dir weiter...?
>
>
> Viele Grüße
>
> Lars
>
>