我是地理問題的新手,需要了解如何使用PostGIS。 我通過osmosis將OpenStreetMap數據導入到PgSQL中,我需要查詢這些數據。PostGIS OSM查詢
基本上我從GPS的位置,我需要得到的所有節點,方式和區域的標籤,至少從我的一些距離(可以說100米)的一部分。
我真的不知道從哪裏開始。
謝謝。
我是地理問題的新手,需要了解如何使用PostGIS。 我通過osmosis將OpenStreetMap數據導入到PgSQL中,我需要查詢這些數據。PostGIS OSM查詢
基本上我從GPS的位置,我需要得到的所有節點,方式和區域的標籤,至少從我的一些距離(可以說100米)的一部分。
我真的不知道從哪裏開始。
謝謝。
如果你有一個緯度和經度,你可以嘗試像以下:
select * from nodes_with_tags
where st_distance(geography(geom),
geography(st_geomfromewkt('SRID=4326;POINT(' || lng || ' ' || lat || ')')))
<= 100;
與「地理」功能轉換會減慢速度,但給出米的距離,而不是不知所云度。
您還可以在'ways'表上執行相同的查詢,用ways.linestring列替換'geom'列。
檢查此鏈接:LINK
它與ZIP代碼,但如果你熟悉SQL,你可以很容易地改變它。 注意:如果您使用大型數據庫,則還應該使用邊界框(請參閱Box3D函數)......它有助於減少查詢時間。
我需要問一個問題。可以說我在1公里的森林廣場的中心,我只能在100米的距離看到,所以我沒有看到任何森林節點。這也會覆蓋這種情況嗎? – user978734