gpt4 book ai didi

com.bigdata.service.geospatial.ZOrderRangeScanUtil类的使用及代码示例

转载 作者:知者 更新时间:2024-03-18 15:57:31 27 4
gpt4 key购买 nike

本文整理了Java中com.bigdata.service.geospatial.ZOrderRangeScanUtil类的一些代码示例,展示了ZOrderRangeScanUtil类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZOrderRangeScanUtil类的具体详情如下:
包路径:com.bigdata.service.geospatial.ZOrderRangeScanUtil
类名称:ZOrderRangeScanUtil

ZOrderRangeScanUtil介绍

[英]Class providing utility functions for efficient zOrder-based multi-dimensional range scans, such as efficient range checks and functionality for BigMin calculation. The latter follows the logics defined in the BIGMIN decision table as provided in http://www.vision-tools.com/h-tropf/multidimensionalrangequery.pdf, page 76. This class is not thread-safe.
[中]类提供用于高效基于zOrder的多维范围扫描的实用函数,例如有效的范围检查和用于BigMin计算的功能。后者遵循中提供的BIGMIN决策表中定义的逻辑http://www.vision-tools.com/h-tropf/multidimensionalrangequery.pdf,第76页。这个类不是线程安全的。

代码示例

代码示例来源:origin: blazegraph/database

/**
* Test for BigMin calculation in a three-dimensional setting.
*/
public void testBigMinCalculation3Dim() {
 
 final byte[] searchMinZOrder = /* 19 */
   { Byte.valueOf("00000000",2), Byte.valueOf("00000000",2), Byte.valueOf("00010011",2) };
 final byte[] searchMaxZOrder = /* 23 */
   { Byte.valueOf("00000000",2), Byte.valueOf("00000000",2), Byte.valueOf("00010111",2) };
 final ZOrderRangeScanUtil rangeScanUtil = 
    new ZOrderRangeScanUtil(searchMinZOrder, searchMaxZOrder, 3 /* numDimensions */);
 // the following record is not in range for dimension two (has value 0 in that dimension)
 final byte[] dividingRecord = /* 21 */
   { Byte.valueOf("00000000",2), Byte.valueOf("00000000",2), Byte.valueOf("00010101",2) };
 assertFalse(rangeScanUtil.isInSearchRange(dividingRecord));
 
 final byte[] bigMinAct = rangeScanUtil.calculateBigMin(dividingRecord);
 assertTrue(rangeScanUtil.isInSearchRange(bigMinAct));
 assertEquals(searchMaxZOrder, bigMinAct); /* the big min is the max zOrder value */
}

代码示例来源:origin: com.blazegraph/bigdata-rdf-test

ZOrderRangeScanUtil.load(true, 2, testByteArray1, 2); /* modifies input */
final byte[] exp1 = 
  { Byte.valueOf("00100000",2), Byte.valueOf("01010101",2), Byte.valueOf("01010101",2) };
ZOrderRangeScanUtil.load(false, 11, testByteArray2, 2); /* modifies input */
final byte[] exp2 = 
  { Byte.valueOf("00100000",2), Byte.valueOf("01101111",2), Byte.valueOf("01010101",2) };
ZOrderRangeScanUtil.load(true, 5, testByteArray3, 3); /* modifies input */
final byte[] exp3 = 
  { Byte.valueOf("00000100",2), Byte.valueOf("01101101",2), Byte.valueOf("00110110",2) };

代码示例来源:origin: blazegraph/database

litExt.toZOrderByteArray(zOrderIv.getDelegate());
final boolean inRange = rangeScanUtil.isInSearchRange(dividingRecord);
 final byte[] bigMin = rangeScanUtil.calculateBigMin(dividingRecord);

代码示例来源:origin: blazegraph/database

public ZOrderIndexBigMinAdvancer(
 final byte[] searchMinZOrder, /* the minimum search key (top left) */
 final byte[] searchMaxZOrder, /* the maximum search key (bottom right) */
 final GeoSpatialLiteralExtension<BigdataValue> litExt,
 final int zOrderComponentPos /* position of the zOrder in the index */,
 final GeoSpatialCounters geoSpatialCounters) {
 this.litExt = litExt;
 this.searchMinZOrder = litExt.unpadLeadingZero(searchMinZOrder);
 // this.seachMinLong = litExt.fromZOrderByteArray(this.searchMinZOrder);
 
 this.searchMaxZOrder = litExt.unpadLeadingZero(searchMaxZOrder);
 // this.seachMaxLong = litExt.fromZOrderByteArray(this.searchMaxZOrder);
 
 this.zOrderComponentPos = zOrderComponentPos;
 this.geoSpatialCounters = geoSpatialCounters;
 this.rangeScanUtil = 
   new ZOrderRangeScanUtil(
    this.searchMinZOrder, this.searchMaxZOrder, litExt.getNumDimensions());
 
}

代码示例来源:origin: com.blazegraph/bigdata-core

litExt.toZOrderByteArray(zOrderIv.getDelegate());
final boolean inRange = rangeScanUtil.isInSearchRange(dividingRecord);
 final byte[] bigMin = rangeScanUtil.calculateBigMin(dividingRecord);

代码示例来源:origin: com.blazegraph/bigdata-core

public ZOrderIndexBigMinAdvancer(
 final byte[] searchMinZOrder, /* the minimum search key (top left) */
 final byte[] searchMaxZOrder, /* the maximum search key (bottom right) */
 final GeoSpatialLiteralExtension<BigdataValue> litExt,
 final int zOrderComponentPos /* position of the zOrder in the index */,
 final GeoSpatialCounters geoSpatialCounters) {
 this.litExt = litExt;
 this.searchMinZOrder = litExt.unpadLeadingZero(searchMinZOrder);
 // this.seachMinLong = litExt.fromZOrderByteArray(this.searchMinZOrder);
 
 this.searchMaxZOrder = litExt.unpadLeadingZero(searchMaxZOrder);
 // this.seachMaxLong = litExt.fromZOrderByteArray(this.searchMaxZOrder);
 
 this.zOrderComponentPos = zOrderComponentPos;
 this.geoSpatialCounters = geoSpatialCounters;
 this.rangeScanUtil = 
   new ZOrderRangeScanUtil(
    this.searchMinZOrder, this.searchMaxZOrder, litExt.getNumDimensions());
 
}

代码示例来源:origin: com.blazegraph/bigdata-rdf-test

/**
* Test for BigMin calculation in a three-dimensional setting.
*/
public void testBigMinCalculation3Dim() {
 
 final byte[] searchMinZOrder = /* 19 */
   { Byte.valueOf("00000000",2), Byte.valueOf("00000000",2), Byte.valueOf("00010011",2) };
 final byte[] searchMaxZOrder = /* 23 */
   { Byte.valueOf("00000000",2), Byte.valueOf("00000000",2), Byte.valueOf("00010111",2) };
 final ZOrderRangeScanUtil rangeScanUtil = 
    new ZOrderRangeScanUtil(searchMinZOrder, searchMaxZOrder, 3 /* numDimensions */);
 // the following record is not in range for dimension two (has value 0 in that dimension)
 final byte[] dividingRecord = /* 21 */
   { Byte.valueOf("00000000",2), Byte.valueOf("00000000",2), Byte.valueOf("00010101",2) };
 assertFalse(rangeScanUtil.isInSearchRange(dividingRecord));
 
 final byte[] bigMinAct = rangeScanUtil.calculateBigMin(dividingRecord);
 assertTrue(rangeScanUtil.isInSearchRange(bigMinAct));
 assertEquals(searchMaxZOrder, bigMinAct); /* the big min is the max zOrder value */
}

代码示例来源:origin: blazegraph/database

ZOrderRangeScanUtil.load(true, 2, testByteArray1, 2); /* modifies input */
final byte[] exp1 = 
  { Byte.valueOf("00100000",2), Byte.valueOf("01010101",2), Byte.valueOf("01010101",2) };
ZOrderRangeScanUtil.load(false, 11, testByteArray2, 2); /* modifies input */
final byte[] exp2 = 
  { Byte.valueOf("00100000",2), Byte.valueOf("01101111",2), Byte.valueOf("01010101",2) };
ZOrderRangeScanUtil.load(true, 5, testByteArray3, 3); /* modifies input */
final byte[] exp3 = 
  { Byte.valueOf("00000100",2), Byte.valueOf("01101101",2), Byte.valueOf("00110110",2) };

代码示例来源:origin: blazegraph/database

new ZOrderRangeScanUtil(searchMinZOrder, searchMaxZOrder, 2 /* numDimensions */);
final byte[] bigMinAct1 = rangeScanUtil.calculateBigMin(divRecord1);
assertEquals(bigMinExp1, bigMinAct1);
assertFalse(rangeScanUtil.isInSearchRange(divRecord1));
assertTrue(rangeScanUtil.isInSearchRange(bigMinAct1));
final byte[] bigMinAct2 = rangeScanUtil.calculateBigMin(divRecord2);
assertEquals(bigMinExp2, bigMinAct2);
assertFalse(rangeScanUtil.isInSearchRange(divRecord2));
assertTrue(rangeScanUtil.isInSearchRange(bigMinAct2));
final byte[] bigMinAct3 = rangeScanUtil.calculateBigMin(divRecord3);
assertEquals(bigMinExp3, bigMinAct3);
assertFalse(rangeScanUtil.isInSearchRange(divRecord3));
assertTrue(rangeScanUtil.isInSearchRange(bigMinAct3));
final byte[] bigMinAct4 = rangeScanUtil.calculateBigMin(divRecord4);
assertEquals(bigMinExp4, bigMinAct4);
assertFalse(rangeScanUtil.isInSearchRange(divRecord4));
assertTrue(rangeScanUtil.isInSearchRange(bigMinAct4));
final byte[] bigMinAct5 = rangeScanUtil.calculateBigMin(divRecord5);
assertEquals(bigMinExp5, bigMinAct5);
assertFalse(rangeScanUtil.isInSearchRange(divRecord5));
assertTrue(rangeScanUtil.isInSearchRange(bigMinAct5));
final byte[] bigMinAct6 = rangeScanUtil.calculateBigMin(divRecord6);
assertEquals(bigMinExp6, bigMinAct6);

代码示例来源:origin: blazegraph/database

load(true /* setFirst */, i, bigmin, numDimensions);
load(false, i, max, numDimensions);
load(true, i, min, numDimensions);

代码示例来源:origin: com.blazegraph/bigdata-rdf-test

new ZOrderRangeScanUtil(searchMinZOrder, searchMaxZOrder, 2 /* numDimensions */);
final byte[] bigMinAct1 = rangeScanUtil.calculateBigMin(divRecord1);
assertEquals(bigMinExp1, bigMinAct1);
assertFalse(rangeScanUtil.isInSearchRange(divRecord1));
assertTrue(rangeScanUtil.isInSearchRange(bigMinAct1));
final byte[] bigMinAct2 = rangeScanUtil.calculateBigMin(divRecord2);
assertEquals(bigMinExp2, bigMinAct2);
assertFalse(rangeScanUtil.isInSearchRange(divRecord2));
assertTrue(rangeScanUtil.isInSearchRange(bigMinAct2));
final byte[] bigMinAct3 = rangeScanUtil.calculateBigMin(divRecord3);
assertEquals(bigMinExp3, bigMinAct3);
assertFalse(rangeScanUtil.isInSearchRange(divRecord3));
assertTrue(rangeScanUtil.isInSearchRange(bigMinAct3));
final byte[] bigMinAct4 = rangeScanUtil.calculateBigMin(divRecord4);
assertEquals(bigMinExp4, bigMinAct4);
assertFalse(rangeScanUtil.isInSearchRange(divRecord4));
assertTrue(rangeScanUtil.isInSearchRange(bigMinAct4));
final byte[] bigMinAct5 = rangeScanUtil.calculateBigMin(divRecord5);
assertEquals(bigMinExp5, bigMinAct5);
assertFalse(rangeScanUtil.isInSearchRange(divRecord5));
assertTrue(rangeScanUtil.isInSearchRange(bigMinAct5));
final byte[] bigMinAct6 = rangeScanUtil.calculateBigMin(divRecord6);
assertEquals(bigMinExp6, bigMinAct6);

