我不太清楚从哪里开始。我刚刚开始在过去的一周里开始研究这个问题,但希望有人可以帮助我指出正确的方向。
我的项目的目标是能够进行geohash,将其解码为纬度和经度,针对某些GIS数据检查点,并找出有关该点的一些信息,例如地形(这是一个体水?一个湖?一个海洋?这是一个山区吗?这是一个领域?),海拔高度还是其他有用的东西。然后只需将该信息显示为启动器即可。
到目前为止我收集到的是我需要获得一些免费的GIS数据(这是针对学校的,所以我没有钱!)。我想有世界数据,我在网上发现了一些(http://www.webgis.com/terraindata.html),但我不知道从哪里开始。我看到一些工具,如PostGIS作为数据库。
我目前正在将Java用于项目的其他部分,所以如果可能的话,我想坚持使用Java。
有人可以帮助我,或指出我正确的方向吗?
答案 0 :(得分:3)
开始看PostGIS;它碰巧在C中,但由mostly Java guys开发,并支持好的(免费)Java工具,例如uDig。
关于地理空间基础:这里有一些我认为你需要开始的感受的互动的例子。
您从数据源开始,比如美国的免费TIGERLINE人口普查数据。使用GDAL格式化数据库的数据;通常,您可以将shapefile,kml等直接导入到具有一些元数据(地名等)和空间启用密钥geometry column的表中。在这里,我真的推荐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)
记下数字4269,即几何的SRID。
现在说你有一个观点,例如-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
默塞德湖是旧金山的一个地方我一直走过去 - 它有点像潮汐沼泽所以也许人口普查局认为它是太平洋的一部分 - 有趣的是,我不知道!希望这有助于您入门。
答案 1 :(得分:0)
查看SRTM数据集。有各种版本的各种精度(和大小)。你以原始格式获得数据,你必须自己解释,但这并不难。这是非常好的记录。