빠른 배경, 한 지점에서 거리별로 여러 위치를 정렬하는 장고 앱을 만들려고합니다. 응용 프로그램은 EC2 서버에서 실행되며 데이터베이스에 RDS를 사용하고 싶습니다. RDS에서는 PostgreSQL을 사용할 수 없으므로 MySQL을 사용하기로했습니다.Django와 Amazon RDS의 거리 별 정렬 포인트
문제 : 내가보기를 실행하려고하면
, 나는 오류 얻을 : 내가했습니다 무엇부터
from django.shortcuts import render_to_response
from models import CampSite
from geopy import geocoders
from django.contrib.gis.geos import *
from django.contrib.gis.measure import D
from django.template import RequestContext
def results(request):
query = request.GET['q']
g = geocoders.Google(resource='maps')
results = []
geocodes = g.geocode(query, exactly_one=False)
for geocode in geocodes:
location, (lat, lon) = geocode
pnt = fromstr("POINT(%s %s)" % (lon, lat))
distance_from_point = {'mi':'2000'}
results.append(CampSite.objects.filter(
lonlat__distance_lte=(
pnt,
D(**distance_from_point)
)
).distance(pnt).order_by('distance')
)
return render_to_response('results.html',{'location': location,
'lat': lat, 'lon': lon, 'results':results[0]},
context_instance=RequestContext(request))
: 여기
NotImplementedError: distance stored procedure not available on the mysql backend.
은이다 읽었을 때, 문제는 MySQL이 OGC와 호환되지 않고 정보를 얻기 위해 GDAL을 사용할 수 있다는 것입니다. 그러나 구현 방법을 모릅니다.
아무도 내가 MySQL과 RDS를 사용하여 작동하도록 응용 프로그램을 얻을 수있는 방법을 알고 있습니까? (나는 Heroku를 피하고 싶다)
p.s. geopy를 사용하여 Google에 요청합니다.
해당 서버에서 postgresql db를 설정했을 수 있습니다. MySql은 정말 좋지 않은 선택입니다. – RickyA
예, 스케일링을 쉽게하기 위해 RDS를 사용하는 것을 선호합니다. 유일한 RDS 옵션은 oracle 또는 microsoft SQL 서버뿐입니다. – bcoop713
위도와 경도가 있으므로이 접근법이 효과가 있습니까? http://gis.stackexchange.com/questions/593/how-to-calculate-distance-between-two-locations-using-stored-procedure-in -mysql –