1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
| /*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package projet1;
import org.geotoolkit.data.query.QueryBuilder;
import com.vividsolutions.jts.geom.Point;
import java.awt.BorderLayout;
import java.io.File;
import java.net.URL;
import javax.swing.JFrame;
import javax.swing.JPanel;
import org.geotoolkit.data.DataStore;
import org.geotoolkit.data.DataStoreFinder;
import org.geotoolkit.data.FeatureCollection;
import org.geotoolkit.factory.FactoryFinder;
import org.geotoolkit.gui.swing.go2.JMap2D;
import org.geotoolkit.gui.swing.go2.control.JNavigationBar;
import org.geotoolkit.map.MapBuilder;
import org.geotoolkit.map.MapLayer;
import org.geotoolkit.referencing.crs.DefaultGeographicCRS;
import org.geotoolkit.style.StyleConstants;
import org.geotoolkit.util.RandomStyleFactory;
import org.opengis.feature.type.Name;
public class projet1 {
/**
* @param args the command line arguments
*/
public static void main(String[] args)throws Exception {
//pour creer des geometries, points, lignes, polygons ...
final com.vividsolutions.jts.geom.GeometryFactory GF = new com.vividsolutions.jts.geom.GeometryFactory();
final org.geotoolkit.style.MutableStyleFactory MSF = (org.geotoolkit.style.MutableStyleFactory)FactoryFinder.getStyleFactory(null) ;
//on définit le modele de données
final org.geotoolkit.feature.FeatureTypeBuilder ftb = new org.geotoolkit.feature.FeatureTypeBuilder();
ftb.setName("MonModel");
//un attribut de type Point avec projection cartographique CRS:84 (longtitude/latitude)
ftb.add("geometry", Point.class, DefaultGeographicCRS.WGS84);
ftb.setDefaultGeometry("geometry");
final org.opengis.feature.simple.SimpleFeatureType type = ftb.buildSimpleFeatureType();
maconnexion c = new maconnexion();
String s = new String();
s = "id";
final org.geotoolkit.data.FeatureCollection collection = org.geotoolkit.data.DataUtilities.collection("id-col", type);
while (c.rs.next())
{
//creation de quelques valeurs
final org.geotoolkit.feature.simple.SimpleFeatureBuilder sfb = new org.geotoolkit.feature.simple.SimpleFeatureBuilder(type);
sfb.set("geometry", GF.createPoint(new com.vividsolutions.jts.geom.Coordinate(c.rs.getInt(1),c.rs.getInt(2))));
final org.opengis.feature.simple.SimpleFeature feature1 = sfb.buildFeature(s+"d");
//creation d'une collection de valeur
collection.add(feature1);
}
//creation une couche de donnée pour affichage, données + style
final org.geotoolkit.style.MutableStyle style = MSF.style(StyleConstants.DEFAULT_POINT_SYMBOLIZER);
final org.geotoolkit.map.MapLayer featureLayer = MapBuilder.createFeatureLayer(collection, style);
java.net.URL pURL = new URL("file:C:\\gadm_FRA_SHP\\FRA.shp");
DataStore pDS = DataStoreFinder.getDataStore("key",pURL);
Name pName = pDS.getNames().iterator().next();
FeatureCollection pFC = pDS.createSession(true).getFeatureCollection(QueryBuilder.all(pName));
MapLayer pLayer = MapBuilder.createFeatureLayer(pFC, RandomStyleFactory.createDefaultVectorStyle(pFC));
//pMapCntx.layers().add(pLayer);
//JMap2DFrame.show(pMapCntx);
//ensemble des couches a afficher
final org.geotoolkit.map.MapContext context = org.geotoolkit.map.MapBuilder.createContext();
context.layers().add(featureLayer);
context.layers().add(pLayer);
//creation de la fenetre pour affichage
final org.geotoolkit.gui.swing.go2.JMap2D map = new JMap2D();
//map.setToolTipText("bonjour");
map.getContainer().setContext(context);
map.getCanvas().getController().setVisibleArea(context.getBounds());
final JNavigationBar bar = new JNavigationBar(map);
final JPanel panneau = new JPanel(new BorderLayout());
panneau.add(BorderLayout.NORTH,bar);
panneau.add(BorderLayout.CENTER,map);
final JFrame frm = new JFrame();
frm.setContentPane(panneau);
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frm.setSize(800, 600);
frm.setLocationRelativeTo(null);
frm.setVisible(true);
// context.layers().clear(); permet la suppression des layers
//featureLayer.setSelectable(true);
// featureLayer.setVisible(true);
// context.layers().add(featureLayer);
// Methods in org.geotoolkit.map with parameters of type LayerListener
//void MapLayer.addLayerListener(LayerListener listener)
}
} |
Partager