我有一个顶点为3.n的简单的二维多边形。我需要在这个多边形的内部(而不是边界上)找到一个任意点。我怎么才能找到呢?对于凸多边形来说,这个问题很简单:只需取三个相邻的点,这些点不在同一条线上(因此它们正在形成一个三角形)。这个三角形的中点保证位于多边形内。但是这种方法不适用于非凸多边形。
class Point
{
public double X, Y;
}
Point GetPointInPolygon(Point[] polygon)
{
.....
}
我需要在多边形MySQL查询中指出一点。
我已经找到了这两个很好的解决方案:
但是这些函数只能检查一个点是否在多边形内。我有一个查询,其中PiP部件只应该是查询的一部分,并检查多边形内的x点。
就像这样:
$points = list/array/whatever of points in language of favour
SELECT d.name
FROM data AS d
WHERE d.name LIKE %red%
// just bla bla
// how to do this ?
AND $points INSIDE d.polygon
AND myWithin(
最近我遇到了一个小问题,那就是:多边形边的点在多边形内吗?
我的意思是--目前我正试图在JS中实现,以满足自定义需求,还有一些方法,比如polygon.contains(point)。
所以我的问题是,当点位于多边形的边缘之一时,结果是点在多边形的内部还是外部?关于顶点的附加问题:如果点是在多边形顶点的顶部--它是在内部还是外部?
我使用的Algo是从中提取的,如下所示:
int pnpoly(int nvert, float *vertx, float *verty, float testx, float testy)
{
int i, j, c = 0;
for (i =
我正在使用Bigquery中的openstreetmap数据集,我创建了一个返回如下列表的查询
下面是我使用的查询
SELECT
ar.key,
ar.value,
osm_id,
osm_way_id,
ST_CENTROID(geometry) AS center_location
FROM
`bigquery-public-data.geo_openstreetmap.planet_features`,
UNNEST(all_tags) AS ar
WHERE
('amenity') in (
SELECT
(key)
FRO