I ran into this same problem and for me to it was changing the attribute
name to "the_geom".

Where is this documented in GeoTools? ;)

On Thu Nov 13 2014 at 8:36:07 AM Cris Lacumba <cris.lacu...@gmail.com>
wrote:

> It works changing to "the_geom"!!
>
> Thank you very very much!!!
>
> Best regards!
>
> Cris
>
>
> 2014-11-13 14:23 GMT+01:00 Andy Turner <a.g.d.tur...@leeds.ac.uk>:
>
>> Hi Cris,
>>
>>
>>
>> Not got time to try it right now, but another quick thing to try is to
>> rename “Location” to “the_geom”. I’ll try to have a look in a bit…
>>
>>
>>
>> Andy
>>
>> *From:* Cris Lacumba [mailto:cris.lacu...@gmail.com]
>> *Sent:* 13 November 2014 13:09
>> *To:* Andy Turner
>> *Cc:* geotools-gt2-users@lists.sourceforge.net
>> *Subject:* Re: [Geotools-gt2-users] Fwd: [Create a SHP file with a
>> polygon]
>>
>>
>>
>> Hello Andy,
>>
>>
>>
>> There is no problema with the file path. In fact that code creates a
>> .shp, .dbf, .fix, .prj and .shx files perfectly.
>>
>> However, I can see the data (columns with Data1 and Data2 values) in the
>> table, but the geometry does not appear. That's the problem.
>>
>>
>>
>> Can some of you try this code and try to open it in a GIS viewer? And see
>> why geometry does not appear?
>>
>>
>>
>> Thanks again!
>>
>>
>>
>> Cris
>>
>>
>>
>> 2014-11-13 12:48 GMT+01:00 Andy Turner <a.g.d.tur...@leeds.ac.uk>:
>>
>> Hi Cris,
>>
>> Not sure. The ruta filename looks a bit odd to me with backslashes. Do
>> you get the same problem if you replace the "\" with "/"?
>>
>> Andy
>>
>> ________________________________________
>> From: Cris Lacumba [cris.lacu...@gmail.com]
>> Sent: 13 November 2014 10:42
>> To: geotools-gt2-users@lists.sourceforge.net
>> Subject: [Geotools-gt2-users] Fwd: [Create a SHP file with a polygon]
>>
>>
>> Hello to all,
>>
>> I'm trying to create a SHP with a simple polygon but I'm not able to
>> achieve it.
>>
>> Here is my sample code:
>>
>> --
>>
>>
>> package GeotoolsPruebas;
>>
>> import java.io.File;
>>
>> import java.io.Serializable;
>>
>> import java.util.HashMap;
>>
>> import java.util.Map;
>>
>> import com.vividsolutions.jts.geom.Coordinate;
>>
>> import com.vividsolutions.jts.geom.GeometryFactory;
>>
>> import com.vividsolutions.jts.geom.LinearRing;
>>
>> import com.vividsolutions.jts.geom.Polygon;
>>
>> import org.geotools.data.DefaultTransaction;
>>
>> import org.geotools.data.Transaction;
>>
>> import org.geotools.data.shapefile.ShapefileDataStore;
>>
>> import org.geotools.data.shapefile.ShapefileDataStoreFactory;
>>
>> import org.geotools.data.simple.SimpleFeatureSource;
>>
>> import org.geotools.data.simple.SimpleFeatureStore;
>>
>> import org.geotools.feature.DefaultFeatureCollection;
>>
>> import org.geotools.feature.simple.SimpleFeatureBuilder;
>>
>> import org.geotools.feature.simple.SimpleFeatureTypeBuilder;
>>
>> import org.geotools.geometry.jts.JTSFactoryFinder;
>>
>> import org.geotools.referencing.crs.DefaultGeographicCRS;
>>
>> import org.opengis.feature.simple.SimpleFeature;
>>
>> import org.opengis.feature.simple.SimpleFeatureType;
>>
>> public class PruebaGeotools {
>>
>> public PruebaGeotools() {
>>
>> //Create de SHP Type
>>
>> SimpleFeatureType TYPE = createFeatureType();
>>
>> DefaultFeatureCollection collection = new DefaultFeatureCollection();
>>
>> try {
>>
>> GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory();
>>
>> Coordinate[] coords =
>>
>> new Coordinate[] {new Coordinate(4, 0), new Coordinate(2, 2),
>>
>> new Coordinate(4, 4), new Coordinate(6, 2), new Coordinate(4, 0) };
>>
>> LinearRing ring = geometryFactory.createLinearRing( coords );
>>
>> LinearRing holes[] = null; // use LinearRing[] to represent holes
>>
>> Polygon polygon = geometryFactory.createPolygon(ring, holes );
>>
>>
>>
>> SimpleFeatureBuilder featureBuilder = new SimpleFeatureBuilder(TYPE);
>>
>> featureBuilder.add(polygon);
>>
>> featureBuilder.add("Data1");
>>
>> featureBuilder.add("Data2");
>>
>> SimpleFeature feature = featureBuilder.buildFeature("Element 1");
>>
>> collection.add(feature);
>>
>> //SAVE DATA TO A FILE
>>
>> String ruta = "C:\\Data\\Test.shp";
>>
>> File file = new File(ruta);
>>
>> ShapefileDataStoreFactory dataStoreFactory = new
>> ShapefileDataStoreFactory();
>>
>> Map<String, Serializable> params = new HashMap<String, Serializable>();
>>
>> params.put("url", file.toURI().toURL());
>>
>> params.put("create spatial index", Boolean.TRUE);
>>
>> ShapefileDataStore newDataStore = (ShapefileDataStore)
>> dataStoreFactory.createNewDataStore(params);
>>
>> newDataStore.createSchema(TYPE);
>>
>> newDataStore.forceSchemaCRS(DefaultGeographicCRS.WGS84);
>>
>> /*
>>
>> * Write the features to the shapefile
>>
>> */
>>
>> Transaction transaction = new DefaultTransaction("create");
>>
>> String typeName = newDataStore.getTypeNames()[0];
>>
>> SimpleFeatureSource featureSource =
>> newDataStore.getFeatureSource(typeName);
>>
>> if (featureSource instanceof SimpleFeatureStore) {
>>
>> SimpleFeatureStore featureStore = (SimpleFeatureStore) featureSource;
>>
>> featureStore.setTransaction(transaction);
>>
>> try {
>>
>> //ADD ALL THE FEATURES
>>
>> featureStore.addFeatures(collection);
>>
>> transaction.commit();
>>
>> } catch (Exception problem) {
>>
>> problem.printStackTrace();
>>
>> transaction.rollback();
>>
>> } finally {
>>
>> transaction.close();
>>
>> }
>>
>> System.exit(0); // success!
>>
>> } else {
>>
>> System.out.println(typeName + " does not support read/write access");
>>
>> System.exit(1);
>>
>> }
>>
>> } catch(Exception e) {
>>
>> e.printStackTrace();
>>
>> }
>>
>> }
>>
>> private static SimpleFeatureType createFeatureType() {
>>
>> SimpleFeatureTypeBuilder builder = new SimpleFeatureTypeBuilder();
>>
>> builder.setName("Location");
>>
>> builder.setCRS(DefaultGeographicCRS.WGS84); // <- Coordinate reference
>> system
>>
>> // add attributes in order
>>
>> builder.add("Location", Polygon.class);
>>
>> builder.length(15).add("Name1", String.class); // <- 15 chars width for
>> name field
>>
>> builder.length(15).add("Name2", String.class); // <- 15 chars width for
>> name field
>>
>> // build the type
>>
>> final SimpleFeatureType LOCATION = builder.buildFeatureType();
>>
>> return LOCATION;
>>
>> }
>>
>>
>>
>> public static void main(String args[]) {
>>
>> PruebaGeotools objPruebaGeotools = new PruebaGeotools();
>>
>> }
>>
>> }
>>
>>
>> --
>>
>> What I'm doing wrong?
>>
>> Thanks in advance!
>>
>> Regards
>>
>> Cris
>>
>>
>>
>
> ------------------------------------------------------------
> ------------------
> Comprehensive Server Monitoring with Site24x7.
> Monitor 10 servers for $9/Month.
> Get alerted through email, SMS, voice calls or mobile push notifications.
> Take corrective actions from your mobile device.
> http://pubads.g.doubleclick.net/gampad/clk?id=154624111&;
> iu=/4140/ostg.clktrk_______________________________________________
> GeoTools-GT2-Users mailing list
> GeoTools-GT2-Users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>
------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk
_______________________________________________
GeoTools-GT2-Users mailing list
GeoTools-GT2-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to