Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
1997, Computers & Geosciences
Point-in-polygon is one of the fundamental operations of Geographic Information Systems. A number of algorithms can be applied. Different algorithms lead to different running efficiencies. In the study, the complexities of eight point-in-polygon algorithms were analyzed. General and specific examples are studied. In the general example, an unlimited number of nodes are assumed; whereas in the second example, eight nodes are specified. For convex polygons, the sum of area method, the sign of offset method, and the orientation method is well suited for a single point query. For possibly concave polygons, the ray intersection method and the swath method shod be seiected. For eight node polygons, the ray intersection method with bounding rectangles is faster.
Computers & Geosciences, 2009
The point-in-polygon or containment test is fundamental in computational geometry and is applied intensively in geographical information systems. When this test is repeated several times with the same polygon a data structure is necessary in order to reduce the linear time needed to obtain an inclusion result. In the literature different approaches, like grids or quadtrees, have been proposed for reducing the complexity of these algorithms. We propose a new data structure based on hierarchical subdivisions by means of tri-cones, which reduces the time necessary for this inclusion test. This data structure, named tri-tree, decomposes the whole space by means of tri-cones and classifies the edges of the polygon. For the inclusion test only the edges classified in one tri-cone are considered. The tri-tree has a set of properties which makes it specially suited to this aim, with a similar complexity to other data structures, but well suited to polygons which represent regions. We include a theoretical and practical study in which the new data structure is compared with classical ones, showing a significant improvement.
Arxiv preprint arXiv: …, 2008
The polygon retrieval problem on points is the problem of preprocessing a set of n points on the plane, so that given a polygon query, the subset of points lying inside it can be reported efficiently. It is of great interest in areas such as Computer Graphics, CAD applications, Spatial Databases and GIS developing tasks. In this paper we study the problem of canonical k-vertex polygon queries on the plane. A canonical k-vertex polygon query always meets the following specific property: a point retrieval query can be transformed into a linear number (with respect to the number of vertices) of point retrievals for orthogonal objects such as rectangles and triangles (throughout this work we call a triangle orthogonal iff two of its edges are axisparallel). We present two new algorithms for this problem. The first one requires O(n log 2 n) space and O(k log 3 n loglogn +A) query time. A simple modification scheme on first algorithm lead us to a second solution, which consumes O(n 2 ) space and O(k logn loglogn + A) query time, where A denotes the size of the answer and k is the number of vertices. The best previous solution for the general polygon retrieval problem uses O(n 2 ) space and answers a query in O(k log n + A) time, where k is the number of vertices. It is also very complicated and difficult to be implemented in a standard imperative programming language such as C or C++.
Algorithms for Point-in-polygon problem solution are very often used especially in computer graphics applications. The naive implementation has O(N) processing time complexity or O(lg N) complexity i f a c o n vex polygon is considered. A new algorithm of O(1) processing complexity w as developed. The important feature of the algorithm is that preprocessing complexity is O(N) and memory requirements depend on geometrical properties of the given polygon. Usage of the algorithm is expected in applications where many points are tested whether resides in the given polygon or not. The presented approach c a n b e considered as alternative to the parallel processing usage. Experimental results are included, too.
arXiv (Cornell University), 2023
In this work, we designed algorithms for the point in polygon problem based on the ray casting algorithm using equations from vector geometry. The algorithms were implemented using the python programming language. We tested the algorithm against the point in polygon algorithms used by the shapely (and by extension geopandas) library and the OpenCV library using points from the google Open Buildings project. Our algorithm in pure python performed much better than the shapely implementation. It also performed better than the OpenCV implementation when combined with the Numba optimization library. We also performed simulations to verify that our algorithm performance was of the order O(n).
2019
We study the following range searching problem: Preprocess a set P of n points in the plane with respect to a set O of k orientations for a constant, in the plane so that given an O-oriented convex polygon Q, the convex hull of P∩ Q can be computed efficiently, where an O-oriented polygon is a polygon whose edges have orientations in O. We present a data structure with O(nk^3log^2n) space and O(nk^3log^2n) construction time, and an O(h+slog^2 n)-time query algorithm for any query O-oriented convex s-gon Q, where h is the complexity of the convex hull. Also, we can compute the perimeter or area of the convex hull of P∩ Q in O(slog^2n) time using the data structure.
There are many space subdivision and space partitioning techniques used in many algorithms to speed up computations. They mostly rely on orthogonal space subdivision, resp. using hierarchical data structures, e.g. BSP trees, quadtrees, octrees, kd-trees, bounding volume hierarchies etc. However in some applications a non-orthogonal space subdivision can offer new ways for actual speed up. In the case of convex polygon in a simple Point-in-Polygon test is of the complexity and the optimal algorithm is of log computational complexity. In the case, the complexity is even for the convex polyhedron as no ordering is defined. New Point-in-Convex Polygon and Point-in-Convex Polyhedron algorithms are presented based on space subdivision in the preprocessing stage resulting to 1 run-time complexity. The presented approach is simple to implement. Due to the principle of duality, dual problems, e.g. line-convex polygon, line clipping, can be solved in a similarly.
Spatial region queries are more and more widely used in web-based applications. Mechanisms to provide efficient query processing over geospatial data are essential. However, due to the massive geospatial data volume, heavy geometric computation, and high access concurrency, it is difficult to get response in real time. Spatial indexes are usually used in this situation. In this paper, based on k-d tree, we introduce a distributed KD-Tree (DKD-Tree) suitbable for polygon data, and a two-step query algorithm. The spatial index construction is recursive and iterative, and the query is an in memory process. Both the index and query methods can be processed in parallel, and are implemented based on HDFS, Spark and Redis. Experiments on a large volume of Remote Sensing images metadata have been carried out, and the advantages of our method are investigated by comparing with spatial region queries executed on PostgreSQL and PostGIS. Results show that our approach not only greatly improves the efficiency of spatial region query, but also has good scalability, Moreover, the two-step spatial range query algorithm can also save cluster resources to support a large number of concurrent queries. Therefore, this method is very useful when building large geographic information systems.
BIT, 1967
The official statistics and census reports give figures only for administrative units. The boundaries of these units are often changed and hence it is very difficult to compare statistics from two different periods. However, an administrative unit can always be approximated by a polygon. Real estate data are assigned to a central point for which the coordinates are known. A computer can determine whether a point belongs to a polygon or not by means of a special program. Data for all real estate central points belonging to the actual polygon are added. ]In this way it will be possible to compute data for arbitrary polygons, for instance administrative units which do not exist any longer, by assigning real estate data to the central points.
2005
Abstract In this paper, we study the problem of finding the shortest path from a given source point in a simple polygon to some point visible from a given query point. We will present an algorithm based on the notion of funnels in simple polygons. The algorithm preprocesses the input containing a simple polygon and a source point to produce a data structure to answer the queries in logarithmic time. The time and space required for preprocessing is quadratic in size of the simple polygon.
2008
Abstract. The kernel of a polygon P is the set of all points that see the interior of P. It can be computed as the intersection of the halfplanes that are to the left of the edges of P. We present an O(log log n) time CRCW-PRAM algorithm using n/log log n processors to compute a representation of the kernel of P that allows to answer point containment and line intersection queries efficiently. Our approach is based on computing a subsequence of the edges that are sorted by slope and contain the “relevant ” edges for the kernel computation. CR Classification: F.2.2 Key words: computational geometry, visibility, polygons, kernel
2005
Abstract In this paper, we consider the problem of computing the visibility of a query point inside polygons with holes. The goal is to perform this computation efficiently per query with more cost in the preprocessing phase. Our algorithm is based on solutions in [13] and [2] proposed for simple polygons. In our solution, the preprocessing is done in time O (n 3 log (n)) to construct a data structure of size O (n 3).
A detailed discussion of the point in polygon problem for arbitrary polygons is given. Two concepts for solving this problem are known in literature: the even-odd rule and the winding number, the former leading to ray-crossing, the latter to angle summation algorithms. First we show by mathematical means that both concepts are very closely related, thereby developing a first version of an algorithm for determining the winding number. Then we examine how to accelerate this algorithm and how to handle special cases. Furthermore we compare these algorithms with those found in literature and discuss the results.
Computational Geometry, 2013
A constant-workspace algorithm has read-only access to an input array and may use only O(1) additional words of O(log n) bits, where n is the size of the input. We assume that a simple n-gon is given by the ordered sequence of its vertices. We show that we can find a triangulation of a plane straight-line graph in O(n 2 ) time. We also consider preprocessing a simple polygon for shortest path queries when the space constraint is relaxed to allow s words of working space. After a preprocessing of O(n 2 ) time, we are able to solve shortest path queries between any two points inside the polygon in O(n 2 /s) time.
Computers & Geosciences, 2009
This paper presents a new algorithm for computing Boolean operations on polygons. These kind of operations are frequently used in the geosciences in order to get spatial information from spatial data modeled as polygons. The presented algorithm is simple and easy to understand and implement. Let n be the total number of edges of all the polygons involved in a Boolean operation and k be the number of intersections of all the polygon edges. Our algorithm computes the Boolean operation in time Oððn þ kÞ logðnÞÞ.
International Journal of Computational Geometry & Applications, 1996
We present a data structure that allows to preprocess a rectilinear polygon with n vertices such that, for any two query points, the shortest path in the rectilinear link or L 1 -metric can be reported in time O(log n + k) where k is the link length of the shortest path. If only the distance is of interest, the query time reduces to O(log n). Furthermore, if the query points are two vertices, the distance can be reported in time O(1) and a shortest path can be constructed in time O(1 + k). The data structure can be computed in time O(n) and needs O(n) storage. As an application we present a linear time algorithm to compute the diameter of a simple rectilinear polygon w.r.t. the L 1 -metric.
Theoretical Computer Science
The problem of finding a rectilinear minimum bend path (RMBP) between two designated points inside a rectilinear polygon has applications in robotics and motion planning. In this paper, we present efficient algorithms to solve the query version of the RMBP problem for special classes of rectilinear polygons given their oisibility graphs. Specifically, we show that given an unweighted graph G = (V, E), with 1 VI = N and 1 E I= M, algorithms to preprocess G in linear space and time such that the shortest distance queries-queries asking for the distance between any pair of nodes in the graph-can be answered in constant time and space are presented in this paper. For the case of a chordal graph G, our algorithms give a distance which is at most one away from the actual shortest distance. When G is a K-chordal graph, our algorithm produces an exact shortest distance in O(K) time. We also present a non-trivial parallel implementation of the sequential preprocessing algorithm for the CREW-PRAM mode1 which runs in O(logz N) time using O(N + M) processors. After the preprocessing, we can answer the queries in constant time using a single processor.
Computers Geosciences, 2010
This paper presents a numerically stable solution to a point-in-polygon problem by combining the orientation method and the uniform subdivision technique. We define first a quasi-closest point that can be locally found through the uniform subdivision cells, and then we provide the criteria for determining whether a point lies inside a polygon according to the quasi-closest point. For a large number of points to be tested against the same polygon, the criteria are employed to determine the inclusion property of an empty cell as well as a test point. The experimental tests show that the new method resolves the singularity of a test point on an edge without loss of efficiency. The GIS case study also demonstrates the capability of the method to identify which region contains a test point in a map.
This paper introduces a universal algorithm for polygon clipping, which is a frequent operation in GIS. In the proposed solution, the clipping polygons can be concave and may include holes. This algorithm is based on so-called entry/exit intersection point property, which has to be explicitly determined only at the first calculated intersection point. It uses a simple but efficient data structure based on a single-linked list. Boolean union and the difference between input polygons can also be determined after small modifications. This algorithm can easily be adapted to Boolean operations between regions composed of polygon sets. r
2009
The polygon retrieval problem on points is the problem of preprocessing a set of n points on the plane, so that given a polygon query, the subset of points lying inside it can be reported efficiently. It is of great interest in areas such as Computer Graphics, CAD applications, Spatial Databases and GIS developing tasks. In this paper we study the problem of canonical k-vertex polygon queries on the plane. A canonical k-vertex polygon query always meets the following specific property: a point retrieval query can be transformed into a linear number (with respect to the number of vertices) of point retrievals for orthogonal objects such as rectangles and triangles (throughout this work we call a triangle orthogonal iff two of its edges are axis-parallel). We present two new algorithms for this problem. The first one requires O(n log n) space and O(k log n loglogn +A) query time. A simple modification scheme on first algorithm lead us to a second solution, which consumes O(n) space an...
Computational Geometry, 2009
In this paper, we consider the problem of computing the region visible to a query point located in a given polygonal domain. The polygonal domain is specified by a simple polygon with m holes and a total of n vertices. We provide two bounds on the complexity of this problem. One approach constructs a data structure with space complexity O (n 2) in time O (n 2 lg n) and yields a query time of O ((1 + min(m, |V (q)|)) lg 2 n + m + |V (q)|). Here, V (q) represents the set of vertices of the visibility polygon of a query point q, and |E| denotes the number of edges in the visibility graph. The other approach provides a data structure with space complexity O (min(|E|, mn) + n) in time O (T + |E| + n lg n) with the query time of O (|V (q)| lg n + m). Here, T is the time to triangulate the given polygonal region (which is O (n + m lg 1+ m) for a small positive constant > 0). In both of these approaches, O (m) additive factor in the query time is eliminated with an additional O ((min(|E|, mn)) 2) space and an additional O (m(min(|E|, mn)) 2) preprocessing time.
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.