8

mongengineで地理空間検索を使用した人はいますか?うまくいかないようです!GeoPointFieldに入力する必要のあるデータの形式は何ですか?

どのようにフォーマットすればよいですか?ドキュメントにフォーマットについて何も見つかりません!

4

2 に答える 2

10

あなたがやろうとしていることを投稿できますか?

ポイントデータは、キーのあるフィールドに保存する必要があります

"loc":{"lon":51.10682735591432, "lat":-114.11773681640625} また

loc: [22.23432, 21.23212]

mongoengineでは、ジオポイントフィールドがサポートされています

Class Location:
  point = GeoPointField()

new_location = Location(point=[21.1232,23.23432])
new_location.save()

上記のようなものが機能するはずです。

class GeoPointField(db_field = None、name = None、required = False、default = None、unique = False、unique_with = None、primary_key = False、validation = None、choices = None、verbose_name = None、help_text = None):

緯度と経度を格納するリスト。

バージョン0.4の新機能。

http://mongoengine-odm.readthedocs.org/en/latest/apireference.html#mongoengine.GeoPointField

于 2012-07-20T23:30:04.477 に答える
3

私はmongoengineのドキュメントで答えを見つけました:

GeoPointFieldsで使用できる、地理クエリを実行するための特別な演算子がいくつかあります。

within_distance–ポイントと最大距離を含むリストを提供します(例:[(41.342、-87.653)、5])

within_spherical_distance–上記と同じですが、球形の地理モデルを使用します(例:[(41.342、-87.653)、5 / earth_radius])

near–ドキュメントを特定のポイントnear_sphereにどれだけ近いかで並べ替えます–上記と同じですが、球形の地理モデルを使用します

within_box–ドキュメントを特定のバウンディングボックス内のドキュメントにフィルタリングします(例:[(35.0、-125.0)、(40.0、-100.0)])

within_polygon–ドキュメントを特定のポリゴン内のドキュメントにフィルタリングします(例:[(41.91、-87.69)、(41.92、-87.68)、(41.91、-87.65)、(41.89、-87.65)])。..注::MongoServer2.0が必要です

于 2013-03-21T08:45:19.890 に答える