2012-01-31 26 views
0

嗨#1的人,我無法理解如何在GeoDjango內置端點引用被翻譯爲查詢語句的PostgreSQL + GeoDjango內置:更好地瞭解點是如何翻譯

jpic's advice非常幫助我捕獲控制檯中的查詢語句,但打印輸出對我來說沒有任何意義。

在我view.py功能(保存格式),我有以下行:

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

與u_lng和u_lat作爲協調用戶(取自會話信息)。 u_lat和u_lng是以小數爲單位的度數值。

然而,當我檢查的建議的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) 

和被拒絕的SQL與錯誤信息

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

用GeoDjango將lng,lat轉換成postgis的正確方法是什麼?

謝謝你的幫助,更好地理解這件事!

回答

1

我遠離這個問題的專家。但是我曾經用Django寫過一些在postgis數據庫中保存了某個特定點的代碼。

的方式我做它:

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