Quelqu'un connaît-il une bibliothèque en Java qui peut analyser les fichiers de formes ESRI?


Je suis intéressé par l'écriture d'un programme de visualisation de la route de données dans le 2009 ces fichiers. Je voudrais tracer les données de ligne pour afficher toutes les routes de mon comté.

Le fichier de formes ESRI ou simplement un shapefile est un géospatial populaire format de données vectorielles pour logiciels de systèmes d'informations. Il est développé et réglementé par ESRI en tant que (principalement) spécification ouverte pour les données interopérabilité entre ESRI et autres logiciel produit.1 Un " fichier de formes" fait généralement référence à une collection de les fichiers avec ".shp", ".shx",".dbf", et autres extensions sur un préfixe commun nom (par exemple, "les lacs.*"). Réel shapefile se rapporte spécifiquement à les fichiers avec l' ".shp" extension, cependant ce seul fichier est incomplet pour la distribution, comme les autres des fichiers de soutien sont requis.

Quelqu'un connaît-il des bibliothèques existantes pour l'analyse et la lecture dans les données de ligne pour Shapefiles?

Author: geographika, 2010-01-11

5 answers

Outils géographiques va le faire. Il y a une tonne de pots et vous n'avez pas besoin de la plupart d'entre eux. Cependant, la lecture du fichier de formes n'est que de quelques lignes.

File file = new File("mayshapefile.shp");

try {
  Map<String, String> connect = new HashMap();
  connect.put("url", file.toURI().toString());

  DataStore dataStore = DataStoreFinder.getDataStore(connect);
  String[] typeNames = dataStore.getTypeNames();
  String typeName = typeNames[0];

  System.out.println("Reading content " + typeName);

  FeatureSource featureSource = dataStore.getFeatureSource(typeName);
  FeatureCollection collection = featureSource.getFeatures();
  FeatureIterator iterator = collection.features();


  try {
    while (iterator.hasNext()) {
      Feature feature = iterator.next();
      GeometryAttribute sourceGeometry = feature.getDefaultGeometryProperty();
    }
  } finally {
    iterator.close();
  }

} catch (Throwable e) {}
 57
Author: Clint, 2017-12-13 10:06:14

Openmap possède une API Java qui fournit un accès en lecture et en écriture aux fichiers ESRI.

 8
Author: Robert Christie, 2010-01-11 21:05:38

Il est outils géographiques, ou plus exactement cette classe ShapefileDataStore.

 5
Author: adrian.tarau, 2010-01-11 21:02:43

Vous pouvez essayer d'utiliser Java de Forme ESRI Lecteur de Fichier bibliothèque. Il est petit, facile à installer et a une API très simple. Le seul inconvénient est qu'il ne lit pas les autres fichiers obligatoires et facultatifs (.shx, .dbf, etc.) qui sont généralement livrés avec un fichier de forme.

 3
Author: Ivan Mushketyk, 2013-06-01 15:15:08

Vous pouvez directement utiliser des outils GIS GUI de sorte qu'il n'est pas nécessaire de changer le code source de GeoTools.

J'utilise QGIS qui fait toutes les opérations(encore plus) que GeoTools.

Quantum GIS - Un système d'information géographique open source pour l'édition, la fusion et la simplification des cartes shapefile. Voir aussi: création de cartes avec plusieurs couches à l'aide de Quantum GIS.

 0
Author: user3577609, 2014-06-27 10:22:37