OSGeo의 Geotools

14475 단어 JavaGeotoolsGISGIS

Eclipse Quickstart

osgeo의 geotools 튜토리얼을 따라하였다.

이클립스의 IDE를 활용하여서 Java의 Geotools를 세팅해본다.

메이븐 프로젝트 생성

메이븐 프로젝트를 새로 만들자.

  1. File > New > Other from the menu bar
  2. Maven > Maven Project를 선택하고 next > New Maven Project를 선택한다.
  3. New Maven Project 에서 next를 선택한다.
  4. Maven-archtype-quickstart 선택 후 next를 누른다.
  5. 기본적으로 다음과 같은 파라미터를 작성한다.
  • Group Id : org.geotools
  • Artifact Id : tutorial
  • Version : 0.0.1-SNAPSHOT (기본)
  • Package : org.geotools.tutorial
  1. 새로운 프로젝트 생성을 위하여 Finish를 누른다.
  2. App.java 파일이 생성된 것을 확인하자.
  3. src/main/javaorg.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으로 가지고 있길래 이걸로 해보았다.

  1. 패키지 org.geotools.tutorial.quickstart 를 생성하자.
  2. org.geotools.tutorial.quickstart.Quickstart 클래스를 생성하자.
  3. 다음과 같은 코드를 추가하면 된다.
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을 지도로 볼 수 있다.

좋은 웹페이지 즐겨찾기