2015-08-23 16 views
0

我有一個〜300選區(〜10MB - 45MB,取決於文件格式 - GML/KML/SHAPE/JSON)的數據集。我希望建立一個移動應用程序(iOS/Android/Windows Phone),根據當前的經緯度確定用戶所在的選區。.net多平臺的地理/空間Interesect檢測

我最初的計劃是建立一個Azure webservice並使用SQL Server或DocumentDB的空間功能來提供答案。但選區是相當靜態的,所以如果我能在設備上做到這一點,它可能會更好。

我想我可能會使用Xamarin.Forms來構建我的應用程序,因爲UI不需要那麼複雜(我不需要繪製地圖或選區)。

我看到,EF6似乎有空間功能,可以工作,但我發現有衝突的信息是否可以與Xamarin.Forms一起使用,或者性能是否合理。

什麼是最好的(最快/最簡單的)庫/類我可以用來確定Xamarin.Forms應用程序中的本地選區?

回答

0

我無法找到一個庫/類,但似乎我可以自己編寫一個解決方案,不費吹灰之力。我發現這個鏈接:http://www.codeproject.com/Tips/84226/Is-a-Point-inside-a-Polygon。我第一次看它時,我不太明白,但現在它是有道理的。

我的計劃是將本地選區(多邊形)存儲在SQLite中。但是,我還會在每個多邊形的最小/最大緯度/經度上包含4列。這給了我每個多邊形的最小邊界矩形,並且將作爲一種原始的空間索引來快速識別可能的選區的一小部分。從那裏我可以使用CodeProject上找到的算法來確認哪個選區是正確的。

+0

這裏是一個有關向SQLite中添加地理功能的問題 - http://stackoverflow.com/questions/13326817/custom-functions-sqlite-with-mono – Jason