GeoTools-数据组织结构
2016年1月29日
FileDataStore ds =FileDataStoreFinder.getDataStore(newURL("file://D:/Data/shapefiles/states.shp"));
SimpleFeatureStore sfs =(SimpleFeatureStore) ds.getFeatureSource();
Style style =SLD.createSimpleStyle(sfs.getSchema());
Layer layer = newFeatureLayer(sfs,style);
MapContent map = new MapContent();
map.setTitle("GtDemoXX");
map.addLayer(layer);
//Main.java
package lee;
importjava.io.File;
importjava.io.IOException;
importorg.geotools.data.FileDataStore;
importorg.geotools.data.FileDataStoreFinder;
importorg.geotools.data.simple.SimpleFeatureSource;
importorg.geotools.map.FeatureLayer;
importorg.geotools.map.Layer;
importorg.geotools.map.MapContent;
importorg.geotools.styling.SLD;
importorg.geotools.styling.Style;
importorg.geotools.swing.JMapFrame;
importorg.geotools.swing.data.JFileDataStoreChooser;
public class Main{
public static void main(String[] args)throws IOException {
// TODO Auto-generated method stub
File file =JFileDataStoreChooser.showOpenFile("shp", null);
if(null==file){
System.out.println("file==null");
}
FileDataStore fds=FileDataStoreFinder.getDataStore(file);
SimpleFeatureSourcesfs=fds.getFeatureSource();
MapContent map=new MapContent();
map.setTitle("GtDemoxx");
Style style=SLD.createSimpleStyle(fds.getSchema());
Layer lyr = new FeatureLayer(sfs,style);
map.addLayer(lyr);
JMapFrame.showMap(map);
}
}
DataAccess
-|DataStore
--|FileDataStore
--|AbstractDataStore
…
使用SLD类直接创建样式。
创建样式:如createLineStyle()等,包含各种类型的静态函数。
Layer layer = new FeatureLayer(sfs,style);
图层管理:图层的CRUD。
UI信息:地图名称,范围等。
事件交互:图层事件等。