@Override public void run() { final PixelPos sGCP = new PixelPos(gcpData.mGCP.x, gcpData.mGCP.y); boolean getSlaveGCP = getOffsets(gcpData.mGCP, sGCP); if (getSlaveGCP) { saveSlaveGCP(sGCP); } }
private PixelPos computeLevelZeroPixelPos(ImageLayer imageLayer, int pixelX, int pixelY, int currentLevel) { if (currentLevel != 0) { AffineTransform i2mTransform = imageLayer.getImageToModelTransform(currentLevel); Point2D modelP = i2mTransform.transform(new Point2D.Double(pixelX + 0.5, pixelY + 0.5), null); AffineTransform m2iTransform = imageLayer.getModelToImageTransform(); Point2D imageP = m2iTransform.transform(modelP, null); return new PixelPos(new Float(imageP.getX()), new Float(imageP.getY())); } else { return new PixelPos(pixelX + 0.5, pixelY + 0.5); } }
private GeoPos getCenterGeoPos(GeoCoding geoCoding, int width, int height) { final PixelPos centerPixelPos = new PixelPos(0.5 * width + 0.5, 0.5 * height + 0.5); return geoCoding.getGeoPos(centerPixelPos, null); }
private float[] getLatLon(int iX, int iY, Rectangle pixelWindow, Product sourceProduct) { float xOffset = ((iX + 0.5f) * pixelWindow.width + pixelWindow.x); float yOffset = ((iY + 0.5f) * pixelWindow.height + pixelWindow.y); GeoCoding geoCoding = sourceProduct.getSceneGeoCoding(); GeoPos geoPos = geoCoding.getGeoPos(new PixelPos(xOffset, yOffset), null); return new float[]{(float) geoPos.lat, (float) geoPos.lon}; }
@Override protected double computeSample(int sourceX, int sourceY) { try { return dem.getElevation(geoCoding.getGeoPos(new PixelPos(sourceX, sourceY), null)); } catch (Exception e) { return noDataValue; } } }
private PixelPos getProductCenter(final Product product) { final GeoCoding geoCoding = product.getSceneGeoCoding(); PixelPos centerPos = null; if (geoCoding != null) { final float pixelX = (float) Math.floor(0.5f * product.getSceneRasterWidth()) + 0.5f; final float pixelY = (float) Math.floor(0.5f * product.getSceneRasterHeight()) + 0.5f; final GeoPos geoPos = geoCoding.getGeoPos(new PixelPos(pixelX, pixelY), null); final AffineTransform transform = layerCanvas.getViewport().getModelToViewTransform(); final Point2D point2D = transform.transform(new Point2D.Double(geoPos.getLon(), geoPos.getLat()), null); centerPos = new PixelPos((float) point2D.getX(), (float) point2D.getY()); } return centerPos; }
private PixelPos getProductCenter(final Product product) { final GeoCoding geoCoding = product.getSceneGeoCoding(); PixelPos centerPos = null; if (geoCoding != null) { final double pixelX = Math.floor(0.5f * product.getSceneRasterWidth()) + 0.5f; final double pixelY = Math.floor(0.5f * product.getSceneRasterHeight()) + 0.5f; final GeoPos geoPos = geoCoding.getGeoPos(new PixelPos(pixelX, pixelY), null); final AffineTransform transform = layerCanvas.getViewport().getModelToViewTransform(); final Point2D point2D = transform.transform(new Point2D.Double(geoPos.getLon(), geoPos.getLat()), null); centerPos = new PixelPos(point2D.getX(), point2D.getY()); } return centerPos; }
private String getUTMZone() { GeoPos centerPos = srcProduct.getSceneGeoCoding().getGeoPos(new PixelPos(srcProduct.getSceneRasterWidth()/2, srcProduct.getSceneRasterHeight()/2), null); int zone = (int) Math.floor(centerPos.getLon()/6+31); return String.valueOf(zone); }
private GeoPos getGeoPos(int x, int y) { final GeoPos geoPos = new GeoPos(); final GeoCoding geoCoding = sourceProduct.getSceneGeoCoding(); final PixelPos pixelPos = new PixelPos(x, y); geoCoding.getGeoPos(pixelPos, geoPos); return geoPos; }
protected void setPixelPosX(Object value, Placemark placemark) { double pixelY = placemark.getPixelPos() == null ? -1 : placemark.getPixelPos().y; placemark.setPixelPos(new PixelPos((Double) value, pixelY)); }
protected void setPixelPosY(Object value, Placemark placemark) { double pixelX = placemark.getPixelPos() == null ? -1 : placemark.getPixelPos().x; placemark.setPixelPos(new PixelPos(pixelX, (Double) value)); }
private void writeCenterLatLon(final PrintStream p) { GeoPos geoPos = srcProduct.getSceneGeoCoding().getGeoPos( new PixelPos(srcProduct.getSceneRasterWidth() / 2, srcProduct.getSceneRasterHeight() / 2), null); p.println(GammaConstants.HEADER_KEY_CENTER_LATITUDE + sep + geoPos.getLat() + tab + "degrees"); p.println(GammaConstants.HEADER_KEY_CENTER_LONGITUDE + sep + geoPos.getLon() + tab + "degrees"); GeoPos geoPos2 = srcProduct.getSceneGeoCoding().getGeoPos( new PixelPos(srcProduct.getSceneRasterWidth() / 2, (srcProduct.getSceneRasterHeight() / 2) + 100), null); GeoUtils.DistanceHeading heading = GeoUtils.vincenty_inverse(geoPos, geoPos2); p.println(GammaConstants.HEADER_KEY_HEADING + sep + heading.heading1 + tab + "degrees"); }
@Override protected void computePixel(int x, int y, Sample[] samples, WritableSample[] writableSamples) { final GeoPos geoPos = new GeoPos(); sceneGeoCoding.getGeoPos(new PixelPos(x, y), geoPos); writableSamples[0].set(aerosolTypeProvider.getAerosolType(geoPos)); }
@Override public void actionPerformed(ActionEvent e) { final Placemark placemark = Placemark.createPointPlacemark(PinDescriptor.getInstance(), "Coord_" + tableModel.getRowCount(), "", "", new PixelPos(), new GeoPos(0, 0), null); tableModel.addPlacemark(placemark); } }
public void updateDiagram(final ImageLayer imageLayer, final int pixelX, final int pixelY, final int level) { // get lat lons final GeoPos geoPos = product.getSceneGeoCoding().getGeoPos(new PixelPos(pixelX + 0.5f, pixelY + 0.5f), null); final DiagramGraph[] graphs = getGraphs(); for (DiagramGraph graph : graphs) { ((TimeSeriesGraph) graph).readValues(imageLayer, geoPos, level); } adjustAxes(false); invalidate(); }
private void getCornerCoords() { GeoPos geoPos = srcProduct.getSceneGeoCoding().getGeoPos(new PixelPos(0, 0), null); LatLng latLng = new LatLng(geoPos.lat, geoPos.lon); UTMRef utm = latLng.toUTMRef(); cornerNorth = utm.getNorthing(); cornerEast = utm.getEasting(); }
@Before public void setup() throws TransformException, FactoryException { final AffineTransform i2m = new AffineTransform(); i2m.scale(2.0, 2.0); final GeoCoding geoCoding = new CrsGeoCoding(DefaultGeographicCRS.WGS84, new Rectangle(0, 0, 10, 10), i2m); final Product product = new Product("P", "T", 10, 10); product.setSceneGeoCoding(geoCoding); placemark = Placemark.createPointPlacemark(PinDescriptor.getInstance(), "P1", "L", "", new PixelPos(1.0f, 1.0f), null, product.getSceneGeoCoding()); product.getPinGroup().add(placemark); }
@Test public void testWritingShapeFile_Pins() throws Exception { Placemark pin = Placemark.createPointPlacemark(PinDescriptor.getInstance(), "name1", "label1", "", new PixelPos(0, 0), new GeoPos(52.0, 10.0), null); ArrayList<SimpleFeature> features = new ArrayList<>(); features.add(pin.getFeature()); Class<Point> geomType = Point.class; doExportImport(features, geomType); }
public static void main(String[] args) throws TransformException, FactoryException { Product product1 = new Product("A", "B", 360, 180); product1.setSceneGeoCoding(new CrsGeoCoding(DefaultGeographicCRS.WGS84, 360, 180, -180.0, 90.0, 1.0, 1.0, 0.0, 0.0)); PinDescriptor descriptor = PinDescriptor.getInstance(); Placemark pin1 = Placemark.createPointPlacemark(descriptor, "pin_1", "Pin 1", "Schnatter!", new PixelPos(0, 0), new GeoPos(), product1.getSceneGeoCoding()); product1.getPinGroup().add(pin1); showEditPlacemarkDialog(null, product1, pin1, descriptor); } }
private void gotoProduct(final Product product) { if (product == null) return; final View theView = getWwd().getView(); final Position origPos = theView.getEyePosition(); final GeoCoding geoCoding = product.getSceneGeoCoding(); if (geoCoding != null && origPos != null) { final GeoPos centre = product.getSceneGeoCoding().getGeoPos(new PixelPos(product.getSceneRasterWidth() / 2, product.getSceneRasterHeight() / 2), null); centre.normalize(); theView.setEyePosition(Position.fromDegrees(centre.getLat(), centre.getLon(), origPos.getElevation())); } }