查询OSM以了解面向西的所有海滩?-首选QGIS


17

我想确定这个星球(或其给定子集)上所有向西(+/- 20-30度)的海滩。

我的想法是使用OSM作为数据源。提取所有带有标签“ natural = beach”的多边形,可以为我提供标记为海滩的所有区域的数据集/ shapefile。到目前为止,一切都很好。

我也知道我可以使用海岸线数据(例如,来自OSM或Natural Earth的数据)来识别海滩的朝向。

缓冲海滩形状以校正较小的不匹配,并将其与海岸线相交,应为我提供有关形状朝向水的一侧的数据。使用所有相交点的最大/最小值应该使我对方位有一个了解。(90度+/- 20-30度就可以了...)

那就是我迷路的地方...

我首选的工具是QGIS,但PostGIS也可以。

周围有人有聪明的主意如何解决这个难题吗?


4
而不是使用缓冲区。难道不是很容易弄清楚如何将shapefile中的所有项目向东移动一点,然后在海岸线shapefile和海滩shapefile之间运行相交吗?它们只会在海滩朝西的地方重叠。
Tim Couwelier 2014年

蒂姆-好主意。不确定它是否真的适用于“奇怪”的几何形状。我收到了另一个想法:将草丛中的v.net用作海岸线和海滩多边形的质心,将质心捕捉到最近的线(或在postgis中)。现在您有一条线代表方向。使用trig计算从质心的起点到直线终点的方位。尽管不错,但它并不完全在QGIS内部。还有更聪明的主意吗?
jdoe 2014年

如果您可以找到一种将海岸线转化为一系列点数据和海滩质心的方法,则可以按以下说明尝试“最近邻分析”:link而不是像示例中那样连接属性,请确保有x,匹配的两个数据集的y值。使用字段计算器,您可以找到质心和最接近点的x和y值之间的相对差。根据x差的符号,您可以知道它是西边还是东边,并基于diff(y)/ diff(x)的西边比率。
Tim Couwelier 2014年

假设我用完了一些字符,那就去了:如果质心x值>海岸线点x值,则海滩朝西。两者的x和y坐标可以让您计算相对于y轴的角度:(y2-y1)/(x2-x1)为您提供直线的倾斜度,您可以将其转换回度数
Tim Couwelier

5
您可以栅格化数据,将开阔水域的值设置为零,将海滩设置为1,然后运行Terrain Analysis-> Aspect工具。您将获得向下倾斜方向的栅格,并能够选择足够“西移”的像元。
WxMacMan 2014年

Answers:


1

ArcGIS Online上的高程服务包括随时可以使用的全球数据,以及内置的栅格功能来生成纵横比。同时对一系列纵横比值(290-250度)以及高程(例如0到10米,这取决于您如何定义海滩-也许您已经划定了海滩?)进行过滤也非常简单。我不知道您是否愿意使用ArcGIS技术-如果可以,我可以向您发送一些示例REST请求。

附件中的png未正确过滤高程,但显示了概念...在此处输入图片说明

科迪B.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.