Java GIS:使用地理信息系统和空间数据
import org.geotools.data.shapefile.ShapefileDataStore;
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.geometry.jts.ReferencedEnvelope;
import java.io.File;
import java.io.IOException;
public class GeoToolsExample {
public static void main(String[] args) throws IOException {
// 创建地理数据存储对象
ShapefileDataStore shapefileDataStore = new ShapefileDataStore(new File("路径/文件名.shp").toURI().toURL());
// 设置空间参考ID
shapefileDataStore.setCharset(Charset.forName("GBK"));
// 从数据存储中获取特征类型
SimpleFeatureSource featureSource = shapefileDataStore.getFeatureSource();
// 创建地图内容对象
MapContent map = new MapContent();
map.setTitle("地图标题");
// 添加图层
Style style = SLD.createSimpleStyle(featureSource.getSchema());
Layer layer = new FeatureLayer(featureSource, style);
map.addLayer(layer);
// 设置地图显示范围
ReferencedEnvelope bounds = new ReferencedEnvelope(
-100, 100, // 最小、最大X坐标
-100, 100, // 最小、最大Y坐标
featureSource.getSchema().getGeometryDescriptor().getCoordinateReferenceSystem()
);
map.setBounds(bounds);
// 创建地图显示窗口
JMapFrame.showMap(map);
}
}
这段代码使用GeoTools库加载一个Shapefile文件,并在一个地图框架中显示它。它展示了如何使用GeoTools库的基本步骤,包括创建数据存储、获取特征源、创建地图内容、设置样式和添加图层。最后,它使用JMapFrame.showMap(map)
在一个窗口中显示地图。这个例子简单明了,并且注重于展示如何将GIS数据集成到Java应用程序中。
评论已关闭