PostGIS を見てみましょう。それはたまたま C で書かれていますが、それ以外はほとんどが Java の人によって開発されており、 uDigなどの優れた (無料の) Java ツールをサポートしています。
地理空間の基礎については、以下に、開始する必要があると感じた相互作用の例をいくつか示します。
データ ソースから始めます。たとえば、米国の無料のTIGERLINE国勢調査データです。GDALを使用して、データベースのデータをフォーマットします。通常、シェープファイル、kml などを、いくつかのメタデータ (地名など) と主要な空間的に有効なジオメトリ列を持つテーブルに直接パイプできます。ここでは PostGIS を強くお勧めします。私のラップトップには、そのような国勢調査から派生したテーブルがあります。これが、水域の例でどのように機能するかです。
pepe=> \d tl_2009_06075_areawater
Table "public.tl_2009_06075_areawater"
Column | Type |
----------+------------------------
gid | integer |
ansicode | character varying(8) |
hydroid | character varying(22) |
fullname | character varying(100) |
the_geom | geometry |
Indexes:
"tl_2009_06075_areawater_pkey" PRIMARY KEY, btree (gid)
Check constraints:
"enforce_srid_the_geom" CHECK (st_srid(the_geom) = 4269)
ジオメトリのSRIDである 4269 という数字に注意してください。
ここで、たとえば -122.492983 37.717753 (緯度経度であることに注意してください) などのポイントがあるとします。これは GPS 入力などによって与えられます。それはどの水域にあると考えられますか?:
pepe=> select fullname from tl_2009_06075_areawater
where the_geom &&
ST_GeomFromText('POINT(-122.492983 37.717753)', 4269);
fullname
---------------
Lk Merced
Pacific Ocean
マーセド湖は私がいつも通り過ぎるサンフランシスコの場所です - それは少し干潟なので、国勢調査局はそれを太平洋の一部と考えているのかもしれません - 興味深い、私はそれを知りませんでした! これが開始に役立つことを願っています。