2017-09-11 16 views
1

geometryの値をPostgreSQL/PostGISデータベースに挿入する際に問題があります。私はpsycopg2パッケージを使用しています。私は次のコードで、geopyライブラリを使用して取得することを、緯度と経度を格納したい:PostgreSQL +へのジオメトリ値PostGIS

geolocator = Nominatim() 
location = geolocator.geocode(name) 

私は私が書くために持っているものSQL文について非常に混乱しています。私は

sql = """INSERT INTO Sensor(name, value, location, unit, frecuencyUpdate) 
       VALUES(%s, %s, ST_MakePoint(%s, %s),%s, %s) 
       RETURNING id;""" 

cur = conn.cursor() 
cur.execute(sql, (sensor.estacion, sensor.waterState, sensor.getLongitude(), sensor.getLatitude(), sensor.unit, sensor.frecuencyUpdate)) 

をしようとしていると私はエラーを取得する:

"doesn't exits relation «sensor»"

誰も私を助けることができますか?

答えて

1

SQLにはテーブル名の大文字のSがありますが、引用符で囲まれていないので、Postgresは小文字のテーブルを探しています。大文字を使用してテーブルを作成した場合は、それを引用する必要があります。

sql = """INSERT INTO \"Sensor\"(name, value, location, unit, frecuencyUpdate) 
       VALUES(%s, %s, ST_MakePoint(%s, %s),%s, %s) 
       RETURNING id;""" 
+0

グレート!!!どうもありがとう!!!!またfrecuencyUpdateは\ "が必要です。あなたは私の日を救った! – jjmartinez