Tôi có một bộ sưu tập trong MongoDB với chỉ mục 2dsphere. Đối tượng tôi muốn lưu trông giống như sau:Không thể trích xuất các khóa địa lý 'mặc dù GeoJSON là hợp lệ
{
"type" : "Polygon",
"coordinates" : [
[
[
5.052617929724351,
52.64653192570052
],
[
5.051738165167465,
52.64765805672784
],
[
5.054162882116928,
52.64831549553909
],
[
5.054592035559312,
52.64780777138566
],
[
5.055364511755601,
52.64790541110375
],
[
5.056094072607651,
52.64688343792051
],
[
5.054237983969346,
52.64661654927096
],
[
5.052617929724351,
52.64653192570052
]
]
]
}
Theo http://geojsonlint.com/ đây là GeoJSON hoàn toàn hợp lệ. Tuy nhiên MongoDB nói rằng nó không thể giải nén các khóa địa lý vì GeoJSON có thể không đúng định dạng.
Có ai có thể giúp tôi và phát hiện lỗi không?
Đây là lỗi MongoDB tôi nhận được:
insertDocument :: caused by :: 16755 Can't extract geo keys from object, malformed geometry?
Bạn có 2 mảng khung xung quanh mảng điểm của mình. Thử xóa một bộ ngoặc vuông. Nên [[lat, long], [lat, long], ...] –
Xin chào Brian, tôi không nghĩ điều này là chính xác. Đa giác trong GeoJSON là một mảng các vành tọa độ. GeoJSON lint cũng báo cáo rằng đây là GeoJSON không hợp lệ. Tôi sẽ thử nó trong MongoDB. – Mathyn
Xin lỗi. Tôi nghĩ chỉ MultiPolygon cần thêm các dấu ngoặc mảng. Thật buồn cười ... Tôi đã tìm thấy một bài đăng có câu trả lời bắt đầu theo cùng cách chính xác https://groups.google.com/forum/m/#!topic/mongodb-user/OPouYFHS_zU –