2017-03-03 9 views
1

私はpostgresとpostgisで新しく、csvファイルからpostgresデータベースにデータをロードしましたが、問題は新しいジオメトリカラムを追加するときです。 はUSING句が追加列で使用することはできませんpythonを使用してpostgresに新しいジオメトリカラムを追加

try: 
    cursor.execute("""alter table Pluvometre add column geom geometry(point, 4326) 
        using st_setsrid(st_makepoint(X, Y),4326);""") 
except: 
    print "Error add gemetry column" 

my data: 
-------- 
    X    Y    ID nosico noi mt8_x    mt8_y   lat lon 
-74.0313470791373 45.3929059093611 1 OBXL1011 33 263196.452317745 5028244.700001 45 -74 
-73.9491598482168 45.39888024068 2 OBXL1021 21 269635.2727916759 5028869.415663255 45 -74 

enter image description here

答えて

1

あなたの助けをありがとうございました。 、私は別の質問があり、それがこのようなデータを持つことが普通です

ALTER TABLE Pluvometre ADD COLUMN geom geometry(point, 4326); 
UPDATE Pluvometre SET geom = st_setsrid(st_makepoint(X, Y),4326); 
+0

Tahnkあなたのあなたの助けのために:ALTER TABLEおよびUPDATE:あなたは二つの文を必要とする、あなたのケースでhttps://www.postgresql.org/docs/9.6/static/sql-altertable.html

を参照してください0101000020AD10000012EE2D97018252C0378EA7BD4AB24640 0101000020AD1000001EB1F208BF7C52C0E05EFA810EB34640に私の新しいジオメトリ列? –

+0

はい、WKBストリングです。Postgisジオメトリのバイナリ表現です。 https://en.wikipedia.org/wiki/Well-known_text#Well-known_binaryを参照してください。関数St_SetSrid()とSt_MakePoint()は、この種のデータを返します。関数St_AsText(geom)を使用して、元の座標を表示します。 –

+0

あなたの説明をありがとう、本当に明らかです。 –

関連する問題