// ~ Methods ------------------------------------------------------------ @Override protected Set<CidsBean> doInBackground() throws Exception { final FlurstueckSchluesselCustomBean currentKey = LagisBroker.getInstance().getCurrentFlurstueckSchluessel(); if (currentKey != null) { Geometry flurstueckGeom = LagisBroker.getInstance().getInstance().getCurrentWFSGeometry(); if (flurstueckGeom != null) { log.info( "Crossover: Geometrie zum bestimmen der Kassenzeichen (vor Transformation): " + flurstueckGeom + ",SRS" + flurstueckGeom.getSRID()); flurstueckGeom = CrsTransformer.transformToGivenCrs(flurstueckGeom, "EPSG:31466"); // Hardcoded FTW log.info( "Crossover: Geometrie zum bestimmen der Kassenzeichen: " + flurstueckGeom + ",SRS" + flurstueckGeom.getSRID()); // final KassenzeichenFacadeRemote verdisServer = // LagisBroker.getInstance().getVerdisServer(); final String query = "SELECT 11, k.id\n" + "FROM kassenzeichen k, geom\n" + "WHERE k.geometrie = geom.id\n" + "AND not isEmpty(geom.geo_field)\n" + "AND intersects(geom.geo_field,st_buffer(st_buffer(geometryfromtext('" + flurstueckGeom.toText() + "',31466), " + LagisBroker.getInstance().getKassenzeichenBuffer() + "), 0))"; if (log.isDebugEnabled()) { log.debug(query); } if (isCancelled()) { return null; } final MetaObject[] result = CidsBroker.getInstance().getMetaObject(query, "VERDIS_GRUNDIS"); final HashSet<CidsBean> kassenzeichen = new HashSet<CidsBean>((result == null) ? 0 : result.length); if (result != null) { for (int i = 0; i < result.length; i++) { kassenzeichen.add(result[i].getBean()); } } // kassenzeichen = // verdisServer.getIntersectingKassenzeichen(flurstueckGeom, // LagisBroker.getInstance().getKassenzeichenBuffer()); if ((kassenzeichen != null) && (kassenzeichen.size() > 0)) { if (log.isDebugEnabled()) { log.debug("Crossover: Anzahl Kassenzeichen: " + kassenzeichen.size()); } } else { log.info("Crossover:Keine geschnittenen Kassenzeichen gefunden."); // ToDo Meldung an // benutzer } return kassenzeichen; } else { // ToDo user message ! lblMessage.setText( "<html>Keine Flurstücksgeometrie vorhanden,<br/>bestimmen der Kasssenzeichen nicht möglich.</html>"); log.warn("Crossover: Keine Geometrie vorhanden zum bestimmen der Kassenzeichen"); } } else { // ToDo user message ! lblMessage.setText( "<html>Bitte wählen Sie ein Flurstück aus,<br/>damit Kassenzeichen bestimmt werden können.</html > "); log.warn("Crossover: Kein Flurstück ausgewählt kann Lagis Kassenzeichen nicht bestimmen"); } return null; }
/** * DOCUMENT ME! * * @param crs DOCUMENT ME! * @return DOCUMENT ME! */ private boolean isCrsSupported(final Crs crs) { return CrsTransformer.extractSridFromCrs(crs.getCode()) == 35833; }