You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by ni...@apache.org on 2016/11/25 11:07:10 UTC
[05/26] lucenenet git commit: Updated Lucene.Net.Spatial to use
Spatial4n 0.4.1
Updated Lucene.Net.Spatial to use Spatial4n 0.4.1
Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/d5547927
Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/d5547927
Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/d5547927
Branch: refs/heads/master
Commit: d55479270881f348d1ce80719061b573d67d38b6
Parents: 6c7cc79
Author: Shad Storhaug <sh...@shadstorhaug.com>
Authored: Tue Nov 15 22:17:09 2016 +0700
Committer: Shad Storhaug <sh...@shadstorhaug.com>
Committed: Tue Nov 15 22:17:09 2016 +0700
----------------------------------------------------------------------
Lucene.Net.sln | 79 ++++++++++++++++++--
.../Lucene.Net.Spatial.csproj | 16 +++-
.../Prefix/AbstractPrefixTreeFilter.cs | 4 +-
.../Prefix/AbstractVisitingPrefixTreeFilter.cs | 2 +-
.../Prefix/ContainsPrefixTreeFilter.cs | 6 +-
.../Prefix/IntersectsPrefixTreeFilter.cs | 2 +-
.../Prefix/PointPrefixTreeFieldCacheProvider.cs | 4 +-
.../Prefix/PrefixTreeStrategy.cs | 6 +-
src/Lucene.Net.Spatial/Prefix/Tree/Cell.cs | 14 ++--
.../Prefix/Tree/GeohashPrefixTree.cs | 17 ++---
.../Prefix/Tree/QuadPrefixTree.cs | 30 ++++----
.../Prefix/Tree/SpatialPrefixTree.cs | 20 ++---
.../Prefix/WithinPrefixTreeFilter.cs | 42 +++++------
src/Lucene.Net.Spatial/Query/SpatialArgs.cs | 18 ++---
.../Serialized/SerializedDVStrategy.cs | 4 +-
src/Lucene.Net.Spatial/SpatialStrategy.cs | 16 ++--
src/Lucene.Net.Spatial/Util/ShapeFieldCache.cs | 2 +-
.../Util/ShapeFieldCacheDistanceValueSource.cs | 16 ++--
.../Util/ShapeFieldCacheProvider.cs | 2 +-
.../Vector/DistanceValueSource.cs | 12 +--
.../Vector/PointVectorStrategy.cs | 58 +++++++-------
src/Lucene.Net.Spatial/packages.config | 4 +-
22 files changed, 227 insertions(+), 147 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/Lucene.Net.sln
----------------------------------------------------------------------
diff --git a/Lucene.Net.sln b/Lucene.Net.sln
index 7fe1c8e..136a3fe 100644
--- a/Lucene.Net.sln
+++ b/Lucene.Net.sln
@@ -69,6 +69,7 @@ EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lucene.Net.Tests.Analysis.Stempel", "src\Lucene.Net.Tests.Analysis.Stempel\Lucene.Net.Tests.Analysis.Stempel.csproj", "{940A6AB1-F00A-40E2-BC1A-2898EFA8C48F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lucene.Net.Tests.Grouping", "src\Lucene.Net.Tests.Grouping\Lucene.Net.Tests.Grouping.csproj", "{C2349F0D-FB66-4544-9C33-4D87F73C6004}"
+EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lucene.Net.Spatial", "src\Lucene.Net.Spatial\Lucene.Net.Spatial.csproj", "{35C347F4-24B2-4BE5-8117-A0E3001551CE}"
EndProject
Global
@@ -486,140 +487,206 @@ Global
{351B75B1-BBD5-4E32-8036-7BED4E0135A6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{351B75B1-BBD5-4E32-8036-7BED4E0135A6}.Release|x86.ActiveCfg = Release|Any CPU
{351B75B1-BBD5-4E32-8036-7BED4E0135A6}.Release|x86.Build.0 = Release|Any CPU
+ {351B75B1-BBD5-4E32-8036-7BED4E0135A6}.Release35|Any CPU.ActiveCfg = Release|Any CPU
+ {351B75B1-BBD5-4E32-8036-7BED4E0135A6}.Release35|Any CPU.Build.0 = Release|Any CPU
+ {351B75B1-BBD5-4E32-8036-7BED4E0135A6}.Release35|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {351B75B1-BBD5-4E32-8036-7BED4E0135A6}.Release35|Mixed Platforms.Build.0 = Release|Any CPU
+ {351B75B1-BBD5-4E32-8036-7BED4E0135A6}.Release35|x86.ActiveCfg = Release|Any CPU
+ {351B75B1-BBD5-4E32-8036-7BED4E0135A6}.Release35|x86.Build.0 = Release|Any CPU
{949BA34B-6AE6-4CE3-B578-61E13E4D76BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{949BA34B-6AE6-4CE3-B578-61E13E4D76BF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{949BA34B-6AE6-4CE3-B578-61E13E4D76BF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{949BA34B-6AE6-4CE3-B578-61E13E4D76BF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{949BA34B-6AE6-4CE3-B578-61E13E4D76BF}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {949BA34B-6AE6-4CE3-B578-61E13E4D76BF}.Debug35|Any CPU.ActiveCfg = Debug|Any CPU
+ {949BA34B-6AE6-4CE3-B578-61E13E4D76BF}.Debug35|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {949BA34B-6AE6-4CE3-B578-61E13E4D76BF}.Debug35|x86.ActiveCfg = Debug|Any CPU
{949BA34B-6AE6-4CE3-B578-61E13E4D76BF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{949BA34B-6AE6-4CE3-B578-61E13E4D76BF}.Release|Any CPU.Build.0 = Release|Any CPU
{949BA34B-6AE6-4CE3-B578-61E13E4D76BF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{949BA34B-6AE6-4CE3-B578-61E13E4D76BF}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{949BA34B-6AE6-4CE3-B578-61E13E4D76BF}.Release|x86.ActiveCfg = Release|Any CPU
+ {949BA34B-6AE6-4CE3-B578-61E13E4D76BF}.Release35|Any CPU.ActiveCfg = Release|Any CPU
+ {949BA34B-6AE6-4CE3-B578-61E13E4D76BF}.Release35|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {949BA34B-6AE6-4CE3-B578-61E13E4D76BF}.Release35|x86.ActiveCfg = Release|Any CPU
{5719FB4F-BF80-40E5-BACC-37E8E18FCA2E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5719FB4F-BF80-40E5-BACC-37E8E18FCA2E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5719FB4F-BF80-40E5-BACC-37E8E18FCA2E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{5719FB4F-BF80-40E5-BACC-37E8E18FCA2E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{5719FB4F-BF80-40E5-BACC-37E8E18FCA2E}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {5719FB4F-BF80-40E5-BACC-37E8E18FCA2E}.Debug35|Any CPU.ActiveCfg = Debug|Any CPU
+ {5719FB4F-BF80-40E5-BACC-37E8E18FCA2E}.Debug35|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {5719FB4F-BF80-40E5-BACC-37E8E18FCA2E}.Debug35|x86.ActiveCfg = Debug|Any CPU
{5719FB4F-BF80-40E5-BACC-37E8E18FCA2E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5719FB4F-BF80-40E5-BACC-37E8E18FCA2E}.Release|Any CPU.Build.0 = Release|Any CPU
{5719FB4F-BF80-40E5-BACC-37E8E18FCA2E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{5719FB4F-BF80-40E5-BACC-37E8E18FCA2E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{5719FB4F-BF80-40E5-BACC-37E8E18FCA2E}.Release|x86.ActiveCfg = Release|Any CPU
+ {5719FB4F-BF80-40E5-BACC-37E8E18FCA2E}.Release35|Any CPU.ActiveCfg = Release|Any CPU
+ {5719FB4F-BF80-40E5-BACC-37E8E18FCA2E}.Release35|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {5719FB4F-BF80-40E5-BACC-37E8E18FCA2E}.Release35|x86.ActiveCfg = Release|Any CPU
{A3A0D943-B91A-4B7A-9FCB-6160EA575D95}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A3A0D943-B91A-4B7A-9FCB-6160EA575D95}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A3A0D943-B91A-4B7A-9FCB-6160EA575D95}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{A3A0D943-B91A-4B7A-9FCB-6160EA575D95}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{A3A0D943-B91A-4B7A-9FCB-6160EA575D95}.Debug|x86.ActiveCfg = Debug|Any CPU
{A3A0D943-B91A-4B7A-9FCB-6160EA575D95}.Debug|x86.Build.0 = Debug|Any CPU
+ {A3A0D943-B91A-4B7A-9FCB-6160EA575D95}.Debug35|Any CPU.ActiveCfg = Debug|Any CPU
+ {A3A0D943-B91A-4B7A-9FCB-6160EA575D95}.Debug35|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {A3A0D943-B91A-4B7A-9FCB-6160EA575D95}.Debug35|x86.ActiveCfg = Debug|Any CPU
{A3A0D943-B91A-4B7A-9FCB-6160EA575D95}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A3A0D943-B91A-4B7A-9FCB-6160EA575D95}.Release|Any CPU.Build.0 = Release|Any CPU
{A3A0D943-B91A-4B7A-9FCB-6160EA575D95}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{A3A0D943-B91A-4B7A-9FCB-6160EA575D95}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{A3A0D943-B91A-4B7A-9FCB-6160EA575D95}.Release|x86.ActiveCfg = Release|Any CPU
{A3A0D943-B91A-4B7A-9FCB-6160EA575D95}.Release|x86.Build.0 = Release|Any CPU
+ {A3A0D943-B91A-4B7A-9FCB-6160EA575D95}.Release35|Any CPU.ActiveCfg = Release|Any CPU
+ {A3A0D943-B91A-4B7A-9FCB-6160EA575D95}.Release35|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {A3A0D943-B91A-4B7A-9FCB-6160EA575D95}.Release35|x86.ActiveCfg = Release|Any CPU
{7895E023-EB91-401C-B2B3-754EEC42134B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7895E023-EB91-401C-B2B3-754EEC42134B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7895E023-EB91-401C-B2B3-754EEC42134B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{7895E023-EB91-401C-B2B3-754EEC42134B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{7895E023-EB91-401C-B2B3-754EEC42134B}.Debug|x86.ActiveCfg = Debug|Any CPU
{7895E023-EB91-401C-B2B3-754EEC42134B}.Debug|x86.Build.0 = Debug|Any CPU
+ {7895E023-EB91-401C-B2B3-754EEC42134B}.Debug35|Any CPU.ActiveCfg = Debug|Any CPU
+ {7895E023-EB91-401C-B2B3-754EEC42134B}.Debug35|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {7895E023-EB91-401C-B2B3-754EEC42134B}.Debug35|x86.ActiveCfg = Debug|Any CPU
{7895E023-EB91-401C-B2B3-754EEC42134B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7895E023-EB91-401C-B2B3-754EEC42134B}.Release|Any CPU.Build.0 = Release|Any CPU
{7895E023-EB91-401C-B2B3-754EEC42134B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{7895E023-EB91-401C-B2B3-754EEC42134B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7895E023-EB91-401C-B2B3-754EEC42134B}.Release|x86.ActiveCfg = Release|Any CPU
{7895E023-EB91-401C-B2B3-754EEC42134B}.Release|x86.Build.0 = Release|Any CPU
+ {7895E023-EB91-401C-B2B3-754EEC42134B}.Release35|Any CPU.ActiveCfg = Release|Any CPU
+ {7895E023-EB91-401C-B2B3-754EEC42134B}.Release35|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {7895E023-EB91-401C-B2B3-754EEC42134B}.Release35|x86.ActiveCfg = Release|Any CPU
{FBD2EB4D-EAC9-409C-A23D-64D27DF23576}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FBD2EB4D-EAC9-409C-A23D-64D27DF23576}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FBD2EB4D-EAC9-409C-A23D-64D27DF23576}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{FBD2EB4D-EAC9-409C-A23D-64D27DF23576}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{FBD2EB4D-EAC9-409C-A23D-64D27DF23576}.Debug|x86.ActiveCfg = Debug|Any CPU
{FBD2EB4D-EAC9-409C-A23D-64D27DF23576}.Debug|x86.Build.0 = Debug|Any CPU
+ {FBD2EB4D-EAC9-409C-A23D-64D27DF23576}.Debug35|Any CPU.ActiveCfg = Debug|Any CPU
+ {FBD2EB4D-EAC9-409C-A23D-64D27DF23576}.Debug35|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {FBD2EB4D-EAC9-409C-A23D-64D27DF23576}.Debug35|x86.ActiveCfg = Debug|Any CPU
{FBD2EB4D-EAC9-409C-A23D-64D27DF23576}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FBD2EB4D-EAC9-409C-A23D-64D27DF23576}.Release|Any CPU.Build.0 = Release|Any CPU
{FBD2EB4D-EAC9-409C-A23D-64D27DF23576}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{FBD2EB4D-EAC9-409C-A23D-64D27DF23576}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{FBD2EB4D-EAC9-409C-A23D-64D27DF23576}.Release|x86.ActiveCfg = Release|Any CPU
{FBD2EB4D-EAC9-409C-A23D-64D27DF23576}.Release|x86.Build.0 = Release|Any CPU
+ {FBD2EB4D-EAC9-409C-A23D-64D27DF23576}.Release35|Any CPU.ActiveCfg = Release|Any CPU
+ {FBD2EB4D-EAC9-409C-A23D-64D27DF23576}.Release35|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {FBD2EB4D-EAC9-409C-A23D-64D27DF23576}.Release35|x86.ActiveCfg = Release|Any CPU
{A6511598-3008-4A3B-AE68-2D1DA792CA8A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A6511598-3008-4A3B-AE68-2D1DA792CA8A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A6511598-3008-4A3B-AE68-2D1DA792CA8A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{A6511598-3008-4A3B-AE68-2D1DA792CA8A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{A6511598-3008-4A3B-AE68-2D1DA792CA8A}.Debug|x86.ActiveCfg = Debug|Any CPU
{A6511598-3008-4A3B-AE68-2D1DA792CA8A}.Debug|x86.Build.0 = Debug|Any CPU
+ {A6511598-3008-4A3B-AE68-2D1DA792CA8A}.Debug35|Any CPU.ActiveCfg = Debug|Any CPU
+ {A6511598-3008-4A3B-AE68-2D1DA792CA8A}.Debug35|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {A6511598-3008-4A3B-AE68-2D1DA792CA8A}.Debug35|x86.ActiveCfg = Debug|Any CPU
{A6511598-3008-4A3B-AE68-2D1DA792CA8A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A6511598-3008-4A3B-AE68-2D1DA792CA8A}.Release|Any CPU.Build.0 = Release|Any CPU
{A6511598-3008-4A3B-AE68-2D1DA792CA8A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{A6511598-3008-4A3B-AE68-2D1DA792CA8A}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{A6511598-3008-4A3B-AE68-2D1DA792CA8A}.Release|x86.ActiveCfg = Release|Any CPU
{A6511598-3008-4A3B-AE68-2D1DA792CA8A}.Release|x86.Build.0 = Release|Any CPU
+ {A6511598-3008-4A3B-AE68-2D1DA792CA8A}.Release35|Any CPU.ActiveCfg = Release|Any CPU
+ {A6511598-3008-4A3B-AE68-2D1DA792CA8A}.Release35|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {A6511598-3008-4A3B-AE68-2D1DA792CA8A}.Release35|x86.ActiveCfg = Release|Any CPU
{42ECF239-AFC1-427D-921E-B5A277809CF0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{42ECF239-AFC1-427D-921E-B5A277809CF0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{42ECF239-AFC1-427D-921E-B5A277809CF0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{42ECF239-AFC1-427D-921E-B5A277809CF0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{42ECF239-AFC1-427D-921E-B5A277809CF0}.Debug|x86.ActiveCfg = Debug|Any CPU
{42ECF239-AFC1-427D-921E-B5A277809CF0}.Debug|x86.Build.0 = Debug|Any CPU
+ {42ECF239-AFC1-427D-921E-B5A277809CF0}.Debug35|Any CPU.ActiveCfg = Debug|Any CPU
+ {42ECF239-AFC1-427D-921E-B5A277809CF0}.Debug35|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {42ECF239-AFC1-427D-921E-B5A277809CF0}.Debug35|x86.ActiveCfg = Debug|Any CPU
{42ECF239-AFC1-427D-921E-B5A277809CF0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{42ECF239-AFC1-427D-921E-B5A277809CF0}.Release|Any CPU.Build.0 = Release|Any CPU
{42ECF239-AFC1-427D-921E-B5A277809CF0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{42ECF239-AFC1-427D-921E-B5A277809CF0}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{42ECF239-AFC1-427D-921E-B5A277809CF0}.Release|x86.ActiveCfg = Release|Any CPU
{42ECF239-AFC1-427D-921E-B5A277809CF0}.Release|x86.Build.0 = Release|Any CPU
+ {42ECF239-AFC1-427D-921E-B5A277809CF0}.Release35|Any CPU.ActiveCfg = Release|Any CPU
+ {42ECF239-AFC1-427D-921E-B5A277809CF0}.Release35|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {42ECF239-AFC1-427D-921E-B5A277809CF0}.Release35|x86.ActiveCfg = Release|Any CPU
{7F9378BF-C88D-46FF-9AE8-5E7D8C0225D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7F9378BF-C88D-46FF-9AE8-5E7D8C0225D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7F9378BF-C88D-46FF-9AE8-5E7D8C0225D3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{7F9378BF-C88D-46FF-9AE8-5E7D8C0225D3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{7F9378BF-C88D-46FF-9AE8-5E7D8C0225D3}.Debug|x86.ActiveCfg = Debug|Any CPU
{7F9378BF-C88D-46FF-9AE8-5E7D8C0225D3}.Debug|x86.Build.0 = Debug|Any CPU
+ {7F9378BF-C88D-46FF-9AE8-5E7D8C0225D3}.Debug35|Any CPU.ActiveCfg = Debug|Any CPU
+ {7F9378BF-C88D-46FF-9AE8-5E7D8C0225D3}.Debug35|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {7F9378BF-C88D-46FF-9AE8-5E7D8C0225D3}.Debug35|x86.ActiveCfg = Debug|Any CPU
{7F9378BF-C88D-46FF-9AE8-5E7D8C0225D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7F9378BF-C88D-46FF-9AE8-5E7D8C0225D3}.Release|Any CPU.Build.0 = Release|Any CPU
{7F9378BF-C88D-46FF-9AE8-5E7D8C0225D3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{7F9378BF-C88D-46FF-9AE8-5E7D8C0225D3}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7F9378BF-C88D-46FF-9AE8-5E7D8C0225D3}.Release|x86.ActiveCfg = Release|Any CPU
{7F9378BF-C88D-46FF-9AE8-5E7D8C0225D3}.Release|x86.Build.0 = Release|Any CPU
+ {7F9378BF-C88D-46FF-9AE8-5E7D8C0225D3}.Release35|Any CPU.ActiveCfg = Release|Any CPU
+ {7F9378BF-C88D-46FF-9AE8-5E7D8C0225D3}.Release35|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {7F9378BF-C88D-46FF-9AE8-5E7D8C0225D3}.Release35|x86.ActiveCfg = Release|Any CPU
{A76DAD88-E3A5-40F9-9114-FACD77BD8265}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A76DAD88-E3A5-40F9-9114-FACD77BD8265}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A76DAD88-E3A5-40F9-9114-FACD77BD8265}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{A76DAD88-E3A5-40F9-9114-FACD77BD8265}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{A76DAD88-E3A5-40F9-9114-FACD77BD8265}.Debug|x86.ActiveCfg = Debug|Any CPU
{A76DAD88-E3A5-40F9-9114-FACD77BD8265}.Debug|x86.Build.0 = Debug|Any CPU
+ {A76DAD88-E3A5-40F9-9114-FACD77BD8265}.Debug35|Any CPU.ActiveCfg = Debug|Any CPU
+ {A76DAD88-E3A5-40F9-9114-FACD77BD8265}.Debug35|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {A76DAD88-E3A5-40F9-9114-FACD77BD8265}.Debug35|x86.ActiveCfg = Debug|Any CPU
{A76DAD88-E3A5-40F9-9114-FACD77BD8265}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A76DAD88-E3A5-40F9-9114-FACD77BD8265}.Release|Any CPU.Build.0 = Release|Any CPU
{A76DAD88-E3A5-40F9-9114-FACD77BD8265}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{A76DAD88-E3A5-40F9-9114-FACD77BD8265}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{A76DAD88-E3A5-40F9-9114-FACD77BD8265}.Release|x86.ActiveCfg = Release|Any CPU
{A76DAD88-E3A5-40F9-9114-FACD77BD8265}.Release|x86.Build.0 = Release|Any CPU
+ {A76DAD88-E3A5-40F9-9114-FACD77BD8265}.Release35|Any CPU.ActiveCfg = Release|Any CPU
+ {A76DAD88-E3A5-40F9-9114-FACD77BD8265}.Release35|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {A76DAD88-E3A5-40F9-9114-FACD77BD8265}.Release35|x86.ActiveCfg = Release|Any CPU
{940A6AB1-F00A-40E2-BC1A-2898EFA8C48F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{940A6AB1-F00A-40E2-BC1A-2898EFA8C48F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{940A6AB1-F00A-40E2-BC1A-2898EFA8C48F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{940A6AB1-F00A-40E2-BC1A-2898EFA8C48F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{940A6AB1-F00A-40E2-BC1A-2898EFA8C48F}.Debug|x86.ActiveCfg = Debug|Any CPU
{940A6AB1-F00A-40E2-BC1A-2898EFA8C48F}.Debug|x86.Build.0 = Debug|Any CPU
+ {940A6AB1-F00A-40E2-BC1A-2898EFA8C48F}.Debug35|Any CPU.ActiveCfg = Debug|Any CPU
+ {940A6AB1-F00A-40E2-BC1A-2898EFA8C48F}.Debug35|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {940A6AB1-F00A-40E2-BC1A-2898EFA8C48F}.Debug35|x86.ActiveCfg = Debug|Any CPU
{940A6AB1-F00A-40E2-BC1A-2898EFA8C48F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{940A6AB1-F00A-40E2-BC1A-2898EFA8C48F}.Release|Any CPU.Build.0 = Release|Any CPU
{940A6AB1-F00A-40E2-BC1A-2898EFA8C48F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{940A6AB1-F00A-40E2-BC1A-2898EFA8C48F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{940A6AB1-F00A-40E2-BC1A-2898EFA8C48F}.Release|x86.ActiveCfg = Release|Any CPU
{940A6AB1-F00A-40E2-BC1A-2898EFA8C48F}.Release|x86.Build.0 = Release|Any CPU
+ {940A6AB1-F00A-40E2-BC1A-2898EFA8C48F}.Release35|Any CPU.ActiveCfg = Release|Any CPU
+ {940A6AB1-F00A-40E2-BC1A-2898EFA8C48F}.Release35|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {940A6AB1-F00A-40E2-BC1A-2898EFA8C48F}.Release35|x86.ActiveCfg = Release|Any CPU
{C2349F0D-FB66-4544-9C33-4D87F73C6004}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C2349F0D-FB66-4544-9C33-4D87F73C6004}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C2349F0D-FB66-4544-9C33-4D87F73C6004}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{C2349F0D-FB66-4544-9C33-4D87F73C6004}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{C2349F0D-FB66-4544-9C33-4D87F73C6004}.Debug|x86.ActiveCfg = Debug|Any CPU
{C2349F0D-FB66-4544-9C33-4D87F73C6004}.Debug|x86.Build.0 = Debug|Any CPU
+ {C2349F0D-FB66-4544-9C33-4D87F73C6004}.Debug35|Any CPU.ActiveCfg = Debug|Any CPU
+ {C2349F0D-FB66-4544-9C33-4D87F73C6004}.Debug35|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {C2349F0D-FB66-4544-9C33-4D87F73C6004}.Debug35|x86.ActiveCfg = Debug|Any CPU
{C2349F0D-FB66-4544-9C33-4D87F73C6004}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C2349F0D-FB66-4544-9C33-4D87F73C6004}.Release|Any CPU.Build.0 = Release|Any CPU
{C2349F0D-FB66-4544-9C33-4D87F73C6004}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{C2349F0D-FB66-4544-9C33-4D87F73C6004}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{C2349F0D-FB66-4544-9C33-4D87F73C6004}.Release|x86.ActiveCfg = Release|Any CPU
{C2349F0D-FB66-4544-9C33-4D87F73C6004}.Release|x86.Build.0 = Release|Any CPU
- {351B75B1-BBD5-4E32-8036-7BED4E0135A6}.Release35|Any CPU.ActiveCfg = Release|Any CPU
- {351B75B1-BBD5-4E32-8036-7BED4E0135A6}.Release35|Any CPU.Build.0 = Release|Any CPU
- {351B75B1-BBD5-4E32-8036-7BED4E0135A6}.Release35|Mixed Platforms.ActiveCfg = Release|Any CPU
- {351B75B1-BBD5-4E32-8036-7BED4E0135A6}.Release35|Mixed Platforms.Build.0 = Release|Any CPU
- {351B75B1-BBD5-4E32-8036-7BED4E0135A6}.Release35|x86.ActiveCfg = Release|Any CPU
- {351B75B1-BBD5-4E32-8036-7BED4E0135A6}.Release35|x86.Build.0 = Release|Any CPU
+ {C2349F0D-FB66-4544-9C33-4D87F73C6004}.Release35|Any CPU.ActiveCfg = Release|Any CPU
+ {C2349F0D-FB66-4544-9C33-4D87F73C6004}.Release35|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {C2349F0D-FB66-4544-9C33-4D87F73C6004}.Release35|x86.ActiveCfg = Release|Any CPU
{35C347F4-24B2-4BE5-8117-A0E3001551CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{35C347F4-24B2-4BE5-8117-A0E3001551CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{35C347F4-24B2-4BE5-8117-A0E3001551CE}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj b/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
index f6669e6..2689008 100644
--- a/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
+++ b/src/Lucene.Net.Spatial/Lucene.Net.Spatial.csproj
@@ -57,8 +57,20 @@
<StartupObject />
</PropertyGroup>
<ItemGroup>
- <Reference Include="Spatial4n.Core, Version=0.3.0.0, Culture=neutral, PublicKeyToken=9f9456e1ca16d45e, processorArchitecture=MSIL">
- <HintPath>..\..\packages\Spatial4n.Core.0.3\lib\net40\Spatial4n.Core.dll</HintPath>
+ <Reference Include="Spatial4n.Core.NTS">
+ <HintPath>..\..\packages\Spatial4n.Core.NTS.0.4.1\lib\net40\Spatial4n.Core.NTS.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="GeoAPI, Version=1.7.4.0, Culture=neutral, PublicKeyToken=a1a0da7def465678, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\GeoAPI.1.7.4\lib\net45\GeoAPI.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="NetTopologySuite, Version=1.14.0.0, Culture=neutral, PublicKeyToken=f580a05016ebada1, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\NetTopologySuite.1.14\lib\net45\NetTopologySuite.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="PowerCollections, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2573bf8a1bdddcd5, processorArchitecture=MSIL">
+ <HintPath>..\..\packages\NetTopologySuite.1.14\lib\net45\PowerCollections.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/src/Lucene.Net.Spatial/Prefix/AbstractPrefixTreeFilter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/Prefix/AbstractPrefixTreeFilter.cs b/src/Lucene.Net.Spatial/Prefix/AbstractPrefixTreeFilter.cs
index fadab36..0591a35 100644
--- a/src/Lucene.Net.Spatial/Prefix/AbstractPrefixTreeFilter.cs
+++ b/src/Lucene.Net.Spatial/Prefix/AbstractPrefixTreeFilter.cs
@@ -29,12 +29,12 @@ namespace Lucene.Net.Spatial.Prefix
/// </summary>
public abstract class AbstractPrefixTreeFilter : Filter
{
- protected internal readonly Shape queryShape;
+ protected internal readonly IShape queryShape;
protected internal readonly string fieldName;
protected internal readonly SpatialPrefixTree grid;//not in equals/hashCode since it's implied for a specific field
protected internal readonly int detailLevel;
- public AbstractPrefixTreeFilter(Shape queryShape, string fieldName, SpatialPrefixTree grid, int detailLevel)
+ public AbstractPrefixTreeFilter(IShape queryShape, string fieldName, SpatialPrefixTree grid, int detailLevel)
{
this.queryShape = queryShape;
this.fieldName = fieldName;
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/src/Lucene.Net.Spatial/Prefix/AbstractVisitingPrefixTreeFilter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/Prefix/AbstractVisitingPrefixTreeFilter.cs b/src/Lucene.Net.Spatial/Prefix/AbstractVisitingPrefixTreeFilter.cs
index 861c0de..e368a55 100644
--- a/src/Lucene.Net.Spatial/Prefix/AbstractVisitingPrefixTreeFilter.cs
+++ b/src/Lucene.Net.Spatial/Prefix/AbstractVisitingPrefixTreeFilter.cs
@@ -45,7 +45,7 @@ namespace Lucene.Net.Spatial.Prefix
protected internal readonly int prefixGridScanLevel;
- public AbstractVisitingPrefixTreeFilter(Shape queryShape, string fieldName, SpatialPrefixTree grid,
+ public AbstractVisitingPrefixTreeFilter(IShape queryShape, string fieldName, SpatialPrefixTree grid,
int detailLevel, int prefixGridScanLevel)
: base(queryShape, fieldName, grid, detailLevel)
{
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/src/Lucene.Net.Spatial/Prefix/ContainsPrefixTreeFilter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/Prefix/ContainsPrefixTreeFilter.cs b/src/Lucene.Net.Spatial/Prefix/ContainsPrefixTreeFilter.cs
index c6c448f..017b518 100644
--- a/src/Lucene.Net.Spatial/Prefix/ContainsPrefixTreeFilter.cs
+++ b/src/Lucene.Net.Spatial/Prefix/ContainsPrefixTreeFilter.cs
@@ -39,7 +39,7 @@ namespace Lucene.Net.Spatial.Prefix
{
protected readonly bool multiOverlappingIndexedShapes;
- public ContainsPrefixTreeFilter(Shape queryShape, string fieldName, SpatialPrefixTree grid, int detailLevel, bool multiOverlappingIndexedShapes)
+ public ContainsPrefixTreeFilter(IShape queryShape, string fieldName, SpatialPrefixTree grid, int detailLevel, bool multiOverlappingIndexedShapes)
: base(queryShape, fieldName, grid, detailLevel)
{
this.multiOverlappingIndexedShapes = multiOverlappingIndexedShapes;
@@ -53,7 +53,7 @@ namespace Lucene.Net.Spatial.Prefix
private class ContainsVisitor : BaseTermsEnumTraverser
{
- private readonly Shape queryShape;
+ private readonly IShape queryShape;
private readonly int detailLevel;
private readonly bool multiOverlappingIndexedShapes;
private SpatialPrefixTree grid;
@@ -87,7 +87,7 @@ namespace Lucene.Net.Spatial.Prefix
SmallDocSet combinedSubResults = null;
// Optimization: use null subCellsFilter when we know cell is within the query shape.
- Shape subCellsFilter = queryShape;
+ IShape subCellsFilter = queryShape;
if (cell.Level != 0 && ((cell.GetShapeRel() == null || cell.GetShapeRel() == SpatialRelation.WITHIN)))
{
subCellsFilter = null;
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/src/Lucene.Net.Spatial/Prefix/IntersectsPrefixTreeFilter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/Prefix/IntersectsPrefixTreeFilter.cs b/src/Lucene.Net.Spatial/Prefix/IntersectsPrefixTreeFilter.cs
index 4b8f25b..3d378e0 100644
--- a/src/Lucene.Net.Spatial/Prefix/IntersectsPrefixTreeFilter.cs
+++ b/src/Lucene.Net.Spatial/Prefix/IntersectsPrefixTreeFilter.cs
@@ -33,7 +33,7 @@ namespace Lucene.Net.Spatial.Prefix
{
private readonly bool hasIndexedLeaves;
- public IntersectsPrefixTreeFilter(Shape queryShape, string fieldName,
+ public IntersectsPrefixTreeFilter(IShape queryShape, string fieldName,
SpatialPrefixTree grid, int detailLevel,
int prefixGridScanLevel, bool hasIndexedLeaves)
: base(queryShape, fieldName, grid, detailLevel, prefixGridScanLevel)
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/src/Lucene.Net.Spatial/Prefix/PointPrefixTreeFieldCacheProvider.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/Prefix/PointPrefixTreeFieldCacheProvider.cs b/src/Lucene.Net.Spatial/Prefix/PointPrefixTreeFieldCacheProvider.cs
index 3459cb7..db36767 100644
--- a/src/Lucene.Net.Spatial/Prefix/PointPrefixTreeFieldCacheProvider.cs
+++ b/src/Lucene.Net.Spatial/Prefix/PointPrefixTreeFieldCacheProvider.cs
@@ -33,7 +33,7 @@ namespace Lucene.Net.Spatial.Prefix
/// can only retrieve the central <see cref="Point">Point</see> of the original Shapes.
/// </summary>
/// <lucene.internal></lucene.internal>
- public class PointPrefixTreeFieldCacheProvider : ShapeFieldCacheProvider<Point>
+ public class PointPrefixTreeFieldCacheProvider : ShapeFieldCacheProvider<IPoint>
{
internal readonly SpatialPrefixTree grid; //
@@ -45,7 +45,7 @@ namespace Lucene.Net.Spatial.Prefix
private Cell scanCell = null;//re-used in readShape to save GC
- protected internal override Point ReadShape(BytesRef term)
+ protected internal override IPoint ReadShape(BytesRef term)
{
scanCell = grid.GetCell(term.Bytes, term.Offset, term.Length, scanCell);
if (scanCell.Level == grid.MaxLevels && !scanCell.IsLeaf())
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/src/Lucene.Net.Spatial/Prefix/PrefixTreeStrategy.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/Prefix/PrefixTreeStrategy.cs b/src/Lucene.Net.Spatial/Prefix/PrefixTreeStrategy.cs
index 5f7c406..003b428 100644
--- a/src/Lucene.Net.Spatial/Prefix/PrefixTreeStrategy.cs
+++ b/src/Lucene.Net.Spatial/Prefix/PrefixTreeStrategy.cs
@@ -146,13 +146,13 @@ namespace Lucene.Net.Spatial.Prefix
set { distErrPct = value; }
}
- public override Field[] CreateIndexableFields(Shape shape)
+ public override Field[] CreateIndexableFields(IShape shape)
{
double distErr = SpatialArgs.CalcDistanceFromErrPct(shape, distErrPct, ctx);
return CreateIndexableFields(shape, distErr);
}
- public virtual Field[] CreateIndexableFields(Shape shape, double distErr)
+ public virtual Field[] CreateIndexableFields(IShape shape, double distErr)
{
int detailLevel = grid.GetLevelForDistance(distErr);
IList<Cell> cells = grid.GetCells(shape, detailLevel, true, simplifyIndexedCells);
@@ -218,7 +218,7 @@ namespace Lucene.Net.Spatial.Prefix
}
}
- public override ValueSource MakeDistanceValueSource(Point queryPoint, double multiplier)
+ public override ValueSource MakeDistanceValueSource(IPoint queryPoint, double multiplier)
{
var p = provider.GetOrAdd(FieldName, f => new PointPrefixTreeFieldCacheProvider(grid, FieldName, defaultFieldValuesArrayLen));
return new ShapeFieldCacheDistanceValueSource(ctx, p, queryPoint, multiplier);
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/src/Lucene.Net.Spatial/Prefix/Tree/Cell.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/Prefix/Tree/Cell.cs b/src/Lucene.Net.Spatial/Prefix/Tree/Cell.cs
index 319815a..f160688 100644
--- a/src/Lucene.Net.Spatial/Prefix/Tree/Cell.cs
+++ b/src/Lucene.Net.Spatial/Prefix/Tree/Cell.cs
@@ -232,12 +232,12 @@ namespace Lucene.Net.Spatial.Prefix.Tree
/// </summary>
/// <param name="shapeFilter">an optional filter for the returned cells.</param>
/// <returns>A set of cells (no dups), sorted. Not Modifiable.</returns>
- public virtual ICollection<Cell> GetSubCells(Shape shapeFilter)
+ public virtual ICollection<Cell> GetSubCells(IShape shapeFilter)
{
//Note: Higher-performing subclasses might override to consider the shape filter to generate fewer cells.
- if (shapeFilter is Point)
+ if (shapeFilter is IPoint)
{
- Cell subCell = GetSubCell((Point)shapeFilter);
+ Cell subCell = GetSubCell((IPoint)shapeFilter);
subCell.shapeRel = SpatialRelation.CONTAINS;
#if !NET35
return new ReadOnlyCollectionBuilder<Cell>(new[] { subCell }).ToReadOnlyCollection();
@@ -281,7 +281,7 @@ namespace Lucene.Net.Spatial.Prefix.Tree
/// <p/>
/// Precondition: this.getShape().relate(p) != DISJOINT.
/// </remarks>
- public abstract Cell GetSubCell(Point p);
+ public abstract Cell GetSubCell(IPoint p);
//TODO Cell getSubCell(byte b)
/// <summary>Gets the cells at the next grid cell level that cover this cell.</summary>
@@ -298,11 +298,11 @@ namespace Lucene.Net.Spatial.Prefix.Tree
/// </summary>
public abstract int GetSubCellsSize();
- public abstract Shape GetShape();
+ public abstract IShape GetShape();
- public virtual Point GetCenter()
+ public virtual IPoint GetCenter()
{
- return GetShape().GetCenter();
+ return GetShape().Center;
}
#region Equality overrides
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/src/Lucene.Net.Spatial/Prefix/Tree/GeohashPrefixTree.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/Prefix/Tree/GeohashPrefixTree.cs b/src/Lucene.Net.Spatial/Prefix/Tree/GeohashPrefixTree.cs
index 3452948..4ad1fdb 100644
--- a/src/Lucene.Net.Spatial/Prefix/Tree/GeohashPrefixTree.cs
+++ b/src/Lucene.Net.Spatial/Prefix/Tree/GeohashPrefixTree.cs
@@ -38,8 +38,8 @@ namespace Lucene.Net.Spatial.Prefix.Tree
public GeohashPrefixTree(SpatialContext ctx, int maxLevels)
: base(ctx, maxLevels)
{
- Rectangle bounds = ctx.GetWorldBounds();
- if (bounds.GetMinX() != -180)
+ IRectangle bounds = ctx.WorldBounds;
+ if (bounds.MinX != -180)
{
throw new ArgumentException("Geohash only supports lat-lon world bounds. Got " +
bounds);
@@ -72,10 +72,9 @@ namespace Lucene.Net.Spatial.Prefix.Tree
return Math.Max(Math.Min(level, maxLevels), 1);
}
- protected internal override Cell GetCell(Point p, int level)
+ protected internal override Cell GetCell(IPoint p, int level)
{
- return new GhCell(this, GeohashUtils.EncodeLatLon(p.GetY(), p.GetX
- (), level));
+ return new GhCell(this, GeohashUtils.EncodeLatLon(p.Y, p.X, level));
}
//args are lat,lon (y,x)
@@ -117,7 +116,7 @@ namespace Lucene.Net.Spatial.Prefix.Tree
internal class GhCell : Cell
{
private readonly GeohashPrefixTree _enclosing;
- private Shape shape;
+ private IShape shape;
internal GhCell(GeohashPrefixTree _enclosing, string token)
: base(token)
@@ -155,14 +154,14 @@ namespace Lucene.Net.Spatial.Prefix.Tree
}
//8x4
- public override Cell GetSubCell(Point p)
+ public override Cell GetSubCell(IPoint p)
{
return _enclosing.GetCell(p, Level + 1);
}
//not performant!
//cache
- public override Shape GetShape()
+ public override IShape GetShape()
{
if (shape == null)
{
@@ -171,7 +170,7 @@ namespace Lucene.Net.Spatial.Prefix.Tree
return shape;
}
- public override Point GetCenter()
+ public override IPoint GetCenter()
{
return GeohashUtils.Decode(Geohash, _enclosing.ctx);
}
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/src/Lucene.Net.Spatial/Prefix/Tree/QuadPrefixTree.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/Prefix/Tree/QuadPrefixTree.cs b/src/Lucene.Net.Spatial/Prefix/Tree/QuadPrefixTree.cs
index bde41b1..f99f702 100644
--- a/src/Lucene.Net.Spatial/Prefix/Tree/QuadPrefixTree.cs
+++ b/src/Lucene.Net.Spatial/Prefix/Tree/QuadPrefixTree.cs
@@ -53,16 +53,16 @@ namespace Lucene.Net.Spatial.Prefix.Tree
private readonly double ymid;
private readonly double ymin;
- public QuadPrefixTree(SpatialContext ctx, Rectangle bounds, int maxLevels)
+ public QuadPrefixTree(SpatialContext ctx, IRectangle bounds, int maxLevels)
: base(ctx, maxLevels)
{
//not really sure how big this should be
// side
// number
- xmin = bounds.GetMinX();
- xmax = bounds.GetMaxX();
- ymin = bounds.GetMinY();
- ymax = bounds.GetMaxY();
+ xmin = bounds.MinX;
+ xmax = bounds.MaxX;
+ ymin = bounds.MinY;
+ ymax = bounds.MaxY;
levelW = new double[maxLevels];
levelH = new double[maxLevels];
levelS = new int[maxLevels];
@@ -90,7 +90,7 @@ namespace Lucene.Net.Spatial.Prefix.Tree
}
public QuadPrefixTree(SpatialContext ctx, int maxLevels)
- : this(ctx, ctx.GetWorldBounds(), maxLevels)
+ : this(ctx, ctx.WorldBounds, maxLevels)
{
}
@@ -127,10 +127,10 @@ namespace Lucene.Net.Spatial.Prefix.Tree
return maxLevels;
}
- protected internal override Cell GetCell(Point p, int level)
+ protected internal override Cell GetCell(IPoint p, int level)
{
IList<Cell> cells = new List<Cell>(1);
- Build(xmid, ymid, 0, cells, new StringBuilder(), ctx.MakePoint(p.GetX(), p.GetY()), level);
+ Build(xmid, ymid, 0, cells, new StringBuilder(), ctx.MakePoint(p.X, p.Y), level);
return cells[0];
}
@@ -146,7 +146,7 @@ namespace Lucene.Net.Spatial.Prefix.Tree
}
private void Build(double x, double y, int level, IList<Cell> matches, StringBuilder
- str, Shape shape, int maxLevel)
+ str, IShape shape, int maxLevel)
{
Debug.Assert(str.Length == level);
double w = levelW[level] / 2;
@@ -165,13 +165,13 @@ namespace Lucene.Net.Spatial.Prefix.Tree
// if we actually use the range property in the query, this could be useful
private void CheckBattenberg(char c, double cx, double cy, int level, IList<Cell>
matches, StringBuilder str,
- Shape shape, int maxLevel)
+ IShape shape, int maxLevel)
{
Debug.Assert(str.Length == level);
double w = levelW[level] / 2;
double h = levelH[level] / 2;
int strlen = str.Length;
- Rectangle rectangle = ctx.MakeRectangle(cx - w, cx + w, cy - h, cy + h);
+ IRectangle rectangle = ctx.MakeRectangle(cx - w, cx + w, cy - h, cy + h);
SpatialRelation v = shape.Relate(rectangle);
if (SpatialRelation.CONTAINS == v)
{
@@ -232,7 +232,7 @@ namespace Lucene.Net.Spatial.Prefix.Tree
internal class QuadCell : Cell
{
private readonly QuadPrefixTree _enclosing;
- private Shape shape;
+ private IShape shape;
public QuadCell(QuadPrefixTree _enclosing, string token)
: base(token)
@@ -275,14 +275,14 @@ namespace Lucene.Net.Spatial.Prefix.Tree
return 4;
}
- public override Cell GetSubCell(Point p)
+ public override Cell GetSubCell(IPoint p)
{
return _enclosing.GetCell(p, Level + 1);
}
//not performant!
//cache
- public override Shape GetShape()
+ public override IShape GetShape()
{
if (shape == null)
{
@@ -291,7 +291,7 @@ namespace Lucene.Net.Spatial.Prefix.Tree
return shape;
}
- private Rectangle MakeShape()
+ private IRectangle MakeShape()
{
string token = TokenString;
double xmin = _enclosing.xmin;
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/src/Lucene.Net.Spatial/Prefix/Tree/SpatialPrefixTree.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/Prefix/Tree/SpatialPrefixTree.cs b/src/Lucene.Net.Spatial/Prefix/Tree/SpatialPrefixTree.cs
index e13245e..6d97c5c 100644
--- a/src/Lucene.Net.Spatial/Prefix/Tree/SpatialPrefixTree.cs
+++ b/src/Lucene.Net.Spatial/Prefix/Tree/SpatialPrefixTree.cs
@@ -102,10 +102,10 @@ namespace Lucene.Net.Spatial.Prefix.Tree
throw new ArgumentException("Level must be in 1 to maxLevels range");
}
//TODO cache for each level
- Cell cell = GetCell(ctx.GetWorldBounds().GetCenter(), level);
- Rectangle bbox = cell.GetShape().GetBoundingBox();
- double width = bbox.GetWidth();
- double height = bbox.GetHeight();
+ Cell cell = GetCell(ctx.WorldBounds.Center, level);
+ IRectangle bbox = cell.GetShape().BoundingBox;
+ double width = bbox.Width;
+ double height = bbox.Height;
//Use standard cartesian hypotenuse. For geospatial, this answer is larger
// than the correct one but it's okay to over-estimate.
return Math.Sqrt(width * width + height * height);
@@ -164,7 +164,7 @@ namespace Lucene.Net.Spatial.Prefix.Tree
/// <code>level</code>
/// .
/// </summary>
- protected internal virtual Cell GetCell(Point p, int level)
+ protected internal virtual Cell GetCell(IPoint p, int level)
{
return GetCells(p, level, false)[0];
}
@@ -195,7 +195,7 @@ namespace Lucene.Net.Spatial.Prefix.Tree
/// ~20-25% fewer cells.
/// </param>
/// <returns>a set of cells (no dups), sorted, immutable, non-null</returns>
- public virtual IList<Cell> GetCells(Shape shape, int detailLevel
+ public virtual IList<Cell> GetCells(IShape shape, int detailLevel
, bool inclParents, bool simplify)
{
//TODO consider an on-demand iterator -- it won't build up all cells in memory.
@@ -203,9 +203,9 @@ namespace Lucene.Net.Spatial.Prefix.Tree
{
throw new ArgumentException("detailLevel > maxLevels");
}
- if (shape is Point)
+ if (shape is IPoint)
{
- return GetCells((Point)shape, detailLevel, inclParents);
+ return GetCells((IPoint)shape, detailLevel, inclParents);
}
IList<Cell> cells = new List<Cell>(inclParents ? 4096 : 2048);
RecursiveGetCells(WorldCell, shape, detailLevel, inclParents, simplify, cells
@@ -218,7 +218,7 @@ namespace Lucene.Net.Spatial.Prefix.Tree
/// Returns true if cell was added as a leaf. If it wasn't it recursively
/// descends.
/// </remarks>
- private bool RecursiveGetCells(Cell cell, Shape shape, int
+ private bool RecursiveGetCells(Cell cell, IShape shape, int
detailLevel, bool inclParents, bool simplify, IList<Cell> result)
{
if (cell.Level == detailLevel)
@@ -280,7 +280,7 @@ namespace Lucene.Net.Spatial.Prefix.Tree
/// being fast, as its
/// called repeatedly when incPlarents is true.
/// </summary>
- public virtual IList<Cell> GetCells(Point p, int detailLevel, bool inclParents)
+ public virtual IList<Cell> GetCells(IPoint p, int detailLevel, bool inclParents)
{
Cell cell = GetCell(p, detailLevel);
if (!inclParents)
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/src/Lucene.Net.Spatial/Prefix/WithinPrefixTreeFilter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/Prefix/WithinPrefixTreeFilter.cs b/src/Lucene.Net.Spatial/Prefix/WithinPrefixTreeFilter.cs
index 62d5104..3081bbe 100644
--- a/src/Lucene.Net.Spatial/Prefix/WithinPrefixTreeFilter.cs
+++ b/src/Lucene.Net.Spatial/Prefix/WithinPrefixTreeFilter.cs
@@ -52,7 +52,7 @@ namespace Lucene.Net.Spatial.Prefix
// minimal query buffer by looking in a DocValues cache holding a representative
// point of each disjoint component of a document's shape(s).
- private readonly Shape bufferedQueryShape;//if null then the whole world
+ private readonly IShape bufferedQueryShape;//if null then the whole world
/// <summary>
/// See
@@ -64,7 +64,7 @@ namespace Lucene.Net.Spatial.Prefix
/// where non-matching documents are looked for so they can be excluded. If
/// -1 is used then the whole world is examined (a good default for correctness).
/// </summary>
- public WithinPrefixTreeFilter(Shape queryShape, string fieldName, SpatialPrefixTree grid,
+ public WithinPrefixTreeFilter(IShape queryShape, string fieldName, SpatialPrefixTree grid,
int detailLevel, int prefixGridScanLevel, double queryBuffer)
: base(queryShape, fieldName, grid, detailLevel, prefixGridScanLevel)
{
@@ -81,7 +81,7 @@ namespace Lucene.Net.Spatial.Prefix
/// <summary>
/// Returns a new shape that is larger than shape by at distErr
/// </summary>
- protected virtual Shape BufferShape(Shape shape, double distErr)
+ protected virtual IShape BufferShape(IShape shape, double distErr)
{
//TODO move this generic code elsewhere? Spatial4j?
if (distErr <= 0)
@@ -89,30 +89,30 @@ namespace Lucene.Net.Spatial.Prefix
throw new ArgumentException("distErr must be > 0");
}
SpatialContext ctx = grid.SpatialContext;
- if (shape is Point)
+ if (shape is IPoint)
{
- return ctx.MakeCircle((Point)shape, distErr);
+ return ctx.MakeCircle((IPoint)shape, distErr);
}
else
{
- if (shape is Circle)
+ if (shape is ICircle)
{
- var circle = (Circle)shape;
- double newDist = circle.GetRadius() + distErr;
- if (ctx.IsGeo() && newDist > 180)
+ var circle = (ICircle)shape;
+ double newDist = circle.Radius + distErr;
+ if (ctx.IsGeo && newDist > 180)
{
newDist = 180;
}
- return ctx.MakeCircle(circle.GetCenter(), newDist);
+ return ctx.MakeCircle(circle.Center, newDist);
}
else
{
- Rectangle bbox = shape.GetBoundingBox();
- double newMinX = bbox.GetMinX() - distErr;
- double newMaxX = bbox.GetMaxX() + distErr;
- double newMinY = bbox.GetMinY() - distErr;
- double newMaxY = bbox.GetMaxY() + distErr;
- if (ctx.IsGeo())
+ IRectangle bbox = shape.BoundingBox;
+ double newMinX = bbox.MinX - distErr;
+ double newMaxX = bbox.MaxX + distErr;
+ double newMinY = bbox.MinY - distErr;
+ double newMaxY = bbox.MaxY + distErr;
+ if (ctx.IsGeo)
{
if (newMinY < -90)
{
@@ -122,7 +122,7 @@ namespace Lucene.Net.Spatial.Prefix
{
newMaxY = 90;
}
- if (newMinY == -90 || newMaxY == 90 || bbox.GetWidth() + 2 * distErr > 360)
+ if (newMinY == -90 || newMaxY == 90 || bbox.Width + 2 * distErr > 360)
{
newMinX = -180;
newMaxX = 180;
@@ -136,10 +136,10 @@ namespace Lucene.Net.Spatial.Prefix
else
{
//restrict to world bounds
- newMinX = Math.Max(newMinX, ctx.GetWorldBounds().GetMinX());
- newMaxX = Math.Min(newMaxX, ctx.GetWorldBounds().GetMaxX());
- newMinY = Math.Max(newMinY, ctx.GetWorldBounds().GetMinY());
- newMaxY = Math.Min(newMaxY, ctx.GetWorldBounds().GetMaxY());
+ newMinX = Math.Max(newMinX, ctx.WorldBounds.MinX);
+ newMaxX = Math.Min(newMaxX, ctx.WorldBounds.MaxX);
+ newMinY = Math.Max(newMinY, ctx.WorldBounds.MinY);
+ newMaxY = Math.Min(newMaxY, ctx.WorldBounds.MaxY);
}
return ctx.MakeRectangle(newMinX, newMaxX, newMinY, newMaxY);
}
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/src/Lucene.Net.Spatial/Query/SpatialArgs.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/Query/SpatialArgs.cs b/src/Lucene.Net.Spatial/Query/SpatialArgs.cs
index 11a3114..64e08aa 100644
--- a/src/Lucene.Net.Spatial/Query/SpatialArgs.cs
+++ b/src/Lucene.Net.Spatial/Query/SpatialArgs.cs
@@ -27,7 +27,7 @@ namespace Lucene.Net.Spatial.Query
public SpatialOperation Operation { get; set; }
- public SpatialArgs(SpatialOperation operation, Shape shape)
+ public SpatialArgs(SpatialOperation operation, IShape shape)
{
if (operation == null || shape == null)
throw new ArgumentException("operation and shape are required");
@@ -44,24 +44,24 @@ namespace Lucene.Net.Spatial.Query
/// <param name="distErrPct">0 to 0.5</param>
/// <param name="ctx">Mandatory</param>
/// <returns>A distance (in degrees).</returns>
- public static double CalcDistanceFromErrPct(Shape shape, double distErrPct, SpatialContext ctx)
+ public static double CalcDistanceFromErrPct(IShape shape, double distErrPct, SpatialContext ctx)
{
if (distErrPct < 0 || distErrPct > 0.5)
{
throw new ArgumentException("distErrPct " + distErrPct + " must be between [0 to 0.5]", "distErrPct");
}
- if (distErrPct == 0 || shape is Point)
+ if (distErrPct == 0 || shape is IPoint)
{
return 0;
}
- Rectangle bbox = shape.GetBoundingBox();
+ IRectangle bbox = shape.BoundingBox;
//Compute the distance from the center to a corner. Because the distance
// to a bottom corner vs a top corner can vary in a geospatial scenario,
// take the closest one (greater precision).
- Point ctr = bbox.GetCenter();
- double y = (ctr.GetY() >= 0 ? bbox.GetMaxY() : bbox.GetMinY());
- double diagonalDist = ctx.GetDistCalc().Distance(ctr, bbox.GetMaxX(), y);
+ IPoint ctr = bbox.Center;
+ double y = (ctr.Y >= 0 ? bbox.MaxY : bbox.MinY);
+ double diagonalDist = ctx.DistCalc.Distance(ctr, bbox.MaxX, y);
return diagonalDist * distErrPct;
}
@@ -86,7 +86,7 @@ namespace Lucene.Net.Spatial.Query
/// </summary>
public void Validate()
{
- if (Operation.IsTargetNeedsArea() && !Shape.HasArea())
+ if (Operation.IsTargetNeedsArea() && !Shape.HasArea)
{
throw new ArgumentException(Operation + " only supports geometry with area");
}
@@ -106,7 +106,7 @@ namespace Lucene.Net.Spatial.Query
// Getters & Setters
//------------------------------------------------
- public Shape Shape { get; set; }
+ public IShape Shape { get; set; }
/// <summary>
/// A measure of acceptable error of the shape as a fraction. This effectively
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/src/Lucene.Net.Spatial/Serialized/SerializedDVStrategy.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/Serialized/SerializedDVStrategy.cs b/src/Lucene.Net.Spatial/Serialized/SerializedDVStrategy.cs
index d79c02c..c0692d6 100644
--- a/src/Lucene.Net.Spatial/Serialized/SerializedDVStrategy.cs
+++ b/src/Lucene.Net.Spatial/Serialized/SerializedDVStrategy.cs
@@ -50,12 +50,12 @@ namespace Lucene.Net.Spatial.Serialized
throw new NotImplementedException();
}
- public override Field[] CreateIndexableFields(Shape shape)
+ public override Field[] CreateIndexableFields(IShape shape)
{
throw new NotImplementedException();
}
- public override ValueSource MakeDistanceValueSource(Point queryPoint, double multiplier)
+ public override ValueSource MakeDistanceValueSource(IPoint queryPoint, double multiplier)
{
throw new NotImplementedException();
}
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/src/Lucene.Net.Spatial/SpatialStrategy.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/SpatialStrategy.cs b/src/Lucene.Net.Spatial/SpatialStrategy.cs
index 76f827f..f2de112 100644
--- a/src/Lucene.Net.Spatial/SpatialStrategy.cs
+++ b/src/Lucene.Net.Spatial/SpatialStrategy.cs
@@ -82,7 +82,7 @@ namespace Lucene.Net.Spatial
/// </summary>
/// <param name="shape"></param>
/// <returns>Not null nor will it have null elements.</returns>
- public abstract Field[] CreateIndexableFields(Shape shape);
+ public abstract Field[] CreateIndexableFields(IShape shape);
/// <summary>
/// See {@link #makeDistanceValueSource(com.spatial4j.core.shape.Point, double)} called with
@@ -90,7 +90,7 @@ namespace Lucene.Net.Spatial
/// </summary>
/// <param name="queryPoint"></param>
/// <returns></returns>
- public ValueSource MakeDistanceValueSource(Point queryPoint)
+ public ValueSource MakeDistanceValueSource(IPoint queryPoint)
{
return MakeDistanceValueSource(queryPoint, 1.0);
}
@@ -100,7 +100,7 @@ namespace Lucene.Net.Spatial
/// indexed shape and {@code queryPoint}. If there are multiple indexed shapes
/// then the closest one is chosen.
/// </summary>
- public abstract ValueSource MakeDistanceValueSource(Point queryPoint, double multiplier);
+ public abstract ValueSource MakeDistanceValueSource(IPoint queryPoint, double multiplier);
/// <summary>
/// Make a (ConstantScore) Query based principally on {@link org.apache.lucene.spatial.query.SpatialOperation}
@@ -138,14 +138,14 @@ namespace Lucene.Net.Spatial
/// </summary>
/// <param name="queryShape"></param>
/// <returns></returns>
- public ValueSource MakeRecipDistanceValueSource(Shape queryShape)
+ public ValueSource MakeRecipDistanceValueSource(IShape queryShape)
{
- Rectangle bbox = queryShape.GetBoundingBox();
- double diagonalDist = ctx.GetDistCalc().Distance(
- ctx.MakePoint(bbox.GetMinX(), bbox.GetMinY()), bbox.GetMaxX(), bbox.GetMaxY());
+ IRectangle bbox = queryShape.BoundingBox;
+ double diagonalDist = ctx.DistCalc.Distance(
+ ctx.MakePoint(bbox.MinX, bbox.MinY), bbox.MaxX, bbox.MaxY);
double distToEdge = diagonalDist * 0.5;
float c = (float)distToEdge * 0.1f; //one tenth
- return new ReciprocalFloatFunction(MakeDistanceValueSource(queryShape.GetCenter()), 1f, c, c);
+ return new ReciprocalFloatFunction(MakeDistanceValueSource(queryShape.Center), 1f, c, c);
}
public override string ToString()
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/src/Lucene.Net.Spatial/Util/ShapeFieldCache.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/Util/ShapeFieldCache.cs b/src/Lucene.Net.Spatial/Util/ShapeFieldCache.cs
index 6c27c54..23d04c4 100644
--- a/src/Lucene.Net.Spatial/Util/ShapeFieldCache.cs
+++ b/src/Lucene.Net.Spatial/Util/ShapeFieldCache.cs
@@ -25,7 +25,7 @@ namespace Lucene.Net.Spatial.Util
/// associated with a given docId
/// </summary>
/// <typeparam name="T"></typeparam>
- public class ShapeFieldCache<T> where T : Shape
+ public class ShapeFieldCache<T> where T : IShape
{
private readonly IList<T>[] cache;
public int defaultLength;
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/src/Lucene.Net.Spatial/Util/ShapeFieldCacheDistanceValueSource.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/Util/ShapeFieldCacheDistanceValueSource.cs b/src/Lucene.Net.Spatial/Util/ShapeFieldCacheDistanceValueSource.cs
index d1bcb9e..c5f4af7 100644
--- a/src/Lucene.Net.Spatial/Util/ShapeFieldCacheDistanceValueSource.cs
+++ b/src/Lucene.Net.Spatial/Util/ShapeFieldCacheDistanceValueSource.cs
@@ -31,13 +31,13 @@ namespace Lucene.Net.Spatial.Util
/// </summary>
public class ShapeFieldCacheDistanceValueSource : ValueSource
{
- private readonly ShapeFieldCacheProvider<Point> provider;
+ private readonly ShapeFieldCacheProvider<IPoint> provider;
private readonly SpatialContext ctx;
- private readonly Point from;
+ private readonly IPoint from;
private readonly double multiplier;
public ShapeFieldCacheDistanceValueSource(SpatialContext ctx,
- ShapeFieldCacheProvider<Point> provider, Point from, double multiplier)
+ ShapeFieldCacheProvider<IPoint> provider, IPoint from, double multiplier)
{
this.ctx = ctx;
this.from = from;
@@ -48,9 +48,9 @@ namespace Lucene.Net.Spatial.Util
public class CachedDistanceFunctionValue : FunctionValues
{
private readonly ShapeFieldCacheDistanceValueSource enclosingInstance;
- private readonly ShapeFieldCache<Point> cache;
- private readonly Point from;
- private readonly DistanceCalculator calculator;
+ private readonly ShapeFieldCache<IPoint> cache;
+ private readonly IPoint from;
+ private readonly IDistanceCalculator calculator;
private readonly double nullValue;
public CachedDistanceFunctionValue(AtomicReader reader, ShapeFieldCacheDistanceValueSource enclosingInstance)
@@ -59,8 +59,8 @@ namespace Lucene.Net.Spatial.Util
this.enclosingInstance = enclosingInstance;
from = enclosingInstance.from;
- calculator = enclosingInstance.ctx.GetDistCalc();
- nullValue = (enclosingInstance.ctx.IsGeo() ? 180 * enclosingInstance.multiplier : double.MaxValue);
+ calculator = enclosingInstance.ctx.DistCalc;
+ nullValue = (enclosingInstance.ctx.IsGeo ? 180 * enclosingInstance.multiplier : double.MaxValue);
}
public override float FloatVal(int doc)
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/src/Lucene.Net.Spatial/Util/ShapeFieldCacheProvider.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/Util/ShapeFieldCacheProvider.cs b/src/Lucene.Net.Spatial/Util/ShapeFieldCacheProvider.cs
index 51827c3..1a78210 100644
--- a/src/Lucene.Net.Spatial/Util/ShapeFieldCacheProvider.cs
+++ b/src/Lucene.Net.Spatial/Util/ShapeFieldCacheProvider.cs
@@ -39,7 +39,7 @@ namespace Lucene.Net.Spatial.Util
/// </summary>
/// <lucene.internal></lucene.internal>
public abstract class ShapeFieldCacheProvider<T>
- where T : Shape
+ where T : IShape
{
//private Logger log = Logger.GetLogger(GetType().FullName);
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/src/Lucene.Net.Spatial/Vector/DistanceValueSource.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/Vector/DistanceValueSource.cs b/src/Lucene.Net.Spatial/Vector/DistanceValueSource.cs
index d54016f..75785f5 100644
--- a/src/Lucene.Net.Spatial/Vector/DistanceValueSource.cs
+++ b/src/Lucene.Net.Spatial/Vector/DistanceValueSource.cs
@@ -32,11 +32,11 @@ namespace Lucene.Net.Spatial.Vector
/// </summary>
public class DistanceValueSource : ValueSource
{
- private readonly Point from;
+ private readonly IPoint from;
private readonly PointVectorStrategy strategy;
private readonly double multiplier;
- public DistanceValueSource(PointVectorStrategy strategy, Point from, double multiplier)
+ public DistanceValueSource(PointVectorStrategy strategy, IPoint from, double multiplier)
{
this.strategy = strategy;
this.from = from;
@@ -75,9 +75,9 @@ namespace Lucene.Net.Spatial.Vector
public class DistanceFunctionValue : FunctionValues
{
- private readonly DistanceCalculator calculator;
+ private readonly IDistanceCalculator calculator;
private readonly DistanceValueSource enclosingInstance;
- private readonly Point from;
+ private readonly IPoint from;
private readonly double nullValue;
private readonly double multiplier;
@@ -95,8 +95,8 @@ namespace Lucene.Net.Spatial.Vector
from = enclosingInstance.from;
multiplier = enclosingInstance.multiplier;
- calculator = enclosingInstance.strategy.SpatialContext.GetDistCalc();
- nullValue = (enclosingInstance.strategy.SpatialContext.IsGeo() ? 180 * multiplier : double.MaxValue);
+ calculator = enclosingInstance.strategy.SpatialContext.DistCalc;
+ nullValue = (enclosingInstance.strategy.SpatialContext.IsGeo ? 180 * multiplier : double.MaxValue);
}
public override float FloatVal(int doc)
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/src/Lucene.Net.Spatial/Vector/PointVectorStrategy.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/Vector/PointVectorStrategy.cs b/src/Lucene.Net.Spatial/Vector/PointVectorStrategy.cs
index b4b2e87..25672b9 100644
--- a/src/Lucene.Net.Spatial/Vector/PointVectorStrategy.cs
+++ b/src/Lucene.Net.Spatial/Vector/PointVectorStrategy.cs
@@ -73,16 +73,16 @@ namespace Lucene.Net.Spatial.Vector
get { return fieldNameY; }
}
- public override Field[] CreateIndexableFields(Shape shape)
+ public override Field[] CreateIndexableFields(IShape shape)
{
- var point = shape as Point;
+ var point = shape as IPoint;
if (point != null)
return CreateIndexableFields(point);
throw new InvalidOperationException("Can only index Point, not " + shape);
}
- public Field[] CreateIndexableFields(Point point)
+ public Field[] CreateIndexableFields(IPoint point)
{
FieldType doubleFieldType = new FieldType(DoubleField.TYPE_NOT_STORED)
{
@@ -90,13 +90,13 @@ namespace Lucene.Net.Spatial.Vector
};
var f = new Field[]
{
- new DoubleField(fieldNameX, point.GetX(), doubleFieldType),
- new DoubleField(fieldNameY, point.GetY(), doubleFieldType)
+ new DoubleField(fieldNameX, point.X, doubleFieldType),
+ new DoubleField(fieldNameY, point.Y, doubleFieldType)
};
return f;
}
- public override ValueSource MakeDistanceValueSource(Point queryPoint, double multiplier)
+ public override ValueSource MakeDistanceValueSource(IPoint queryPoint, double multiplier)
{
return new DistanceValueSource(this, queryPoint, multiplier);
}
@@ -108,20 +108,20 @@ namespace Lucene.Net.Spatial.Vector
SpatialOperation.IsWithin))
throw new UnsupportedSpatialOperation(args.Operation);
- Shape shape = args.Shape;
- var bbox = shape as Rectangle;
+ IShape shape = args.Shape;
+ var bbox = shape as IRectangle;
if (bbox != null)
return new ConstantScoreQuery(new QueryWrapperFilter(MakeWithin(bbox)));
- var circle = shape as Circle;
+ var circle = shape as ICircle;
if (circle != null)
{
- bbox = circle.GetBoundingBox();
+ bbox = circle.BoundingBox;
var vsf = new ValueSourceFilter(
new QueryWrapperFilter(MakeWithin(bbox)),
- MakeDistanceValueSource(circle.GetCenter()),
+ MakeDistanceValueSource(circle.Center),
0,
- circle.GetRadius());
+ circle.Radius);
return new ConstantScoreQuery(vsf);
}
@@ -134,12 +134,12 @@ namespace Lucene.Net.Spatial.Vector
{
// For starters, just limit the bbox
var shape = args.Shape;
- if (!(shape is Rectangle || shape is Circle))
+ if (!(shape is IRectangle || shape is ICircle))
throw new InvalidOperationException("Only Rectangles and Circles are currently supported, found ["
+ shape.GetType().Name + "]");//TODO
- Rectangle bbox = shape.GetBoundingBox();
- if (bbox.GetCrossesDateLine())
+ IRectangle bbox = shape.BoundingBox;
+ if (bbox.CrossesDateLine)
{
throw new InvalidOperationException("Crossing dateline not yet supported");
}
@@ -160,14 +160,14 @@ namespace Lucene.Net.Spatial.Vector
SpatialOperation.IsWithin))
{
spatial = MakeWithin(bbox);
- var circle = args.Shape as Circle;
+ var circle = args.Shape as ICircle;
if (circle != null)
{
// Make the ValueSource
- valueSource = MakeDistanceValueSource(shape.GetCenter());
+ valueSource = MakeDistanceValueSource(shape.Center);
var vsf = new ValueSourceFilter(
- new QueryWrapperFilter(spatial), valueSource, 0, circle.GetRadius());
+ new QueryWrapperFilter(spatial), valueSource, 0, circle.Radius);
spatial = new FilteredQuery(new MatchAllDocsQuery(), vsf);
}
@@ -188,7 +188,7 @@ namespace Lucene.Net.Spatial.Vector
}
else
{
- valueSource = MakeDistanceValueSource(shape.GetCenter());
+ valueSource = MakeDistanceValueSource(shape.Center);
}
Search.Query spatialRankingQuery = new FunctionQuery(valueSource);
var bq = new BooleanQuery();
@@ -213,22 +213,22 @@ namespace Lucene.Net.Spatial.Vector
/// Constructs a query to retrieve documents that fully contain the input envelope.
/// </summary>
/// <param name="bbox"></param>
- private Search.Query MakeWithin(Rectangle bbox)
+ private Search.Query MakeWithin(IRectangle bbox)
{
var bq = new BooleanQuery();
const BooleanClause.Occur MUST = BooleanClause.Occur.MUST;
- if (bbox.GetCrossesDateLine())
+ if (bbox.CrossesDateLine)
{
//use null as performance trick since no data will be beyond the world bounds
- bq.Add(RangeQuery(fieldNameX, null /*-180*/, bbox.GetMaxX()), BooleanClause.Occur.SHOULD);
- bq.Add(RangeQuery(fieldNameX, bbox.GetMinX(), null /*+180*/), BooleanClause.Occur.SHOULD);
+ bq.Add(RangeQuery(fieldNameX, null /*-180*/, bbox.MaxX), BooleanClause.Occur.SHOULD);
+ bq.Add(RangeQuery(fieldNameX, bbox.MinX, null /*+180*/), BooleanClause.Occur.SHOULD);
bq.MinimumNumberShouldMatch = 1; //must match at least one of the SHOULD
}
else
{
- bq.Add(RangeQuery(fieldNameX, bbox.GetMinX(), bbox.GetMaxX()), MUST);
+ bq.Add(RangeQuery(fieldNameX, bbox.MinX, bbox.MaxX), MUST);
}
- bq.Add(RangeQuery(fieldNameY, bbox.GetMinY(), bbox.GetMaxY()), MUST);
+ bq.Add(RangeQuery(fieldNameY, bbox.MinY, bbox.MaxY), MUST);
return bq;
}
@@ -247,12 +247,12 @@ namespace Lucene.Net.Spatial.Vector
/// Constructs a query to retrieve documents that fully contain the input envelope.
/// </summary>
/// <param name="bbox"></param>
- private Search.Query MakeDisjoint(Rectangle bbox)
+ private Search.Query MakeDisjoint(IRectangle bbox)
{
- if (bbox.GetCrossesDateLine())
+ if (bbox.CrossesDateLine)
throw new InvalidOperationException("MakeDisjoint doesn't handle dateline cross");
- Search.Query qX = RangeQuery(fieldNameX, bbox.GetMinX(), bbox.GetMaxX());
- Search.Query qY = RangeQuery(fieldNameY, bbox.GetMinY(), bbox.GetMaxY());
+ Search.Query qX = RangeQuery(fieldNameX, bbox.MinX, bbox.MaxX);
+ Search.Query qY = RangeQuery(fieldNameY, bbox.MinY, bbox.MaxY);
var bq = new BooleanQuery { { qX, BooleanClause.Occur.MUST_NOT }, { qY, BooleanClause.Occur.MUST_NOT } };
return bq;
}
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/d5547927/src/Lucene.Net.Spatial/packages.config
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Spatial/packages.config b/src/Lucene.Net.Spatial/packages.config
index 27237fc..16ef20c 100644
--- a/src/Lucene.Net.Spatial/packages.config
+++ b/src/Lucene.Net.Spatial/packages.config
@@ -1,4 +1,6 @@
\ufeff<?xml version="1.0" encoding="utf-8"?>
<packages>
- <package id="Spatial4n.Core" version="0.3" targetFramework="net451" />
+ <!--<package id="Spatial4n.Core.NTS" version="0.4.1" targetFramework="net451" />-->
+ <package id="GeoAPI" version="1.7.4" targetFramework="net451" />
+ <package id="NetTopologySuite" version="1.14" targetFramework="net451" />
</packages>
\ No newline at end of file