Batıya bakan tüm plajlar için OSM sorgula? - QGIS tercih edildi


17

Bu gezegendeki (veya belirli bir alt kümesinin) batıya bakan (+/- 20-30 derece) tüm plajlarını tanımlamak istiyorum.

Benim fikrim OSM'yi veri kaynağı olarak kullanmak. "Natural = beach" etiketine sahip tüm çokgenleri ayıklamak bana plajlar olarak işaretlenen tüm alanların veri kümesini / şekil dosyasını verir. Çok uzak çok iyi.

Ayrıca, plajların yüzeyini belirlemek için kıyı şeridi verilerini (örneğin OSM veya Natural Earth'ten) kullanabileceğimi de biliyorum.

Küçük uyumsuzlukları düzeltmek için plaj biçimlerini tamponlamak ve bunları sahil şeridi ile kesiştirmek bana şeklin hangi tarafının suya doğru baktığına dair veri sağlamalıdır. Tüm kesişen noktaların maksimum / dakika değerlerini kullanmak bana yatak hakkında bir fikir vermelidir. (90 derece +/- 20-30 derece iyi olur ...)

Ve işte burada kayboldum ...

Tercih ettiğim araç QGIS, ancak PostGIS de iyi olurdu.

Bu bulmacanın nasıl çözüleceğine dair akıllıca bir fikri olan var mı?


4
Tampon kullanmak yerine .. Şekil dosyanızdaki tüm eşyaları biraz doğuya doğru nasıl değiştireceğinizi anlamak daha kolay olmaz, daha sonra kıyı şeridi şekil dosyası ile plajlar şekil dosyası arasında bir Kesişim gerçekleştirin mi? Sadece plajların batıya baktığı yerde üst üste binecekler.
Tim Couwelier

Tim - güzel fikir. Gerçekten "garip" geometriler için çalışacağından emin değilim. Başka bir fikir aldım: kıyı şeridini çizgi olarak alın ve çimde v.net kullanarak plaj çokgenlerinin sentroidi, sentroidi en yakın hatta (veya postgis'te) yapıştırın. şimdi yönü temsil eden bir çizginiz var. trig kullanarak çizgiyi sentroidin başlangıç ​​noktasından bitiş noktasına kadar hesaplayın. Her ne kadar güzel QGIS tamamen "içinde" değildir. Başka akıllı fikirler var mı?
jdoe

Kıyı şeridini bir dizi nokta verisine ve plaj sentroidlerine de dönüştürmenin bir yolunu bulabilirseniz, burada açıklandığı gibi En Yakın Komşu Analizini deneyebilirsiniz: link Örnekte gösterildiği gibi niteliklere katılmak yerine x, Eşleşen iki veri kümesi için y değerleri. alan hesap makinesini kullanarak, sentroid ve en yakın nokta için x ve y değerleri arasındaki bağıl farkları bulabilirsiniz. X-farkının işaretine dayanarak batı ya da doğu olduğunu bilirsiniz ve diff (y) / diff (x) oranının ne kadar batı olduğunu bilirsiniz.
Tim Couwelier

Karakterlerden kaçtığım göz önüne alındığında, işte gidiyor: eğer centroidler x değeri> sahil şeridi noktası x değeri ise, plaj batıya bakmaktadır. bu ikisinin x ve y koordinatları, açıyı y eksenine göre hesaplamanızı sağlar: (y2-y1) / (x2-x1), dereceye geri dönüştürebileceğiniz çizginin eğimini verir
Tim Couwelier

5
Verilerinizi rasterleştirebilir, açık su değerlerini sıfır ve plajları 1 olarak ayarlayabilir, ardından Arazi Analizi-> En Boy Oranı aracını çalıştırabilirsiniz. Aşağı doğru eğim yönünde bir raster alır ve yeterince "batı" olan hücreleri seçebilirsin.
WxMacMan

Yanıtlar:


1

ArcGIS Online'daki yükseltme hizmeti, dünya çapında kullanıma hazır verileri ve ayrıca en boy oranı oluşturmak için yerleşik bir raster işlevini içerir. Aynı zamanda, bir dizi en-boy değeri (290-250 derece) ve yükseklik (aynı zamanda bir plajı nasıl tanımladığınıza bağlı olarak 0 ila 10 metre - veya belki de zaten plajları tanımlamışsınız) için aynı anda filtrelemek oldukça basittir. ArcGIS teknolojisini kullanmaya açık olup olmadığınızı bilmiyorum - evet ise, size bazı örnek REST istekleri gönderebilirim.

Ekli png yükseklik için düzgün bir şekilde filtrelenmez, ancak kavramı gösterir ...resim açıklamasını buraya girin

Cody B.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.