2

geoDjango のおかげで PostGis データベースにクエリを実行しようとしていますが、インターネット上で解決策が見つからないというエラーが発生しました。

    close_loc=PlanetOsmPoint.objects.get(way__distance_lte=(lePoint, D(**distance_from_point)))

結果(close_loc)を印刷して試してみると、次のエラーが発生します。

django.db.utils.DatabaseError: Only lon/lat coordinate systems are supported in geography.

transform(SRID) のおかげで正しい形式に変換しようとしましたが、何も解決されず、まだ同じ問題です。

ここにいくつかの情報があります:

変身 :

sr1=SpatialReference('54004')
sr2=SpatialReference('NAD83')
ct=CoordTransform(sr1, sr2)

close_loc を取得した後に私がしていること:

close_loc.transform(ct)
print close_loc[0]

close_loc タイプは GeoQuerySet です。この結果をどのように活用できますか?

4

1 に答える 1

1

transform() 関数は、文字列ではなく整数を想定しています。正しい構文は次のとおりです。

close_loc.transform( new_srid_number )

あなたの場合、次のようなものです:

close_loc.transform(54004)

うまくいくことを願っています!

于 2013-09-05T08:39:20.187 に答える