[FOSSGIS-Talk] psql_Fehler

joe joe.dtr at t-online.de
Do Nov 22 13:16:17 CET 2018


Hallo,

ich habe das ausprobiert. Die Tabelle points habe ich um lat und lon 
ergänzt. Die Sequenz

set lon = st_x(st_transform(wkb_geometry,4326)), lat = 
st_y(st_transform(wkb_geometry,4326));    ergibt folgende Fehlermeldung

ERROR:  syntax error at or near "("
LINE 2: lon = st_x(st_transform(wkb_geometry,4326)),

ähnliche Sequenzen aus anderen Quellen scheitern an der gleichen Stelle. 
Nach einigem suchen habe ich diese Zeile zusammengestellt:

SELECT wkb_geometry, ST_X(wkb_geometry), ST_Y(wkb_geometry) FROM 
points;  Das Ergebnis ist:

                  wkb_geometry          |       st_x                  
|       st_y
----------------------------------------------+------------------+--------------------------------+--------------------------
  \x01010000000c5a39341b171641ebb85d5297c05541 |  361926.80100003 | 
5702237.28697036
  \x010100000001f3ccaa1b941d414d4afe46a6245541 | 484614.916797444 | 
5542553.10927064
  \x010100000099bcc6b084941d4144decf8d9f245541 |  484641.17263312 | 
5542526.21581227
  \x01010000004240488d1d941d41e4d1e7ee9a245541 | 484615.387970928 | 
5542507.73289916
  \x0101000000d0d10999c7941d415dd9b0b399245541 | 484657.899451521 | 
5542502.80766901
  \x01010000001228a0f863951d418f7f850592245541 | 484696.992798449 | 
5542472.08627309
  \x010100000035e14f7a8f951d417a021e598f245541 | 484707.869445342 | 
5542461.39245665

Wie muss ich das nun bewerten. Es sieht aus wie WGS 84 /4326. Wenn es 
kein Zufall ist stecken alle Informationen in der wkb Zeile. Wenn die 
st_x und die st_y Spalte reale Koordinaten sind, ist das Problem gelöst. 
Aber wie das immer so ist, ergeben sich gleich neue Fragen. Die SQL 
Abfrage aus QGIS:

"other_tags" like '%wind%' AND "other_tags" like '%generator%'

möchte ich gleich in der Datenbank als SELECT stellen. Wie kann ich das 
formulieren?

Das Ergebnis der Abfrage möchte ich als neue Tabelle in die DB osm z.B. 
als "wind" einfügen. Eine SELECT Abfrage kann man auch als Shape 
exportieren.

Gruß

Jörg

Am 21.11.2018 um 17:21 schrieb Claas QGIS.de:
> Hallo Jörg,
>
> mit folgender Vorgehensweise gelangst Du zum Ziel:
>
>
> -- Neue Spalten anlegen
>
> alter table points    -- in der Tabelle points
> add column lon double,  -- Spalte lon im Datentyp Fließkomma anlegen
> add column lat double   -- Spalte lat im Datentyp Fließkomma anlegen
> ;
>
> -- Tabelle Points updaten
> -- st_transform transformiert die Geometrie Zurück nach WGS 84
> -- st_x und st_y lesen die gewünschten Koordinaten auus der Geometrie
>
> update points
> set
> lon = st_x(st_transform(wkb_geometry,4326)),
> lat = st_y(st_transform(wkb_geometry,4326))
> ;
>
> -- 
> Zu ogr2ogr
> das Werkzeug ist meiner Meinung sehr gut zum OSM-Import geeignet.
> Mittels des Schaalters -sql lassen sich auch schon beim Import Inhalte 
> auswählen.
>
> Viele Grüße,
>
> Claas
>
>



Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste