import org.esa.snap.core.dataio.ProductIO; import org.esa.snap.core.datamodel.Product; import org.esa.snap.core.util.ProductUtils; import java.awt.geom.Area; import java.awt.geom.GeneralPath; class Main { public static void main(String[] args) throws Exception { Product product1 = ProductIO.readProduct(args[0]); Product product2 = ProductIO.readProduct(args[1]); Area p1Area = getArea(product1); Area p2Area = getArea(product2); Area intersectionArea = new Area(p1Area); intersectionArea.intersect(p2Area); if(intersectionArea.isEmpty()) { System.out.println("Products do not overlap"); } else { System.out.println("Products do overlap"); } } private static Area getArea(Product product1) { Area p1Area = new Area(); for (GeneralPath generalPath : ProductUtils.createGeoBoundaryPaths(product1)) { Area area = new Area(generalPath); p1Area.add(area); } return p1Area; } }