/* Ara - capture species and specimen data * * Copyright (C) 2009 INBio (Instituto Nacional de Biodiversidad) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.inbio.ara.eao.gis.impl; import org.inbio.ara.eao.gis.*; import javax.ejb.Stateless; import javax.persistence.Query; import org.inbio.ara.eao.BaseEAOImpl; import org.inbio.ara.persistence.gis.Projection; import org.postgis.*; import java.sql.*; /** * * @author esmata */ @Stateless public class ProjectionEAOImpl extends BaseEAOImpl<Projection,Long> implements ProjectionEAOLocal { public String reprojection(float valueX, float valueY, Long projectionSRID, Long reprojectioSRID) { String result = ""; String selectString ="SELECT text(ST_AsEWKT(ST_Transform(ST_GeomFromEWKT(\'SRID="+projectionSRID+";POINT("+valueX+" "+ valueY+")\'), "+ reprojectioSRID+")))"; //Connection connPostgis; try { System.out.println(selectString); Query reprojectionQuery = em.createNativeQuery(selectString); result = reprojectionQuery.getSingleResult().toString(); } catch(Exception e) { System.out.println("Error al crear la conexion;"); e.printStackTrace(); } return result; } }