Hi, Agree with Matthias, there are two things.
I would consider first one as a OJ bug. OJ could export empty geometries as null shapefiles but it does not (I will fill a bug report). For the mixed shapetype problem, I'm tempted to write a feature request but I'm not sure what I would prefer : - a shapefile exporter which would export mixed shape files in several files (layer-point.shp, layer-line.shp...) - use the Edit>Extract>Extract by geometry type, add an ExportLayersPlugIn able to export several layers without prompting for names Any idea ? Michaël Le 07/10/2010 15:07, Matthias Scholz a écrit : > Hi Jukka, > > I've never used this plugin, but I know this problems with empty > schapefiles. > > In the first case with no geometries it is impossible to determine the > geometry type, which is usualy done from a geometry. The geometry type > is mandatory for writing a schapefile. Byte 32 in the header is the type > field. A solution for such a problem may be a JComboBox to get a valid > type from the user or write the shapefile with type 0 "Null Shape". > Later if we have real geometries in the file we can change the type > field in the header. Don't know if other systems have problems with > "Null Shape" files? > > The second problem with mixed geometries is a design problem of shape > fiiles. At the moment are only one geometry type in one file allowed. > It's possible that this will be changed in the future. > So I see two solutions. Frist you use Edit->Extract->Extract Layers by > Geometry Type and save all the layers manualy. The second possibillity > is that we extend the ShapefileWriter for splitting this automatically. > > You can read this in the specs > http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf. See page 4 > and 5. > > Matthias >> Hi, >> >> JUMP DB Query plugin http://jumpdbqplugin.sourceforge.net/ used to >> create a little polygon as a fake geometry for all the lines which >> the SQL query was returning without a geometry. Now the new versions >> of the plugin, starting from version 0.7.2. are creating an empty >> geometry as "GEOMETRYCOLLECTION EMPTY". >> This works fine as long as I am working with OpenJUMP and also saving >> into JUMP jml format goes OK. But saving into shapefiles gives >> problems and I have not discovered how I could keep the important >> attribute data that I have also for the features without geometry. >> >> If there are no other geometries on the layer, the OJ message while >> doing shapefile save is >> >> java.lang.Exception: Could not determine shapefile type - data is >> either all GeometryCollections or empty >> at >> com.vividsolutions.jump.io.ShapefileWriter.makeSHAPEGeometryCollection(ShapefileWriter.java:728) >> at >> com.vividsolutions.jump.io.ShapefileWriter.write(ShapefileWriter.java:295) >> at >> com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource$1.executeUpdate(ReaderWriterFileDataSource.java:72) >> at >> com.vividsolutions.jump.workbench.datasource.AbstractSaveDatasetAsPlugIn.run(AbstractSaveDatasetAsPlugIn.java:33) >> at >> com.vividsolutions.jump.workbench.ui.task.TaskMonitorManager$TaskWrapper.run(TaskMonitorManager.java:151) >> at java.lang.Thread.run(Unknown Source) >> If there are also real geometries then the message is >> >> om.vividsolutions.jump.io.IllegalParametersException: mixed geometry >> types found, please separate Polygons from Lines and Points when >> saving to *.shp >> at >> com.vividsolutions.jump.io.ShapefileWriter.checkIfGeomsAreMixed(ShapefileWriter.java:639) >> at >> com.vividsolutions.jump.io.ShapefileWriter.write(ShapefileWriter.java:253) >> at >> com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource$1.executeUpdate(ReaderWriterFileDataSource.java:72) >> at >> com.vividsolutions.jump.workbench.datasource.AbstractSaveDatasetAsPlugIn.run(AbstractSaveDatasetAsPlugIn.java:33) >> at >> com.vividsolutions.jump.workbench.ui.task.TaskMonitorManager$TaskWrapper.run(TaskMonitorManager.java:151) >> at java.lang.Thread.run(Unknown Source) >> Is it possible to save things without geometries into shapefiles at >> all? It is easy to generate test data, just create a new layer and >> insert a new WKT feature as GEOMETRYCOLLECTION EMPTY and try to save >> the layer. Next digitise a point, for example, on the layer, and try >> saving again. >> >> >> -Jukka Rahkonen- >> ------------------------------------------------------------------------ >> >> ------------------------------------------------------------------------------ >> Beautiful is writing same markup. Internet Explorer 9 supports >> standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2& L3. >> Spend less time writing and rewriting code and more time creating great >> experiences on the web. Be a part of the beta today. >> http://p.sf.net/sfu/beautyoftheweb >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> Jump-pilot-devel mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >> > > ------------------------------------------------------------------------------ > Beautiful is writing same markup. Internet Explorer 9 supports > standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2& L3. > Spend less time writing and rewriting code and more time creating great > experiences on the web. Be a part of the beta today. > http://p.sf.net/sfu/beautyoftheweb > _______________________________________________ > Jump-pilot-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > ------------------------------------------------------------------------------ Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today. http://p.sf.net/sfu/beautyoftheweb _______________________________________________ Jump-pilot-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
