import java.awt.* import java.awt.image.* import javax.imageio.* import org.geotools.data.shapefile.* import org.geotools.map.* import org.geotools.renderer.lite.* import org.geotools.styling.* url = new URL("file://C:/share/geotools/world.shp") shapefile = new ShapefileDataStore(url) fs = shapefile.getFeatureSource() schema = fs.getSchema() crs = schema.getGeometryDescriptor().getCoordinateReferenceSystem() map = new DefaultMapContext([] as MapLayer[], crs) // スタイルを作成 style = SLD.createSimpleStyle(schema) map.addLayer(new FeatureLayer(fs, style)) // レンダリング renderer = new StreamingRenderer() renderer.setContext(map) // アンチエイリアスを指定 rh = new RenderingHints( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON ) renderer.setJava2DHints(rh) width = 400 bounds = map.getMaxBounds() rect = new Rectangle(0, 0, width, (int)(width * bounds.getHeight() / bounds.getWidth())) image = new BufferedImage((int)rect.width, (int)rect.height, BufferedImage.TYPE_INT_RGB) gr = image.createGraphics() gr.setPaint(Color.WHITE) gr.fill(rect) renderer.paint(gr, rect, bounds) ImageIO.write(image, "jpeg", new File("world_antialias.jpg"))出力画像
※世界地図のシェイプファイルは以下からダウンロード
World map for APRS
http://aprsworld.net/gisdata/world/
※日本地図は国土地理院のウェブサイトからダウンロードできます。
ダウンロード・利用規約などは以下を参照。
http://www1.gsi.go.jp/geowww/globalmap-gsi/download/index.html
※.groovy/libからGROOVY_HOME/libにgeotools-2.7.3-bin.zipに
含まれるjarをコピーする
動作環境
groovy 1.8.2, JDK6 Update27, GeoTools 2.7.3
関連情報
・GeoToolsのウェブサイト
http://geotools.org/
0 件のコメント:
コメントを投稿