Hello Kapil, Your code is much more complicated that it needs to be and is also using very low-level classes / methods instead of higher-level user-friendly classes.
Please study the GeoTools feature tutorial: http://docs.geotools.org/latest/userguide/tutorial/feature/csv2shp.html There you will see a better, easier way to create a SimpleFeatureType: http://docs.geotools.org/latest/userguide/tutorial/feature/csv2shp.html#another-way-to-build-a-simplefeaturetype Also, you should use GeometryFactory methods rather than creating geometries "by hand", e.g. to create a MultiPolygon object: http://tsusiatsoftware.net/jts/javadoc/com/vividsolutions/jts/geom/GeometryFactory.html#createMultiPolygon(com.vividsolutions.jts.geom.Polygon[]) Michael On 23 January 2013 17:56, kapil <[email protected]> wrote: > Hi Michael, > Thanks for helping me but i am still unable to solved out my problem in > PolygonfeatureHelper class, I make a createPolygonFeature() which return > SimpleFeature and this method call createFeatureType() > Here is the code > > > public static SimpleFeature createPolyFeature(Geometry geom, String name ) { > GeometryFactory gf = new GeometryFactory(); > > if(geom instanceof Polygon ){ > geom = new MultiPolygon(new Polygon[] {(Polygon)geom },new > GeometryFactory()); > } > Object[] featureAttributes = { geom, name }; > SimpleFeatureBuilder sfb = new > SimpleFeatureBuilder(createFeatureType()); > sfb.add(featureAttributes); > > SimpleFeature f = sfb.buildFeature(null); > return f; > } > public static SimpleFeatureType createFeatureType() { > > AttributeDescriptor[] typesNew = new AttributeDescriptor[2]; > AttributeTypeBuilder build = new AttributeTypeBuilder(); > build.setBinding(String.class); > build.setNillable(true); > build.setLength(48); > build.defaultValue(null); > build.setName("NAME"); > AttributeDescriptor descriptor = build.buildDescriptor( "NAME" ); > > AttributeTypeBuilder build1 = new AttributeTypeBuilder(); > build1.setBinding(MultiPolygon.class); > build1.setName("the_geom"); > GeometryType geometryType = build1.buildGeometryType(); > GeometryDescriptor geomdescriptor = build1.buildDescriptor( > "the_geom", geometryType ); > > typesNew[0] = descriptor; > typesNew[1] = geomdescriptor; > SimpleFeatureTypeBuilder sf = new SimpleFeatureTypeBuilder(); > sf.addAll(typesNew); > sf.setName("Poly"); > > SimpleFeatureType ft = sf.buildFeatureType(); > return ft; > } > > > > > -- > View this message in context: > http://osgeo-org.1560.n6.nabble.com/Problem-in-showing-Layer-on-JmapPane-tp5028912p5029151.html > Sent from the geotools-gt2-users mailing list archive at Nabble.com. > > ------------------------------------------------------------------------------ > Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current > with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > MVPs and experts. ON SALE this month only -- learn more at: > http://p.sf.net/sfu/learnnow-d2d > _______________________________________________ > GeoTools-GT2-Users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnnow-d2d _______________________________________________ GeoTools-GT2-Users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
