2016-11-21 2 views
1

最新のバージョンのmeteorを使用しています。スキーマを作成しました。スキーマに場所を追加したいと思います。私は、オートフォームを使用してコレクションに場所を保存し、最終的にジオロケーションと近接に基づいてクエリを保存するためのベストプラクティスが何であるか疑問に思っています。ユートピアのスキーマにgeolocationを実装する方法

答えて

0

最新の流星は、あなたが幾何学のさまざまな種類を使用して場所を記述できるようにするにGeoJSONを使用しています

Mongo 3.2モンゴ3.2が付属しています。

{ 
    location: { 
    type: "Point", 
    coordinates: [-73.856077, 40.848447] 
    }, 
    name: "Morris Park Bake Shop" 
} 

などのポリゴン:

const neighborhood = Neighborhoods.findOne({geometry: {$geoIntersects: {$geometry: {type: "Point", coordinates: [ -73.93414657, 40.82302903 ]}}}}); 
const restaurants = Restaurants.find({location:{$geoWithin:{$geometry: neighborhood.geometry}}}) 

:これはあなたのような複雑なクエリを作成することができます

{ 
    geometry: { 
    type: "Polygon", 
     coordinates: [[ 
     [ -73.99, 40.75 ], 
     ... 
     [ -73.98, 40.76 ], 
     [ -73.99, 40.75 ] 
     ]] 
    }, 
    name: "Hell's Kitchen" 
} 

たとえば、次のような空間内の点としての位置を特定することができます(例:mongo tutorial

これは、geoを保存するためのmongoの推奨方法です指数とシャーディングのサポートを持つ公的データ。

オートフォームマップアドオンがあります:https://github.com/yogiben/meteor-autoform-map/ - GeoJSONがサポートされています

関連する問題