Tôi có tệp PBF chứa thông tin sau về một quốc gia:
Các nút, mỗi nút có kinh độ, vĩ độ và tính chất riêng; Được sử dụng để lưu trữ các điểm trong không gian 2D.
Các cách, mỗi thuộc tính của chúng, chúng được kết nối thông qua các nút; Dùng để lưu trữ đường xá, ranh giới.
Mặc dù tệp này chỉ có 80 MB ở dạng nén, nhưng nó là 592 MB khi không nén và được lưu trữ trong DB.
Vâng, và đó chỉ dành cho một quốc gia, Bỉ. Hãy tưởng tượng lưu trữ Pháp, Đức và Ý cùng với.
Ví dụ, hãy đi một đường cao tốc duy nhất, từ Antwerp qua Brussels đến Charleroi. Điều này sẽ bao gồm một tấn các nút để lưu trữ tất cả các ngã rẽ trên đường cao tốc, nhưng tôi có cần tất cả các ngã rẽ này không? Tôi nghi ngờ điều đó.
Hãy để tôi nói cho bạn biết những gì tôi muốn có thể làm:
Tôi muốn xem bản đồ ở các mức thu phóng khác nhau; các thành phố lớn, thành phố nhỏ và đường phố ít nhất.
Tôi muốn có thể có được thông tin định tuyến giữa hai điểm.
Tôi muốn có thể tính toán con đường gần nhất đến vị trí GPS của mình.
Tìm kiếm một vị trí, bằng một chỉ mục trong cơ sở dữ liệu.
Nhưng quan trọng nhất, cơ sở dữ liệu không nên quá lớn vì nó sẽ được lưu trữ trên thiết bị di động .
Vì vậy, tôi nghĩ về sự kết hợp của hai kỹ thuật:
Gạch hình ảnh cho mục đích xem, để làm việc xung quanh lưu trữ / xử lý tất cả các nút riêng lẻ.
Lưu trữ các điểm cuối của đường để định tuyến thông tin, cùng với thông tin về đường.
Vấn đề với điều này là tôi không thể tính đường gần nhất đến vị trí GPS của mình chỉ bằng thông tin này; hãy tưởng tượng rằng một khúc cua trên đường cao tốc, tôi không thể xác định rằng tôi đang ở trên đường cao tốc chỉ với hai điểm cuối. Tôi đã suy nghĩ về việc lưu trữ các nút trung gian giữa các điểm cuối nhưng điều đó sẽ rất tốn kém để tạo ra, tôi nghĩ vậy. Ngoài ra, việc xác định điểm cuối của các con đường (giống như phân chia T) rất có thể không dễ dàng như tôi cần để biết liệu tôi có cần lưu trữ điểm giữa ở đầu phân chia T đó hay không.
Vì vậy, xem là dễ dàng sử dụng gạch hình ảnh; nhưng tôi không thể tìm thấy một cách dễ dàng để thực hiện định tuyến và tìm vị trí GPS, tôi nên xem xét loại kỹ thuật lưu trữ nào? Tôi thấy hơi bất tiện khi một 80 MB
tệp biến thành cơ sở dữ liệu 592 MB
, tôi muốn giảm kích thước đó càng nhiều càng tốt ...
Tôi có thể làm gì để làm điều này hiệu quả nhất có thể? Về mặt đĩa và CPU. Tôi đang nhắm mục tiêu một WP7 ...