|
From: <de...@us...> - 2012-10-01 14:56:08
|
Revision: 7681
http://fudaa.svn.sourceforge.net/fudaa/?rev=7681&view=rev
Author: deniger
Date: 2012-10-01 14:55:59 +0000 (Mon, 01 Oct 2012)
Log Message:
-----------
correction bogues export GML + attirbuts de types inconnus ignor?\195?\169s
Modified Paths:
--------------
trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/gml/GISGMLZoneExporter.java
Modified: trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/gml/GISGMLZoneExporter.java
===================================================================
--- trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/gml/GISGMLZoneExporter.java 2012-09-28 18:54:27 UTC (rev 7680)
+++ trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/gml/GISGMLZoneExporter.java 2012-10-01 14:55:59 UTC (rev 7681)
@@ -11,7 +11,6 @@
*/
package org.fudaa.ctulu.gis.gml;
-import com.memoire.fu.FuLib;
import gnu.trove.TIntArrayList;
import gnu.trove.TObjectIntHashMap;
@@ -43,6 +42,7 @@
import com.memoire.fu.FuLog;
import com.vividsolutions.jts.geom.Geometry;
+import java.util.Date;
/**
* @author Fred Deniger
@@ -62,22 +62,33 @@
private boolean useIdAsName_;
/**
- * Cr\xE9ation de tous les attributes types a partir des attributs de la zone. L'attribut pris pour Z n'est pas cr\xE9\xE9, car transf\xE9r\xE9
- * dans le Z.
*
+ * @param att
+ * @return true si les donn\xE9es font parties des donn\xE9es support\xE9es par les exports SIG. (cf ShapefileDataStore)
+ */
+ public boolean isAccepted(GISAttributeInterface att) {
+ Class dataClass = att.getDataClass();
+ return Date.class.isAssignableFrom(dataClass) || Number.class.isAssignableFrom(dataClass) || CharSequence.class.isAssignableFrom(dataClass)
+ || Boolean.class.equals(dataClass);
+ }
+
+ /**
+ * Cr\xE9ation de tous les attributes types a partir des attributs de la zone. L'attribut pris pour Z n'est pas cr\xE9\xE9, car transf\xE9r\xE9 dans le Z.
+ *
* @param _zone La zone.
* @param _attIsZ L'attribut pris pour Z
* @param _attrIdx Argument de sortie. Une table associant l'indice des attributs de la zone a un attribut cr\xE9\xE9.
* @return Les attributs cr\xE9es.
*/
public AttributeType[] createAttributes(final GISDataModel _zone, final GISAttributeDouble _attIsZ,
- final TObjectIntHashMap _attrIdx) {
+ final TObjectIntHashMap _attrIdx) {
final int attributeNb = _zone.getNbAttributes();
final TIntArrayList attribute = new TIntArrayList(attributeNb);
for (int i = 0; i < attributeNb; i++) {
+ final GISAttributeInterface processedAttribute = _zone.getAttribute(i);
// Seul l'attribut pris pour Z n'est pas enregistr\xE9.
- if (!_zone.getAttribute(i).equals(_attIsZ)) {
+ if (!processedAttribute.equals(_attIsZ) && isAccepted(processedAttribute)) {
// if (!_zone.getAttribute(i).isAtomicValue()) {
attribute.add(i);
if (FuLog.isDebug()) {
@@ -122,7 +133,7 @@
* @throws IllegalAttributeException
*/
public void process(final ProgressionInterface _prog, final GISDataModel _zone, final GISAttributeDouble _attIsZ,
- final DataStore _dest)
+ final DataStore _dest)
throws IOException, SchemaException, IllegalAttributeException {
out_ = null;
store_ = _dest;
@@ -140,7 +151,7 @@
* @throws IllegalAttributeException
*/
public void processGML(final ProgressionInterface _prog, final GISZoneCollection _zone, final OutputStream _dest) throws IOException,
- SchemaException, IllegalAttributeException {
+ SchemaException, IllegalAttributeException {
out_ = _dest;
store_ = null;
_zone.prepareExport();
@@ -148,23 +159,23 @@
}
public void processGML(final ProgressionInterface _prog, final GISDataModel _zone, final OutputStream _dest) throws IOException,
- SchemaException, IllegalAttributeException {
+ SchemaException, IllegalAttributeException {
out_ = _dest;
store_ = null;
process(_prog, _zone, null);
}
/**
- * Enregistre la zone sous un format GML. <p> Les attributs globaux sont enregistr\xE9s comme attributs globaux de chaque
- * g\xE9om\xE9trie, l'attribut pris pour Z est enregistr\xE9 dans les coordonn\xE9es Z des g\xE9om\xE9tries.<br> Les attributs atomiques sont
- * enregistr\xE9s sous forme de tableau de String, s\xE9par\xE9s par une virgule.
+ * Enregistre la zone sous un format GML. <p> Les attributs globaux sont enregistr\xE9s comme attributs globaux de chaque g\xE9om\xE9trie, l'attribut pris
+ * pour Z est enregistr\xE9 dans les coordonn\xE9es Z des g\xE9om\xE9tries.<br> Les attributs atomiques sont enregistr\xE9s sous forme de tableau de String,
+ * s\xE9par\xE9s par une virgule.
*
* @param _prog Progression de la tache.
* @param _zone La zone a enregistrer
* @param _attIsZ L'attrribut pris pour Z (atomique ou non).
*/
private void process(final ProgressionInterface _prog, final GISDataModel _zone, GISAttributeDouble _attIsZ) throws IOException, SchemaException,
- IllegalAttributeException {
+ IllegalAttributeException {
/*
* Pour que les z atomiques soient export\xE9s correctement, il faut que prepareExport() ait \xE9t\xE9 appel\xE9 en amont de cette
* m\xE9thode.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-02-22 21:22:24
|
Revision: 8294
http://fudaa.svn.sourceforge.net/fudaa/?rev=8294&view=rev
Author: deniger
Date: 2013-02-22 21:22:16 +0000 (Fri, 22 Feb 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/gml/GISGMLZoneExporter.java
Modified: trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/gml/GISGMLZoneExporter.java
===================================================================
--- trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/gml/GISGMLZoneExporter.java 2013-02-22 15:59:22 UTC (rev 8293)
+++ trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/gml/GISGMLZoneExporter.java 2013-02-22 21:22:16 UTC (rev 8294)
@@ -11,12 +11,15 @@
*/
package org.fudaa.ctulu.gis.gml;
+import com.memoire.fu.FuLog;
+import com.vividsolutions.jts.geom.Geometry;
import gnu.trove.TIntArrayList;
import gnu.trove.TObjectIntHashMap;
-
import java.io.IOException;
import java.io.OutputStream;
-
+import java.util.Date;
+import org.apache.commons.lang.ObjectUtils;
+import org.apache.commons.lang.StringUtils;
import org.fudaa.ctulu.CtuluActivity;
import org.fudaa.ctulu.ProgressionInterface;
import org.fudaa.ctulu.ProgressionUpdater;
@@ -24,6 +27,8 @@
import org.fudaa.ctulu.gis.GISAttributeDouble;
import org.fudaa.ctulu.gis.GISAttributeInterface;
import org.fudaa.ctulu.gis.GISAttributeModel;
+import org.fudaa.ctulu.gis.GISDataModel;
+import org.fudaa.ctulu.gis.GISDataModelFeatureAdapter;
import org.fudaa.ctulu.gis.GISLib;
import org.fudaa.ctulu.gis.GISZoneCollection;
import org.geotools.data.DataStore;
@@ -38,15 +43,6 @@
import org.geotools.feature.SchemaException;
import org.geotools.feature.type.BasicFeatureTypes;
-import org.fudaa.ctulu.gis.GISDataModel;
-
-import com.memoire.fu.FuLog;
-import com.vividsolutions.jts.geom.Geometry;
-import java.util.Date;
-import org.apache.commons.lang.ObjectUtils;
-import org.apache.commons.lang.StringUtils;
-import org.fudaa.ctulu.gis.GISDataModelFeatureAdapter;
-
/**
* @author Fred Deniger
* @version $Id: GISGMLZoneExporter.java,v 1.1.6.1 2008-03-28 14:59:28 bmarchan Exp $
@@ -144,6 +140,22 @@
process(_prog, _zone, _attIsZ);
}
+ public void processStore(final ProgressionInterface _prog, final GISDataModel _zone,
+ final DataStore _dest)
+ throws IOException, SchemaException, IllegalAttributeException {
+ out_ = null;
+ store_ = _dest;
+ process(_prog, _zone, null, _dest);
+ }
+
+ public void process(final ProgressionInterface _prog, final GISZoneCollection _zone, final DataStore _dest) throws IOException,
+ SchemaException, IllegalAttributeException {
+ out_ = null;
+ store_ = _dest;
+ _zone.prepareExport();
+ process(_prog, _zone, _zone.getAttributeIsZ());
+ }
+
/**
* Attention: l'outputstream n'est pas ferme.
*
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|