2012-01-31 8 views
0

안녕 유래 사람들, 내가 GeoDjango에서 POINT 참조가 문을 쿼리로 변환하는 방법을 이해하는 데 문제가 있어요PostgreSQL의 + GeoDjango : 더 나은 점

을 번역하는 방법을 이해.

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과 PostGIS와에 LNG, 위도 포인트를 번역하는 올바른 방법은 무엇입니까?

더이 문제를 이해하기 위해 당신의 도움을 주셔서 감사합니다!

답변

1

나는 주제에 대한 전문가에서 멀리입니다. 그러나 나는 한 번 장고를 사용하여 PostGIS와 데이터베이스에 특정 지점을 저장하는 코드를 작성했습니다.

은 내가했던 방법이었다 :

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

오류 메시지가 정확한 문제에 대한

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

설명에 약간의 버그에서 유래와 패치가 여기에서 찾을 수 있습니다 것 같다 :

  • Patch 35,은 내가 adapter.py에서 4 개 개의 라인을 패치가 있고 오류가 사라 졌어요.

    모든 당신의 도움을 주셔서 감사합니다!