ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๋ฐ˜์‘ํ˜•

geotools ๋กœ shp > postsql ์ž„ํฌํŠธ์‹œ ์ขŒํ‘œ ์ˆœ์„œ๋ฅผ ๋ณ€๊ฒฝํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค.

 

SimpleFeatureTypeBuilder builder = new SimpleFeatureTypeBuilder();
		
// ์ขŒํ‘œ x.y ์ˆœ์„œ ๋ณ€ํ™˜ 
Hints hints = new Hints(Hints.FORCE_LONGITUDE_FIRST_AXIS_ORDER, Boolean.FALSE);
CRSAuthorityFactory factory = ReferencingFactoryFinder.getCRSAuthorityFactory("EPSG", hints);
CoordinateReferenceSystem AXIS_CRS = factory.createCoordinateReferenceSystem("EPSG:4326");
builder.setCRS(AXIS_CRS);

 

 

 

์ขŒํ‘œ๋ณ€ํ™˜์‹œ ์ฃผ์˜ํ•ด์•ผํ•  ์ 

์ขŒํ‘œ ๋ณ€ํ™˜์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ 

๋ฐ˜๋“œ์‹œ ๊ธฐ์กด์ขŒํ‘œ๊ณ„์™€ ๋ณ€๊ฒฝํ•  ์ขŒํ‘œ๊ณ„์˜ AXIS ORDER๊ฐ€ ๋™์ผํ•ด์•ผ ํ•œ๋‹ค.

 

๋•Œ๋ฌธ์— ์œ„์—์„œ ์ •์˜ํ•œ ์ƒ์„ฑํ•œ factory ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด

์ขŒํ‘œ์ˆœ์„œ๋ฅผ ์žฌ์ •์˜ํ•œ CRS๊ฐ์ฒด๋กœ ๋‘ ์ขŒํ‘œ์ฒด๊ณ„์˜ ์ˆœ์„œ๋ฅผ ๋งž์ถฐ์ฃผ๋ฉด ๋œ๋‹ค.

CRSAuthorityFactory factory = ReferencingFactoryFinder.getCRSAuthorityFactory("EPSG", hints);

 

 

 

CoordinateReferenceSystem sourceCRS_T = factory.createCoordinateReferenceSystem("EPSG:"+crsCode);
CoordinateReferenceSystem targetCRS = factory.createCoordinateReferenceSystem(shaEPSG);
MathTransform transform = CRS.findMathTransform(sourceCRS, targetCRS,true);
try (SimpleFeatureIterator iterator = reCollection.features()) {
	while (iterator.hasNext()) {
		SimpleFeature type = iterator.next();
		Geometry defaultGeometry = (Geometry) type.getDefaultGeometry();
		type.setAttribute("the_geom", JTS.transform(defaultGeometry, transform));
	}
} catch (MismatchedDimensionException e) {
	// TODO Auto-generated catch block
e.printStackTrace();
} catch (TransformException e) {
	// TODO Auto-generated catch block
e.printStackTrace();
}

 

๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€