У меня есть следующая проблема с MongoDB. Я получил некоторые геоданные из своей родной страны, и я должен хранить их в mongodb, чтобы создать простую службу веб-функций. Эта услуга будет в основном выполнять запросы с ограничивающей коробкой, используя оператор $within
. Данные находятся в формате GeoJSON. Поэтому я импортировал сначала Деревни и Города, которые представлены в виде точек ([1,2]
) в этом формате. Нет проблем. Следующий шаг рек и улиц, которые являются LineStrings, и в соответствии с GeoJSON представлены таким образом [[1,2],[3,4]]
. Но при импорте районов (которые на самом деле являются многоугольниками и в соответствии с спецификацией GeoJSON 3 тусклых искажения), я получил ошибку geo values have to be numbers
при создании индекса.Сохранение полигонов GeoJSON в MongoDB
db.collection.ensureIndex({"geometry.coordinates" : "2d"});
Все данные действительны GeoJSON и находятся в равных координатах 2d в EPSG: 4326 проекции.
Есть ли у кого-нибудь идеи?
2,6 будет поддерживать MultiPoint, MultiLineString, MultiPolygon и GEOMETRYCOLLECTION http://docs.mongodb.org/manual/release-notes/2.6/ –
Этот совет работал для меня и экономит дополнительную логику приложения! –