[Qgis-user] How to determine the inner surface on a sphere or ellipsoid
Richard Duivenvoorde
rdmailings at duif.net
Tue Jun 16 09:10:22 PDT 2020
On 6/16/20 4:17 PM, Tudorache, Marian wrote:
> Hi everyone,
>
> I have a list of polygons given by a list of points.
> The polygons are properly drawn on QGIS canvas by creating the geometries, the each geometry is used to create a Qgsfeature which are saved on a shapefile.
> The problem appears in detecting if a point on the Earth is inside or outside the polygon.
> Using pyqgis QgsGeometry intersects function returns proper value.
> However when I export the polygon to intermaphics from Kongsberg Geospatial (former Gallium) sometime the point is inside other time is outside the polygon.
> I tried to switch the order of the points is QGIS ,but the intersects function always give me the same result regardless of the order of the points.
> In intermaphics the intersection between a polygon and a point varies with the order of the points which define a polygon.
> I talked to people from gallium and they confirmed the order of the points is important.
> In one direction a inner area of the polygon is the small surface and if I switch the order the inner area is the outside and it wraps the Earth on the opposite side.
>
> Does QGIS or pyqgis has a similar mechanism to determine which is the inner part of the polygon on a sphere or ellipsoid?
Hi Marian,
are'nt we here talking about the so called Right Hand Rule?
https://postgis.net/docs/ST_ForceRHR.html
says:
In particular, the exterior ring is orientated in a clockwise direction
and the interior rings in a counter-clockwise direction.
QGIS has this also:
https://github.com/qgis/QGIS/blob/master/src/core/geometry/qgsgeometry.cpp#L2651
With pyqgis you can als use forceRHR:
https://qgis.org/pyqgis/3.12/core/QgsGeometry.html?highlight=qgsgeometry#qgis.core.QgsGeometry.forceRHR
I do know that QGIS is not so good when a geometry crosses the
world-dateline though... but I do not think that is your case is it?
Or do I misunderstand you question?
Regards,
Richard Duivenvoorde
More information about the Qgis-user
mailing list