2010-12-17 9 views
1

imは座標のkmlファイルを取り込む小さなアンドロイドアプリを計画して構築しようとしていますが、これらの座標はlineStringとしてグループ化されていて、私が道路上の線としてマークされたこれらの座標のセット内にいる場合、ユーザーが移動するときにアプリケーションを構築しようとしています。アラートが表示され、1つのkmlファイル内に数千もの行があります。警告が表示されますが、プログラムの開始時にこれらのすべての座標を解析するという私のアプローチでは、ユーザーが近くにいるかどうかを常に確認していますか?この方法は効率的ではないように見えますが、私が始める前にどんなアイデアも素晴らしいでしょう。Android近接警告、kmlファイルから

ex。
折れ線は cordinates 1座標 .......... 2など......... /cordinates /折れ線

多分これらの線の数千

多くのありがとう

答えて

1

あなたが定期的にユーザーの場所を確認していて、大きなリストと比較している場合は、非効率的(そしてCPU集約的)になることに同意します。

まずは私は前もって話し合い、他の誰も答えなかったように私は抽象的なコメント/アイデアを投げかけていると言います。私はKMLを使ったことがなく、あなたのようなことをするアプリを書いていないので、抽象的なコメントやアイデアを投げかけています。

LineStringsの範囲に関する詳細は教えてください(たとえば、中国の万里の長城など、長距離の線種はkmlファイルにはありません)。また、ユーザーがどのように移動している可能性が高いかについては説明しません(歩行、サイクリング、運転など)。

上記に基づいて、私は、kmlファイルでカバーされている地理的領域、ユーザーの開始位置、および輸送のモード(すなわち、それらがどれくらい可能性が高いかに基づいて、合計座標のサブセットを作成する作業を行います。所与の時間内に移動する)。

上記の問題はもちろん、経度または緯度を個別に照合することはできないため、ユーザーと実際の距離を使用してLineStringごとに定義されたポイントを使用してサブセットを設定する必要があります。効率を保ち(サブセットを可能な限り小さく保つ)には、ユーザーがさまざまな線種で定義されている座標から離れて移動する際に、サブセットを更新する必要があります。

ええ、実際には抽象的な抽象的で、おそらく助けにならないかもしれませんが、面倒な面白い問題でした。

+0

私はいくつかの良いアイデアをフィードバックしてくれてありがとうございます。私は近くにいるコーディネートの新しいサブセットを作成するアプローチが好きですが、kmlラインストリングは数マイル以上伸びないでしょう。 – user524156

+0

私は各線のポイントが500メートル離れていると思う、これは車で使用されるので、私は、ユーザーが追加ポイントに近づいているときに更新する特定のマイル半径の位置のサブセットを作成し、50マイル私はまだアンドロイドとGoogleマップとnoobの多くの研究を行う必要がありますが、私はすでにユーザーに現在の位置を与えるシンプルなGoogleマップのオーバーレイを作成し、マークされた場所に応じて近所の警告を許可します。 – user524156

関連する問題