mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-28 18:42:26 +00:00
Removed experimental implementations of pointInPolygon variants [#CLICKHOUSE-2]
This commit is contained in:
parent
e77e8a838f
commit
61e5b0476f
@ -15,6 +15,7 @@
|
|||||||
#include <Columns/ColumnArray.h>
|
#include <Columns/ColumnArray.h>
|
||||||
#include <Common/ProfileEvents.h>
|
#include <Common/ProfileEvents.h>
|
||||||
|
|
||||||
|
|
||||||
namespace ProfileEvents
|
namespace ProfileEvents
|
||||||
{
|
{
|
||||||
extern const Event PolygonsAddedToPool;
|
extern const Event PolygonsAddedToPool;
|
||||||
@ -246,28 +247,9 @@ private:
|
|||||||
template <typename Type>
|
template <typename Type>
|
||||||
using Point = boost::geometry::model::d2::point_xy<Type>;
|
using Point = boost::geometry::model::d2::point_xy<Type>;
|
||||||
|
|
||||||
template <typename Type>
|
|
||||||
using PointInPolygonCrossingStrategy = boost::geometry::strategy::within::crossings_multiply<Point<Type>>;
|
|
||||||
template <typename Type>
|
|
||||||
using PointInPolygonWindingStrategy = boost::geometry::strategy::within::winding<Point<Type>>;
|
|
||||||
template <typename Type>
|
|
||||||
using PointInPolygonFranklinStrategy = boost::geometry::strategy::within::franklin<Point<Type>>;
|
|
||||||
|
|
||||||
template <typename Type>
|
|
||||||
using PointInPolygonCrossing = GeoUtils::PointInPolygon<PointInPolygonCrossingStrategy<Type>, Type>;
|
|
||||||
template <typename Type>
|
|
||||||
using PointInPolygonWinding = GeoUtils::PointInPolygon<PointInPolygonWindingStrategy<Type>, Type>;
|
|
||||||
template <typename Type>
|
|
||||||
using PointInPolygonFranklin = GeoUtils::PointInPolygon<PointInPolygonFranklinStrategy<Type>, Type>;
|
|
||||||
template <typename Type>
|
template <typename Type>
|
||||||
using PointInPolygonWithGrid = GeoUtils::PointInPolygonWithGrid<Type>;
|
using PointInPolygonWithGrid = GeoUtils::PointInPolygonWithGrid<Type>;
|
||||||
|
|
||||||
template <>
|
|
||||||
const char * FunctionPointInPolygon<PointInPolygonCrossing>::name = "pointInPolygonCrossing";
|
|
||||||
template <>
|
|
||||||
const char * FunctionPointInPolygon<PointInPolygonWinding>::name = "pointInPolygonWinding";
|
|
||||||
template <>
|
|
||||||
const char * FunctionPointInPolygon<PointInPolygonFranklin>::name = "pointInPolygonFranklin";
|
|
||||||
template <>
|
template <>
|
||||||
const char * FunctionPointInPolygon<PointInPolygonWithGrid, true>::name = "pointInPolygon";
|
const char * FunctionPointInPolygon<PointInPolygonWithGrid, true>::name = "pointInPolygon";
|
||||||
|
|
||||||
@ -276,9 +258,6 @@ void registerFunctionsGeo(FunctionFactory & factory)
|
|||||||
factory.registerFunction<FunctionGreatCircleDistance>();
|
factory.registerFunction<FunctionGreatCircleDistance>();
|
||||||
factory.registerFunction<FunctionPointInEllipses>();
|
factory.registerFunction<FunctionPointInEllipses>();
|
||||||
|
|
||||||
factory.registerFunction<FunctionPointInPolygon<PointInPolygonFranklin>>();
|
|
||||||
factory.registerFunction<FunctionPointInPolygon<PointInPolygonWinding>>();
|
|
||||||
factory.registerFunction<FunctionPointInPolygon<PointInPolygonCrossing>>();
|
|
||||||
factory.registerFunction<FunctionPointInPolygon<PointInPolygonWithGrid, true>>();
|
factory.registerFunction<FunctionPointInPolygon<PointInPolygonWithGrid, true>>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,3 @@
|
|||||||
1
|
|
||||||
0
|
|
||||||
0
|
|
||||||
1
|
|
||||||
0
|
|
||||||
0
|
|
||||||
1
|
|
||||||
0
|
|
||||||
0
|
|
||||||
inner
|
inner
|
||||||
1
|
1
|
||||||
outer
|
outer
|
||||||
|
@ -1,13 +1,3 @@
|
|||||||
SELECT pointInPolygonFranklin(tuple(2.0,1.0), [tuple(0.0,0.0), tuple(3.0,3.0), tuple(3.0,0.0), tuple(0.0,0.0)]);
|
|
||||||
SELECT pointInPolygonFranklin(tuple(1.0,2.0), [tuple(0.0,0.0), tuple(3.0,3.0), tuple(3.0,0.0), tuple(0.0,0.0)]);
|
|
||||||
SELECT pointInPolygonFranklin(tuple(4.0,1.0), [tuple(0.0,0.0), tuple(3.0,3.0), tuple(3.0,0.0), tuple(0.0,0.0)]);
|
|
||||||
SELECT pointInPolygonCrossing(tuple(2.0,1.0), [tuple(0.0,0.0), tuple(3.0,3.0), tuple(3.0,0.0), tuple(0.0,0.0)]);
|
|
||||||
SELECT pointInPolygonCrossing(tuple(1.0,2.0), [tuple(0.0,0.0), tuple(3.0,3.0), tuple(3.0,0.0), tuple(0.0,0.0)]);
|
|
||||||
SELECT pointInPolygonCrossing(tuple(4.0,1.0), [tuple(0.0,0.0), tuple(3.0,3.0), tuple(3.0,0.0), tuple(0.0,0.0)]);
|
|
||||||
SELECT pointInPolygonWinding(tuple(2.0,1.0), [tuple(0.0,0.0), tuple(3.0,3.0), tuple(3.0,0.0), tuple(0.0,0.0)]);
|
|
||||||
SELECT pointInPolygonWinding(tuple(1.0,2.0), [tuple(0.0,0.0), tuple(3.0,3.0), tuple(3.0,0.0), tuple(0.0,0.0)]);
|
|
||||||
SELECT pointInPolygonWinding(tuple(4.0,1.0), [tuple(0.0,0.0), tuple(3.0,3.0), tuple(3.0,0.0), tuple(0.0,0.0)]);
|
|
||||||
|
|
||||||
SELECT 'inner';
|
SELECT 'inner';
|
||||||
SELECT pointInPolygon((3., 3.), [(6, 0), (8, 4), (5, 8), (0, 2), (6, 0)]);
|
SELECT pointInPolygon((3., 3.), [(6, 0), (8, 4), (5, 8), (0, 2), (6, 0)]);
|
||||||
SELECT 'outer';
|
SELECT 'outer';
|
||||||
|
Loading…
Reference in New Issue
Block a user