[FOSSGIS-Talk] WKT einzelner Polygone als Textfile

Jürgen E. Fischer jef at norbit.de
Di Sep 18 18:48:31 CEST 2018


Moin Torsten,

On Tue, 18. Sep 2018 at 17:09:54 +0200, Torsten Eckart wrote:
> Am 12.09.2018 um 10:24 schrieb Jürgen E. Fischer:
> > So geht's aber auch - allerdings mit einem Leerzeichen vor und nach der
> > Geometrie.  SQL-Skript export.sql:

> > \t
> > \o temp.sql
> > select E'\\copy (select st_asewkt(wkb_geometry) from ax_wald where gml_id='''||gml_id||''') to '||gml_id||'.wkt with csv quote '' ''' from ax_wald LIMIT 10;
> > \o
> > \i temp.sql

> > Aufruf:  psql -f export.sql service=alkis

> wenn ich in der psql das script export sql aufrufe bekomme ich keine
> Fehlermeldung aber auch kein Resultat.
> 
> Ich bin mir auch nicht sicher wie das script aufzurufen ist. Ich habe es
> jetzt mit -a -f in der psql-shell probiert.

Im Detail:

c:\OSGeo4W64>dir export.sql
 Volume in Laufwerk C: hat keine Bezeichnung.
 Volumeseriennummer: 36F4-E791

 Verzeichnis von c:\OSGeo4W64

18.09.2018  18:38               187 export.sql
               1 Datei(en),            187 Bytes
               0 Verzeichnis(se), 37.071.790.080 Bytes frei

c:\OSGeo4W64>type export.sql
\t
\o temp.sql
select E'\\copy (select st_asewkt(wkb_geometry) from ax_wald where gml_id='''||gml_id||''') to '||gml_id||'.wkt with csv quote '' ''' from ax_wald LIMIT 10;
\o
\i temp.sql

c:\OSGeo4W64>psql -f export.sql service=alkis
Showing only tuples.

c:\OSGeo4W64>type temp.sql
 \copy (select st_asewkt(wkb_geometry) from ax_wald where gml_id='DENIAL3100006F4h') to DENIAL3100006F4h.wkt with csv quote ' '
 \copy (select st_asewkt(wkb_geometry) from ax_wald where gml_id='DENIAL3100006F4i') to DENIAL3100006F4i.wkt with csv quote ' '
 \copy (select st_asewkt(wkb_geometry) from ax_wald where gml_id='DENIAL3100006F4k') to DENIAL3100006F4k.wkt with csv quote ' '
 \copy (select st_asewkt(wkb_geometry) from ax_wald where gml_id='DENIAL3100006F4l') to DENIAL3100006F4l.wkt with csv quote ' '
 \copy (select st_asewkt(wkb_geometry) from ax_wald where gml_id='DENIAL3100006F4q') to DENIAL3100006F4q.wkt with csv quote ' '
 \copy (select st_asewkt(wkb_geometry) from ax_wald where gml_id='DENIAL3100006F4r') to DENIAL3100006F4r.wkt with csv quote ' '
 \copy (select st_asewkt(wkb_geometry) from ax_wald where gml_id='DENIAL3100006Nky') to DENIAL3100006Nky.wkt with csv quote ' '
 \copy (select st_asewkt(wkb_geometry) from ax_wald where gml_id='DENIAL3100006Nkz') to DENIAL3100006Nkz.wkt with csv quote ' '
 \copy (select st_asewkt(wkb_geometry) from ax_wald where gml_id='DENIAL3100005We6') to DENIAL3100005We6.wkt with csv quote ' '
 \copy (select st_asewkt(wkb_geometry) from ax_wald where gml_id='DENIAL3100005Web') to DENIAL3100005Web.wkt with csv quote ' '

c:\OSGeo4W64>dir *.wkt
 Volume in Laufwerk C: hat keine Bezeichnung.
 Volumeseriennummer: 36F4-E791

 Verzeichnis von c:\OSGeo4W64

18.09.2018  18:39               190 DENIAL3100005We6.wkt
18.09.2018  18:39               144 DENIAL3100005Web.wkt
18.09.2018  18:39               402 DENIAL3100006F4h.wkt
18.09.2018  18:39               190 DENIAL3100006F4i.wkt
18.09.2018  18:39               238 DENIAL3100006F4k.wkt
18.09.2018  18:39               141 DENIAL3100006F4l.wkt
18.09.2018  18:39               190 DENIAL3100006F4q.wkt
18.09.2018  18:39               191 DENIAL3100006F4r.wkt
18.09.2018  18:39               168 DENIAL3100006Nky.wkt
18.09.2018  18:39               166 DENIAL3100006Nkz.wkt
              10 Datei(en),          2.020 Bytes
               0 Verzeichnis(se), 37.066.604.544 Bytes frei


Und im #qgis-Channel im IRC haben wir das ja gerade auch noch auf der
QGIS-Pythonkonsole gelöst:

features = vlayer.getFeatures()

for feature in features:
    name = feature.attribute("name")
    filename = 'C:/temp/wkt/{x}.txt'.format(x=name)
    file = open(filename, "w")
    file.write(feature.geometry().asWkt())
    file.close()


Schönen Feierabend. ;)


Jürgen

-- 
Jürgen E. Fischer           norBIT GmbH             Tel. +49-4931-918175-31
Dipl.-Inf. (FH)             Rheinstraße 13          Fax. +49-4931-918175-50
Software Engineer           D-26506 Norden             http://www.norbit.de
QGIS release manager (PSC)  Germany                    IRC: jef on FreeNode
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 827 bytes
Beschreibung: nicht verfügbar
URL         : <http://lists.fossgis.de/pipermail/fossgis-talk-liste/attachments/20180918/74fb1291/attachment.sig>
-------------- nächster Teil --------------
Ein eingebundener Text mit undefiniertem Zeichensatz wurde abgetrennt.
Name: Pflichtangaben
URL: <http://lists.fossgis.de/pipermail/fossgis-talk-liste/attachments/20180918/74fb1291/attachment.ksh>


Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste