Package com.esri.gpt.catalog.discovery

Examples of com.esri.gpt.catalog.discovery.SpatialClause


          if (bestCandidate != null) {
            double dif = 0.1;
            // create query
            BooleanQuery rootQuery = new BooleanQuery();
            // create spatial
            SpatialClause spatialClause = createSpatialClause(meaning, true);
            // parse and set boounding box
            spatialClause.getBoundingEnvelope().setMinX(bestCandidate.getLocation()[0] - dif);
            spatialClause.getBoundingEnvelope().setMinY(bestCandidate.getLocation()[1] - dif);
            spatialClause.getBoundingEnvelope().setMaxX(bestCandidate.getLocation()[0] + dif);
            spatialClause.getBoundingEnvelope().setMaxY(bestCandidate.getLocation()[1] + dif);
            // combine all together usingspatial clause adapter
            SpatialClauseAdapter spatialClauseAdapter = new SpatialClauseAdapter(getLuceneQueryAdapter());
            spatialClauseAdapter.adaptSpatialClause(rootQuery, new LogicalClause.LogicalAnd(), spatialClause);
            // assign output
            q = rootQuery;
View Full Code Here


      if (type == PropertyComparisonType.VALUE && meaning.getValueType() == PropertyValueType.GEOMETRY) {
        try {
          // create query
          BooleanQuery rootQuery = new BooleanQuery();
          // create spatial
          SpatialClause spatialClause = createSpatialClause(meaning, inclusive);
          // parse and set bounding box
          parseEnvelope(spatialClause.getBoundingEnvelope(), part1, part2);
          // combine all together using spatial clause adapter
          SpatialClauseAdapter spatialClauseAdapter = new SpatialClauseAdapter(getLuceneQueryAdapter());
          spatialClauseAdapter.adaptSpatialClause(rootQuery, new LogicalClause.LogicalAnd(), spatialClause);
          // assign output
          q = rootQuery;
View Full Code Here

   * @param meaning property meaning
   * @param inclusive <code>true</code> to have inclusive clause
   * @return clause
   */
  private SpatialClause createSpatialClause(PropertyMeaning meaning, boolean inclusive) {
    SpatialClause spatialClause = inclusive
        ? new SpatialClause.GeometryBBOXIntersects()
        : new SpatialClause.GeometryIsWithin();
    spatialClause.setSrsName("4326");
    Discoverable target = new Discoverable(meaning.getName());
    target.setMeaning(meaning);
    target.setStoreable(new GeometryProperty(meaning.getName()));
    spatialClause.setTarget(target);
    return spatialClause;
  }
View Full Code Here

        }
        adapter.adaptPropertyClause(activeBooleanQuery,logicalClause,subClause);
       
      } else if (clause instanceof SpatialClause) {
        SpatialClauseAdapter adapter = new SpatialClauseAdapter(getQueryAdapter());
        SpatialClause subClause = (SpatialClause)clause;
        adapter.adaptSpatialClause(activeBooleanQuery,logicalClause,subClause);
       
      } else {
        String sErr = "Unrecognized clause type:"+clause.getClass().getName();
        throw new DiscoveryException(sErr);
View Full Code Here

      fKeyword.setSearchText(sKeyword);
      criteria.setSearchFilterKeyword(fKeyword);
    }

    // spatial filter
    SpatialClause bbox = parser.extractSpatialClause("bbox", "spatialRel", "geometry");
    if (bbox != null) {
      SearchFilterSpatial fSpatial = new SearchFilterSpatial();
      fSpatial.setSelectedEnvelope(bbox.getBoundingEnvelope());
      if (bbox instanceof SpatialClause.GeometryIsWithin) {
        fSpatial.setSelectedBounds(ISearchFilterSpatialObj.OptionsBounds.dataWithinExtent.name());
      } else {
        fSpatial.setSelectedBounds(ISearchFilterSpatialObj.OptionsBounds.useGeogExtent.name());
      }
View Full Code Here

TOP

Related Classes of com.esri.gpt.catalog.discovery.SpatialClause

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.