すべての郡(米国内)とその境界がSRIDとMULTIPOLYGONで定義されたCSV形式のデータベースがあります。与えられた座標(小数点の緯度と経度)を決定するにはどうすればよいのですか。 MySQLを使用してデータを保存し、クエリを実行する予定です。座標が多角形の中にあるかどうかを確認するにはどうすればよいですか?
答えて
が役に立ちます。
シェイプが数多く複雑な場合は、空間データベースを使用することをお勧めします。 PostGISは無料で、MySQLが行うほとんどのプラットフォーム上で動作します。空間データベースには、ポリゴンを格納するための空間データ型、ポイントがポリゴンにあるかどうかをデータベースに照会する空間クエリ、およびすべてを合理的に効率化する空間インデックスがあります。
OTOHの場合、非常に単純なポリゴンの数がごくわずかである場合は、通常のデータベースで管理できます。私はこれを一度やった。私のアプローチ:
ポリゴンテーブルがあります。各ポリゴンレコードには、プライマリキー、各ポリゴンに格納する必要のある情報、ポリゴンの境界ボックス(最大値と最小値のx値とy値)が含まれています。
ポリゴンのポイントは、ポリゴンの子であるポイントテーブルに格納されます。各ポイントレコードには、メンバーであるポリゴンの主キー、シーケンス番号、x値とy値が含まれます。
ポイントを含む可能性のあるポリゴンを検索するには、ポリゴンテーブルを照会して、そのポイントを含む可能性のあるポリゴン、つまりポイントが境界ボックス内にあるポリゴンを探します。これらの候補ポリゴンはメモリに読み込まれ、それぞれがポイントを含むかどうかがチェックされます。
多くのアルゴリズムがあります。 http://en.wikipedia.org/wiki/Point_in_polygon
私はレイキャスティング法を使用しました。これは単純なので、レイキャスティング法を使用しました。点から無限に任意の方向に線を引いて、傍受する線分の数を数えます。奇数を交差すると、あなたのポイントはポリゴンの内側にあります。
のPostGISとPostgresはより成熟した地理データベースであり、あなたは選択肢を持っている場合、私はそれを使用したいが、mysqlの
http://dev.mysql.com/tech-resources/articles/4.1/gis-with-mysql.html
のための地理の拡張機能を試してみてください。
- 1. 座標系で緯度の長い座標が有効かどうかを確認するにはどうすればよいですか?
- 2. 座標が現在表示されているマップ領域にあるかどうかを確認するにはどうすればよいですか?
- 3. 正方形の座標を円の座標に変換するにはどうすればよいですか?
- 4. このpygameプログラムで各四角形のマウスクリックが長方形内にあるかどうかを確認するにはどうすればよいですか?
- 5. アプリケーションの上に四角形を描画し、四角形の座標/サイズを取得し、四角形の下のイメージが変更されているかどうかを確認するにはどうすればよいですか?
- 6. 現在の座標が他の座標の半径内にあるかどうかを確認する方法
- 7. XとY座標がボタンの中にあるかどうかを確認するには?
- 8. 座標がセクタ内にあるかどうかを確認します。
- 9. コンピュータにWiFiアダプタがあるかどうかを確認するにはどうすればよいですか?
- 10. Android:アクティビティにオプションメニューがあるかどうかを確認するにはどうすればよいですか?
- 11. アプリがバックグラウンドにあるかどうかを確認するにはどうすればよいですか?
- 12. EditTextに値があるかどうかを確認するにはどうすればよいですか?
- 13. Androidアプリにメモリリークがあるかどうかを確認するにはどうすればよいですか?
- 14. Facebookのタイムラインがあるかどうかを確認するにはどうすればよいですか?
- 15. Scala - オブジェクトがスレッドセーフであるかどうかを確認するにはどうすればよいですか?
- 16. フォームがヘルプモードであるかどうかを確認するにはどうすればよいですか?
- 17. アンドロイドアプリがハイブリッドアプリであるかどうかを確認するにはどうすればよいですか?
- 18. Java - シーンがフルスクリーンモードであるかどうかを確認するにはどうすればよいですか?
- 19. ジェネリックメソッドパラメータが値型であるかどうかを確認するにはどうすればよいですか?
- 20. オブジェクトがコレクションであるかどうかを確認するにはどうすればよいですか? (スウィフト)
- 21. ウィンドウがオフスクリーンであるかどうかを確認するにはどうすればよいですか?
- 22. ファイルが空であるかどうかを確認するにはどうすればよいですか?
- 23. URLが画像であるかどうかを確認するにはどうすればよいですか?
- 24. TextFieldが整数であるかどうかを確認するにはどうすればよいですか?
- 25. オブジェクトが「空」であるかどうかを確認するにはどうすればよいですか?
- 26. テキストエリアが空であるかどうかを確認するにはどうすればよいですか?
- 27. メモリリークがあるかどうかを確認するにはどうすればよいですか?
- 28. ポイントがJavaの座標のセットにあるかどうかを確認
- 29. pdfページにブックマークがあるかどうかを確認するにはどうすればいいですか?
- 30. 要素にクリックハンドラがあるかどうかを確認するにはどうすればいいですか?