簡體   English   中英

檢查“開放街道地圖”中的對象是否為建築物

[英]Checking if object in Open Street Maps is a building

我在ReactJS應用程序中使用Leaflet庫,我想知道是否有一種簡單的方法來識別用戶單擊的對象是否是建築物。 我想到的想法是檢查單擊位置下的地圖顏色。 是否有意義? 我感謝您的幫助。

建議有意見的同事給出一些用例:

我正在開發的App旨在標記形狀不好的古建築,因此城市建築管理人員可以更輕松地進行搜索。 該應用程序的每個用戶都可以標記此類建築物。 為了防止流氓破壞帶有地圖上毫無意義的點的數據,如果點擊的點是建築物,我想首先進行驗證。

我希望它可以使問題有所澄清。

我想知道是否有一種簡單的方法來識別用戶單擊的對象是否是建築物。

沒有。

基本上,您想對OSM的構建數據集運行任意的多邊形點查詢,並且我假設您不想自己托管該數據集。

最簡單方法是執行對Overpass API服務器的查詢,傳遞is_in查詢並通過building標簽鍵進行 過濾 OSM網站的查詢功能使用這種技術

使用這種技術,您不必擔心托管數據,只需要創建正確的Overpass API查詢即可。 請記住,Overpass API服務器由志願者運行,並且其資源有限

第二種最簡單的方法是下載感興趣區域的OSM摘錄,然后通過自己喜歡的任何方式(PostGIS的ST_Intersect ,turf.js等)自行運行多邊形點查詢。

如果要使用Leaflet,另一種方法是使用vector tile ,並以建築物主題層為交互式的方式進行設置。 這將要求您注意矢量切片服務器的限制。

我想到的想法是檢查單擊位置下的地圖顏色。

那是不可靠的。 考慮一下建築物頂部的標簽,建築物區域邊緣的顏色或不使用標准顏色渲染的建築物(例如禮拜場所,古跡)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM