2012-01-16 29 views
5

Tôi đang phát triển một ứng dụng gis sử dụng API bản đồ của Google. Hiện tại tôi đang sử dụng Postgis db.Ứng dụng GIS với các bản đồ django và google bằng cách sử dụng mongodb

Tôi đang xem xét chuyển sang MongoDB và tôi đã sau câu hỏi về vấn đề này,

  1. là MongoDB một lựa chọn khả thi cho việc lưu trữ dữ liệu GIS. (Có bất kỳ công cụ NoSQL nào khác khả thi không?)

  2. Liệu django-nonrel đã sửa đổi mô-đun django.contrib.gis cho hỗ trợ mongodb? và nó hoạt động tốt như thế nào?

Cảm ơn trước :)

Trả lời

5

Như đã trình bày bởi Sergio Tulentsev, MongoDB có chỉ số không gian. Tuy nhiên, không phải tất cả các loại hình có thể được lưu trữ. Theo như tôi biết, hiện tại chỉ có thể lưu trữ các điểm. Tuy nhiên, bạn có thể truy vấn bằng cách sử dụng đa giác.

Vì MongoDB rất linh hoạt, bạn có thể lưu hình dưới dạng văn bản, nhưng cũng như đối tượng JSON. Ví dụ: bạn có thể lưu trữ tọa độ như: {lon: 52.1234, lat: 14.1245}. Bạn có thể giải thích điều này là trên ứng dụng của riêng bạn như bạn muốn.

Nhược điểm của điều này là không có chỉ mục gốc. Nếu bạn không bao giờ phải truy vấn dựa trên vị trí/quan hệ không gian, bạn vẫn ổn. Nếu bạn có truy vấn dựa trên vị trí/quan hệ không gian, bạn sẽ phải viết chỉ mục của riêng bạn. Có thể là một điều khó khăn ...

Có CouchDB có bổ sung GeoSpatial. Không biết làm thế nào nó hoạt động/những gì nó hỗ trợ mặc dù.

Một phương pháp lai cũng thường được thực hiện bởi một số công ty dựa trên dữ liệu lớn. Ví dụ, sử dụng MongoDB để lưu trữ/truy vấn dữ liệu bình thường và PostGIS để lưu trữ/truy vấn dữ liệu không gian địa lý.

+0

cảm ơn phản hồi của bạn, hiện tại tôi cũng đang sử dụng phương pháp kết hợp nhưng tôi đang xem xét hoàn thành NoSQL về vấn đề này. –

3

Tôi đã làm việc với MongoDb lưu trữ điểm quan tâm trong DB, sau đó làm điểm trong truy vấn nhiều, cùng với truy vấn bán kính và Mongo đã được FAR cấp trên cho PostGres. Tôi đã có thời gian phản ứng nhanh hơn nhiều với hàng trăm nghìn mặt hàng. Tuy nhiên, tôi sẽ nói tùy thuộc vào độ phức tạp của các truy vấn của bạn (ví dụ nếu bạn đang làm một điều gì đó ngoài điểm trong bán kính xung quanh một điểm), bạn có thể muốn một db GIS nặng hơn như postgres .. bạn chỉ cần cũng sẽ có thêm trọng lượng của postgres.

Rất tiếc, tôi cũng không thể nói được gì với django.

4

Django MongoDB Engine developer ở đây.

Chúng tôi chưa có bất kỳ hỗ trợ thực sự nào cho các tính năng GIS của MongoDB. Có thể thực hiện các truy vấn không gian địa lý bằng cách "làm việc xung quanh Django" mặc dù (xem http://django-mongodb.org/topics/lowerlevel.html - ví dụ đầu tiên thực sự là về chỉ mục địa lý).

Tuy nhiên, có thể thực hiện hỗ trợ GIS gốc của Django vào phần phụ trợ MongoDB. Chúng tôi rất vui khi được cố vấn cho bất kỳ ai muốn tiếp cận nhiệm vụ đó!

+0

Xin chào Jonas, tôi rất muốn trợ giúp triển khai hỗ trợ GIS gốc của Django cho chương trình phụ trợ MongoDB. Bạn vẫn đang tìm kiếm các nhà phát triển? –

+0

Tôi không tích cực làm việc với dự án đó nữa, nhưng có, tôi đoán họ vô cùng hạnh phúc về bất kỳ người đóng góp mới nào! –

+0

Cảm ơn, Jonas. Nếu bạn có thể cho tôi liên lạc với ai đó hoặc hướng tôi đến một trang, điều đó thật tuyệt vời –

Các vấn đề liên quan