2012-01-31 6 views
0

こんにちはStackOverflowの人々を変換する方法をより良く理解、のPostgreSQL + GeoDjango:ポイントは

私はGeoDjangoでPOINTの参照がステートメントをクエリに変換する方法を理解するために問題を抱えています。

jpic's adviceは、コンソールでクエリステートメントをキャプチャするのに役立ちましたが、プリントアウトはわかりません。

savedProject.geolocation = GEOSGeometry('POINT(%s %s)' %(u_lng,u_lat)) 
u_lngと

と協調ユーザーは(セッション情報から撮影)としてu_lat:私のview.py機能で

(フォームを保存)、私は次の行を持っています。 u_latとu_lngは小数値としての度数です。私が示唆したように、SQL文をチェックするとき

はしかし、私は、POINTは、エラーメッセージ

ERROR: invalid byte sequence for encoding "UTF8": 0x00 

とSQLでのSQL文の中で

ST_GeomFromEWKB(E'\001\001\000\000 \346\020\000\000\352\036~\243\302\256H\300\352X\245\364L\3515\300'::bytea) 

に翻訳され、拒否されていることがわかりGeoDjangoでLNG、Lat点をPostgisに変換する正しい方法は何ですか?

この問題をよりよく理解していただきありがとうございます。

答えて

1

私は主題の熟練者ではありません。しかし、私はかつてDjangoを使ってpostgisデータベースのある点を保存したコードを書きました。

は、それは私がやった方法だった:

model_instance.coords = Point(geo_point.latitude, geo_point.longitude) 
1

エラーメッセージは正確な問題のために

django/contrib/gis/db/backends/postgis/adapter.py 

説明に小さなバグに由来し、パッチはここで見つけることができるようです。

私はadapter.pyに4つのラインにパッチを適用しているとエラーがなくなっています。

ありがとうございました!

関連する問題