List of usage examples for org.apache.solr.handler.dataimport DataImportHandlerException DataImportHandlerException
public DataImportHandlerException(int err, String message, Throwable cause)
From source file:fr.cnes.sitools.solr.transformer.WcsTransformer.java
License:Open Source License
private void computeHealpixEquatorial(final List<Point2D.Double> points) { try {//from w ww .j av a 2s. c om List<Point> skyPoints = new ArrayList<Point>(points.size()); for (Point2D.Double point : points) { skyPoints.add(new Point(point.x, point.y, CoordSystem.EQUATORIAL)); } if (skyPoints.size() == 1) { Index index = AbstractGeometryIndex.createIndex(skyPoints.get(0), fr.cnes.sitools.searchgeometryengine.Scheme.valueOf(Scheme.RING.name())); for (int order = minOrder; order <= maxOrder; order++) { ((RingIndex) index).setOrder(order); String pixelNumber = String.valueOf(index.getIndex()); switch (scheme) { case RING: break; case NESTED: //((NestedIndex) index).setOrderMax(order); int nside = (int) Math.pow(2.0, order); HealpixIndex healpixIndex = new HealpixIndex(nside, Scheme.RING); pixelNumber = String.valueOf(healpixIndex.ring2nest(Long.valueOf(pixelNumber))); break; default: throw new RuntimeException("Unknown Scheme"); } row.put("order" + order, pixelNumber); } } else { Shape polygon = new Polygon(skyPoints); Index index = AbstractGeometryIndex.createIndex(polygon, fr.cnes.sitools.searchgeometryengine.Scheme.valueOf(Scheme.RING.name())); for (int order = minOrder; order <= maxOrder; order++) { row.put("order" + order, computeAtOrder(order, index)); } } } catch (Exception ex) { throw new DataImportHandlerException(DataImportHandlerException.SKIP_ROW, row.toString(), ex); } }
From source file:fr.cnes.sitools.solr.transformer.WcsTransformer.java
License:Open Source License
private void computeHealpixGalactic(final List<Point2D.Double> points) { try {//from w ww . j av a 2 s . c om List<Point> skyPoints = new ArrayList<Point>(points.size()); AstroCoordinate astro = new AstroCoordinate(); for (Point2D.Double point : points) { astro.setRaAsDecimal(point.x); astro.setDecAsDecimal(point.y); astro.setCoordinateSystem(AstroCoordinate.CoordinateSystem.EQUATORIAL); astro.processTo(AstroCoordinate.CoordinateSystem.GALACTIC); skyPoints.add(new Point(astro.getRaAsDecimal(), astro.getDecAsDecimal(), CoordSystem.GALACTIC)); } if (skyPoints.size() == 1) { Index index = AbstractGeometryIndex.createIndex(skyPoints.get(0), fr.cnes.sitools.searchgeometryengine.Scheme.valueOf(Scheme.RING.name())); for (int order = minOrder; order <= maxOrder; order++) { ((RingIndex) index).setOrder(order); String pixelNumber = String.valueOf(index.getIndex()); switch (scheme) { case RING: break; case NESTED: //((NestedIndex) index).setOrderMax(order); int nside = (int) Math.pow(2.0, order); HealpixIndex healpixIndex = new HealpixIndex(nside, Scheme.RING); pixelNumber = String.valueOf(healpixIndex.ring2nest(Long.valueOf(pixelNumber))); break; default: throw new RuntimeException("Unknown Scheme"); } row.put("order" + order, pixelNumber); } } else { Shape polygon = new Polygon(skyPoints); Index index = AbstractGeometryIndex.createIndex(polygon, fr.cnes.sitools.searchgeometryengine.Scheme.valueOf(Scheme.RING.name())); for (int order = minOrder; order <= maxOrder; order++) { row.put("order" + order, computeAtOrder(order, index)); } } } catch (Exception ex) { throw new DataImportHandlerException(DataImportHandlerException.SKIP_ROW, row.toString(), ex); } }