0
hk80グリッドのセットをlat/lonに変換するにはどうすればよいですか?GeoTools/ProJ.4(またはその他のAPI)を使用してHK80 GRIDから座標を緯度/経度に変換するにはどうすればよいですか?
緯度/経度WGS84はEPSG 4326
であるか、いずれかが存在している間HK 1980グリッドは、EPSG 2326ですが、私は次のコードはあなたを助けることができることを願っています。この
hk80グリッドのセットをlat/lonに変換するにはどうすればよいですか?GeoTools/ProJ.4(またはその他のAPI)を使用してHK80 GRIDから座標を緯度/経度に変換するにはどうすればよいですか?
緯度/経度WGS84はEPSG 4326
であるか、いずれかが存在している間HK 1980グリッドは、EPSG 2326ですが、私は次のコードはあなたを助けることができることを願っています。この
を行うため、よりsuitibleです。あなたの目的を達成するためにGeoToolsを使用する必要があります。また、epsg 2326に関連するnorthingとeastingを挿入する必要があります。しかし、私はまだ例外の問題を解決できません。このコードを正しく使用するには、gt-epsg-postgresql以外のすべてのGeoTools jarをダウンロードしてインポートする必要があります。
package org.geotools.tutorial;
import java.awt.geom.Point2D;
import java.io.File;
import org.geotools.data.FileDataStore;
import org.geotools.data.FileDataStoreFinder;
import org.geotools.data.simple.SimpleFeatureSource;
import org.geotools.factory.Hints;
import org.geotools.map.FeatureLayer;
import org.geotools.map.Layer;
import org.geotools.map.MapContent;
import org.geotools.referencing.CRS;
import org.geotools.referencing.ReferencingFactoryFinder;
import org.geotools.styling.SLD;
import org.geotools.styling.Style;
import org.geotools.swing.JMapFrame;
import org.geotools.swing.data.JFileDataStoreChooser;
import org.opengis.referencing.crs.CRSAuthorityFactory;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.opengis.referencing.operation.MathTransform;
import org.geotools.referencing.*;
/**
* Prompts the user for a shapefile and displays the contents on the screen in a map frame.
* <p>
* This is the GeoTools Quickstart application used in documentationa and tutorials. *
*/
public class quickstart {
/**
* GeoTools Quickstart demo application. Prompts the user for a shapefile and displays its
* contents on the screen in a map frame
*/
public static void main(String[] args) throws Exception {
//Point2D.Double srcProjec = new Point2D.Double (836694.050, 819069.800);
//Point2D.Double dstProjec = new Point2D.Double (132,37);
// display a data store file chooser dialog for shapefiles
//Hints hints = new Hints(Hints.FORCE_LONGITUDE_FIRST_AXIS_ORDER, Boolean.TRUE);
//CRSAuthorityFactory factory = ReferencingFactoryFinder.getCRSAuthorityFactory("EPSG", hints);
//CoordinateReferenceSystem crs = factory.createCoordinateReferenceSystem("EPSG:4326");
CRSAuthorityFactory factory = CRS.getAuthorityFactory(true);
CoordinateReferenceSystem srcCRS = factory.createCoordinateReferenceSystem("EPSG:2326");
CoordinateReferenceSystem dstCRS = factory.createCoordinateReferenceSystem("EPSG:4326");
boolean lenient = true; // allow for some error due to different datums
MathTransform transform = CRS.findMathTransform(srcCRS, dstCRS, lenient);
double[] srcProjec = {818039, 836361};// easting, northing,
double[] dstProjec = {0, 0};
transform.transform(srcProjec, 0, dstProjec, 0, 1);
System.out.println("longitude: " + dstProjec[0] + ", latitude: " + dstProjec[1]);
}
}
質問は、半年前に投稿されてきたが、私も(私はgeotoolのAPIの存在を把握するために1ヶ月を使用していますが)問題を解決するためにgeotoolを使用思い出しanswer.Iいただき、ありがとうございます – Alvar
私はまったく同じものをAndroidで使っています。 Androidにjava libがないため、コンパイルに失敗しました。座標変換に必要なjarファイルを教えてください。 –