OSGeo의 Geotools
Eclipse Quickstart
osgeo의 geotools 튜토리얼을 따라하였다.
이클립스의 IDE를 활용하여서 Java의 Geotools를 세팅해본다.
메이븐 프로젝트 생성
메이븐 프로젝트를 새로 만들자.
- File > New > Other from the menu bar
- Maven > Maven Project를 선택하고 next > New Maven Project를 선택한다.
- New Maven Project 에서 next를 선택한다.
- Maven-archtype-quickstart 선택 후 next를 누른다.
- 기본적으로 다음과 같은 파라미터를 작성한다.
- Group Id : org.geotools
- Artifact Id : tutorial
- Version : 0.0.1-SNAPSHOT (기본)
- Package : org.geotools.tutorial
- 새로운 프로젝트 생성을 위하여 Finish를 누른다.
App.java
파일이 생성된 것을 확인하자.src/main/java
의org.geotools.tutorial.App
을 열고 실행시켜보자.
Hello World!
프로젝트에 Geotools 추가
Maven 레포지토리를 사용해서 jars를 다운해보자.
pom.xml
을 열어 다음의 3 가지를 추가해보자.
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<geotools.version>27-SNAPSHOT</geotools.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-shapefile</artifactId>
<version>${geotools.version}</version>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-swing</artifactId>
<version>${geotools.version}</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>osgeo</id>
<name>OSGeo Release Repository</name>
<url>https://repo.osgeo.org/repository/release/</url>
<snapshots><enabled>false</enabled></snapshots>
<releases><enabled>true</enabled></releases>
</repository>
<repository>
<id>osgeo-snapshot</id>
<name>OSGeo Snapshot Repository</name>
<url>https://repo.osgeo.org/repository/snapshot/</url>
<snapshots><enabled>true</enabled></snapshots>
<releases><enabled>false</enabled></releases>
</repository>
</repositories>
어플로 빠른 시작
위와 같이 세팅을 완료했다면 정상적으로 되어야 하는데, 만약 안되면 난 모른다...
이제 shp
을 받아 스크린에 출력하는 예시를 보자.
shp
은 각자 알아서 구해보자.
나는 수도권의 flux데이터를 polygon으로 가지고 있길래 이걸로 해보았다.
- 패키지
org.geotools.tutorial.quickstart
를 생성하자.org.geotools.tutorial.quickstart.Quickstart
클래스를 생성하자.- 다음과 같은 코드를 추가하면 된다.
package org.geotools.tutorial.quickstart;
import java.io.File;
import org.geotools.data.FileDataStore;
import org.geotools.data.FileDataStoreFinder;
import org.geotools.data.simple.SimpleFeatureSource;
import org.geotools.map.FeatureLayer;
import org.geotools.map.Layer;
import org.geotools.map.MapContent;
import org.geotools.styling.SLD;
import org.geotools.styling.Style;
import org.geotools.swing.JMapFrame;
import org.geotools.swing.data.JFileDataStoreChooser;
public class Quickstart {
public static void main(String[] args) throws Exception {
//shp 데이터 저장소 선택을 위한 ui 표시
File file = JFileDataStoreChooser.showOpenFile("shp", null);
if (file ==null) {
return;
}
FileDataStore store = FileDataStoreFinder.getDataStore(file);
SimpleFeatureSource featureSource = store.getFeatureSource();
//맵 콘텐츠를 생성하고 shp을 추가
MapContent map = new MapContent();
map.setTitle("Quickstart-test-1");
Style style = SLD.createSimpleStyle(featureSource.getSchema());
Layer layer = new FeatureLayer(featureSource, style);
map.addLayer(layer);
//맵 표출
JMapFrame.showMap(map);
}
}
이제 실행시켜보자.
shp
을 추가하면
shp
을 지도로 볼 수 있다.
끝
Author And Source
이 문제에 관하여(OSGeo의 Geotools), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kimdong215/OSGeo의-Geotools저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)