2010-09-18 17 views

Odpowiedz

2

Głównym problemem jest przechowywanie i wyszukiwanie danych. Jeśli używasz bazy danych SQL, która nie obsługuje indeksów przestrzennych (powiedzmy SQLite na Androidzie), rozważ konwersję danych przestrzennych na krzywą liniową Z-order. Algorytm jest prosty, wiem o (dobrze, napisałem) implementacji this.

+0

To świetny kod Thomas, chapeau! –

+0

Wykonywanie zapytań dotyczących najbliższego sąsiada na dużej bazie danych nie wydaje się być dobrą rzeczą do zrobienia bezpośrednio na Androidzie. Serwer bazy danych jest po to, aby w pierwszej kolejności wykonać takie podnoszenie ciężarów. –

+1

@Tim Zgadzam się Z-order nie jest tak wspaniały dla dużej bazy danych. Przy okazji, od czasu mojej odpowiedzi w 2010 r., Zaimplementowałem [R-Tree] (http://h2database.com/html/mvstore.html#r_tree), które powinno umożliwić wydajne zapytania najbliższego sąsiada (po zaimplementowaniu) i powinien również działać na Androidzie. Ale nie korzysta z SQLite. –

Powiązane problemy