Tôi thấy cả hai biến thể mọi người sử dụng ... Chỉ cần không biết là nổi không đủ cho iOS5?Lưu trữ tọa độ từ Vị trí cốt lõi trong Dữ liệu chính. Nổi hoặc đôi?
Trả lời
Một phao 32 bit chứa 7 chữ số chính xác, đôi 64 bit chứa 15 chữ số chính xác.
Với 7 chữ số chính xác, kinh độ tối đa 179,9999 chỉ chính xác xuống còn 0,0001 độ. Một mức độ là khoảng 60 hải lý để 0,0001 độ là khoảng 10 mét (33 feet). Nếu bạn muốn lưu trữ các giá trị vĩ độ/vĩ độ chính xác hơn, thì bạn cần phải sử dụng một số nguyên kép (hoặc một số nguyên cố định).
Những ngày này không quan trọng lắm.
Một đôi chỉ là một khe giá trị nổi có thể giữ độ chính xác gấp hai lần như một phao tiêu chuẩn. Trừ khi bạn buộc nó sử dụng một phao, trình biên dịch Objective-c sẽ thực sự lưu trữ tất cả các giá trị float dưới dạng double.
Nổi và tăng gấp đôi chủ yếu là giữ nguyên từ những ngày cũ khi bộ nhớ siêu chặt. Những ngày này, bạn thường chỉ thấy chúng khác nhau khi nói đến định dạng chuỗi. Nó giống với các kích cỡ khác nhau của int. Tất cả các kích cỡ được lưu trữ trong kích thước lớn nhất có sẵn, trừ khi bạn buộc trình biên dịch để làm khác.
Đối với trả lời đó chính xác bạn có khi sử dụng phao hoặc gấp đôi tôi đã đưa ra câu trả lời này:
chính xác Trường hợp xấu nhất khi lưu trữ số như số thập phân cho E/W và N/S:
- phao: 1.6955566 mét
- đôi: 3.1582203519064933E-9 mét. (Tức là 3 nm)
Bạn có thể làm các tính toán cho mình bằng cách chạy này trong Java:
public class Main {
public static void main(String[] args) {
System.out.println(Math.ulp((float) 180) * 60 * 1852);
System.out.println(Math.ulp((double) 180) * 60 * 1852);
}
}
Tôi biết đây là một chủ đề cũ nhưng tôi tìm thấy nó trong khi tìm kiếm các vấn đề. Float có lẽ là đủ cho hầu hết các ứng dụng. GPS của thiết bị Apple được đề cập có lẽ không có độ chính xác cao hơn. Nhưng nó dễ dàng hơn để lưu trữ gấp đôi miễn là dữ liệu không phải là một mối quan tâm.
Gần đây, tôi nghĩ rằng nó chỉ là dễ dàng hơn để lưu trữ phối hợp trong Core Data như NSValue
trong thuộc tính năng biến:
[NSValue valueWithMKCoordinate:coordinate]
- 1. Lưu trữ NSArray trong mã mẫu dữ liệu cốt lõi?
- 2. Dữ liệu cốt lõi - Lưu trữ hình ảnh (iPhone)
- 3. Xử lý các cập nhật vị trí nền và bảo vệ tệp Dữ liệu cốt lõi
- 4. Làm cách nào để Dữ liệu cốt lõi có thể lưu trữ NSData?
- 5. Tôi có nên lưu trữ dữ liệu cốt lõi hay không?
- 6. dữ liệu cốt lõi - id khóa chính của một hàng trong cơ sở dữ liệu
- 7. Dữ liệu cốt lõi VS Sqlite hoặc FMDB ....?
- 8. Dữ liệu cốt lõi và NSOperation
- 9. Dữ liệu cốt lõi với MagicalRecord không lưu vào iCloud
- 10. Dữ liệu cốt lõi: Truy vấn đối tượngID trong một vị từ?
- 11. NSCoding VS Dữ liệu cốt lõi
- 12. Dữ liệu cốt lõi không thống nhất - tìm nạp đôi khi không trả lại gì cả
- 13. Hộp kiểm "Sử dụng dữ liệu cốt lõi để lưu trữ"
- 14. Lưu trữ tối đa dữ liệu lõi iPhone
- 15. Dữ liệu cốt lõi: Cách thiết kế cấu trúc dữ liệu cây từ một mục dữ liệu chính
- 16. Vị trí dữ liệu chính với ngày
- 17. Di chuyển dữ liệu lõi: Cách xóa ngăn xếp Dữ liệu cốt lõi?
- 18. Dữ liệu cốt lõi tùy chỉnh SectionNameKeyPath
- 19. Tư vấn lưu trữ dữ liệu cần thiết: Cách tốt nhất để lưu trữ dữ liệu vị trí + thời gian?
- 20. Cách xem dữ liệu hiện có trong Dữ liệu chính?
- 21. Dữ liệu cốt lõi - Lấy mẫu đơn giản JOIN
- 22. Mới vào Dữ liệu cốt lõi cho iphone
- 23. Dữ liệu cốt lõi có áp đặt giới hạn về độ dài của chuỗi không?
- 24. Vị trí được đề xuất để lưu trữ tài liệu - trong cơ sở dữ liệu hoặc ở nơi khác?
- 25. "Dữ liệu cốt lõi không thể hoàn thành lỗi .." lỗi
- 26. Lưu NSMutableArray vào Dữ liệu Chính
- 27. So sánh ngày so sánh dữ liệu cốt lõi
- 28. Xóa một đối tượng trong dữ liệu cốt lõi
- 29. Dữ liệu chính "không sao lưu" cờ
- 30. Bộ đặt hàng và dữ liệu cốt lõi (NSOrderedSet)
Tôi chỉ nhận ra rằng tôi cũng cần phải thực hiện pythagoras với lỗi lớn nhất trong hướng khác nữa. Vì vậy, một chút tồi tệ hơn. :) – Gussoh