A new hierarchical triangle-based point-in-polygon data structure