代码示例来源:origin: com.blazegraph/bigdata-core

load(true /* setFirst */, i, bigmin, numDimensions);
load(false, i, max, numDimensions);
load(true, i, min, numDimensions);

代码示例来源:origin: blazegraph/database

/**
* Test for BigMin calculation in a three-dimensional setting.
*/
public void testBigMinCalculation3Dim() {
 
 final byte[] searchMinZOrder = /* 19 */
   { Byte.valueOf("00000000",2), Byte.valueOf("00000000",2), Byte.valueOf("00010011",2) };
 final byte[] searchMaxZOrder = /* 23 */
   { Byte.valueOf("00000000",2), Byte.valueOf("00000000",2), Byte.valueOf("00010111",2) };
 final ZOrderRangeScanUtil rangeScanUtil = 
    new ZOrderRangeScanUtil(searchMinZOrder, searchMaxZOrder, 3 /* numDimensions */);
 // the following record is not in range for dimension two (has value 0 in that dimension)
 final byte[] dividingRecord = /* 21 */
   { Byte.valueOf("00000000",2), Byte.valueOf("00000000",2), Byte.valueOf("00010101",2) };
 assertFalse(rangeScanUtil.isInSearchRange(dividingRecord));
 
 final byte[] bigMinAct = rangeScanUtil.calculateBigMin(dividingRecord);
 assertTrue(rangeScanUtil.isInSearchRange(bigMinAct));
 assertEquals(searchMaxZOrder, bigMinAct); /* the big min is the max zOrder value */
}

代码示例来源:origin: blazegraph/database

ZOrderRangeScanUtil.load(true, 2, testByteArray1, 2); /* modifies input */
final byte[] exp1 = 
  { Byte.valueOf("00100000",2), Byte.valueOf("01010101",2), Byte.valueOf("01010101",2) };
ZOrderRangeScanUtil.load(false, 11, testByteArray2, 2); /* modifies input */
final byte[] exp2 = 
  { Byte.valueOf("00100000",2), Byte.valueOf("01101111",2), Byte.valueOf("01010101",2) };
ZOrderRangeScanUtil.load(true, 5, testByteArray3, 3); /* modifies input */
final byte[] exp3 = 
  { Byte.valueOf("00000100",2), Byte.valueOf("01101101",2), Byte.valueOf("00110110",2) };

代码示例来源:origin: blazegraph/database

new ZOrderRangeScanUtil(searchMinZOrder, searchMaxZOrder, 2 /* numDimensions */);
final byte[] bigMinAct1 = rangeScanUtil.calculateBigMin(divRecord1);
assertEquals(bigMinExp1, bigMinAct1);
assertFalse(rangeScanUtil.isInSearchRange(divRecord1));
assertTrue(rangeScanUtil.isInSearchRange(bigMinAct1));
final byte[] bigMinAct2 = rangeScanUtil.calculateBigMin(divRecord2);
assertEquals(bigMinExp2, bigMinAct2);
assertFalse(rangeScanUtil.isInSearchRange(divRecord2));
assertTrue(rangeScanUtil.isInSearchRange(bigMinAct2));
final byte[] bigMinAct3 = rangeScanUtil.calculateBigMin(divRecord3);
assertEquals(bigMinExp3, bigMinAct3);
assertFalse(rangeScanUtil.isInSearchRange(divRecord3));
assertTrue(rangeScanUtil.isInSearchRange(bigMinAct3));
final byte[] bigMinAct4 = rangeScanUtil.calculateBigMin(divRecord4);
assertEquals(bigMinExp4, bigMinAct4);
assertFalse(rangeScanUtil.isInSearchRange(divRecord4));
assertTrue(rangeScanUtil.isInSearchRange(bigMinAct4));
final byte[] bigMinAct5 = rangeScanUtil.calculateBigMin(divRecord5);
assertEquals(bigMinExp5, bigMinAct5);
assertFalse(rangeScanUtil.isInSearchRange(divRecord5));
assertTrue(rangeScanUtil.isInSearchRange(bigMinAct5));
final byte[] bigMinAct6 = rangeScanUtil.calculateBigMin(divRecord6);
assertEquals(bigMinExp6, bigMinAct6);

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com