Tôi đã đoạn mã sau đây mà dường như được làm việc tốt:Android GPS Tọa độ rải rác
// GPS Reader // Criteria Criteria criteria = new Criteria(); //criteria.setAccuracy(Criteria.ACCURACY_COARSE); // Used when we can't get a GPS Fix criteria.setAccuracy(Criteria.ACCURACY_FINE); // Used when we can get a GPS Fix criteria.setAltitudeRequired(false); criteria.setBearingRequired(false); criteria.setCostAllowed(true); criteria.setPowerRequirement(Criteria.POWER_LOW); LocationListener locationListener = new MyLocationListener(); LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); lm.requestLocationUpdates(lm.getBestProvider(criteria, true), 0, 0, locationListener);
Tuy nhiên, khi tôi vẽ đồ thị dữ liệu tôi đã thu thập được trên Google maps, tọa độ GPS rất rải rác trong một số trường hợp, hoặc nó sẽ được đi dọc theo một con đường tôi đi bộ chỉ tìm thấy và sau đó tất cả các bước đột ngột đến một điểm một dặm và sau đó trở lại. Có cách nào để sửa lỗi này không? Một số loại kiểm tra độ chính xác tôi đoán?
Cập nhật:
Về cơ bản vấn đề của tôi trông như thế này là một ví dụ - GPS Jitter
Cập nhật 2:
tôi coi không làm cho một tiền thưởng nhưng tôi figured tôi có thể cũng có được một sự hiểu biết đầy đủ về những gì đang xảy ra ở đây, và xem có lẽ cách tiếp cận của tôi là hơn giết. Tôi vẫn còn có cùng một vấn đề mà tọa độ của tôi có jitter trong họ mặc dù thực tế là tôi có độ chính xác của 3m, vv Bây giờ điều này có thể là vệ tinh có sẵn, vv Tôi không biết, nhưng về cơ bản tôi đang cố gắng để hiểu làm thế nào là tất cả các ứng dụng khác, đặc biệt là các ứng dụng tập thể dục, có thể nhận được các bài đọc trơn tru như vậy trong cùng hoàn cảnh.
Tôi đã ở trên Quora và có thể tìm thấy điều này Does any running app have a feature of filtering GPS data to get more accurate tracking? Thật không may là nó không cung cấp thông tin chi tiết về vấn đề của tôi, ngoại trừ bạn có thể sử dụng bộ lọc Kalman nếu muốn, nhưng chắc chắn phải có ít phương tiện phức tạp hơn nghi ngờ hầu hết các ứng dụng hiện có đang thực hiện điều này.
Dù sao nếu một nhà phát triển đồng nghiệp muốn chia sẻ những gì họ đang làm với một số mã giả sẽ được đánh giá cao. Ý tôi là nếu tôi bị mắc kẹt với Kalman, nhưng tôi chắc chắn phải có các thuật toán thực hiện dễ dàng hơn, và hy vọng sẽ học được những thuật toán đó và cách thực hiện chúng, điều đó phù hợp.
Bối cảnh: Đây là ứng dụng dành cho người đi bộ trên thiết bị di động.
liên quan SO Câu hỏi Tôi đã cố gắng để thu thập thông tin từ Create a smooth curve from a series of GPS coordinates Smooth gps data: Đây là một khởi đầu tốt, mặc dù tôi không chắc chắn những gì giả tôi sẽ cần phải thực hiện để có được đúng Least squares Fit để làm việc một cách thích hợp để rằng tôi sẽ có một dữ liệu GPS splines mà sau đó tôi có thể xem trên một cái gì đó như bản đồ google để xác nhận tôi đã làm nó một cách chính xác. Tôi nghĩ vấn đề là nếu đây là dữ liệu chung của X và Y mà tôi đã xử lý và không phải là tọa độ của GEO, tôi có thể viết một thứ gì đó trong bài kiểm tra MATLAB và tiếp tục.
Cập nhật 3
Một hình ảnh của messed up dữ liệu GPS Tôi recieving https://www.dropbox.com/s/ilsf8snao2no65e/gpsdata2.png
Mã https://gist.github.com/4505688
Yêu cầu về quyền lực và độ chính xác của bạn dường như mâu thuẫn với nhau. Nhà cung cấp duy nhất cung cấp cho bạn kết quả với ACCURACY_FINE là LocationManager.GPS_PROVIDER. Tại sao bạn không sử dụng nó trực tiếp thay vì tạo một số loại tiêu chí như thế này: locationManager.requestLocationUpdates (LocationManager.GPS_PROVIDER, 0, 0, MyLocationListener)? –
Ngoài ra, nó có thể bị phân tán vì thiết bị không ở dưới bầu trời mở/các lý do khác dẫn đến việc tiếp nhận khắc phục bị trì hoãn. –
Được rồi tôi sẽ trở lại với điều đó - vì ban đầu tôi đã thiết lập nhưng nghĩ rằng Tiêu chí sẽ làm tốt hơn và thử lại vào ngày mai. Trên ghi chú của bầu trời mở - Tôi đang ở trong một khu vực bầu trời mở, khi chạy thử nghiệm - nhưng khi tôi chạy một chương trình như mapmywalk không có tán xạ. – eWizardII