From: Jody G. <jga...@re...> - 2005-12-29 18:31:12
|
Ivan Slepchenko wrote: > > Hello Jady. > > I=92m a programmer from a Ukraine and want to develop GIS > SWF convert= or; > > I want to use geotools Java source for it. > > I have a problem. > > when i try to run code that i found in the javadoc for the=20 > org.geotools.data.shapefile.shp.ShapeFileReader > Hi Ivan, welcome to GeoTools! I have CCed this reply to the user list -=20 because someone here may be able to help us. There is some sort of unix command (at least on solaris) that can make a=20 number by looking at the file. Often this is by inspecting the first little bit of every binary format - for example all GIF files=20 start with the letters GIF. So my guess is that one of your shapefiles is wrecked - where did you=20 find them? There are test shapefiles included in geotools that should be good. It may help if you send the stack trace - so we can figure out if it is=20 the shp, dbf or shx (or qnx) file that is messed up. Jody > > i got exception =93Wrong magic number, expected 9994, got 56754704=94 > > How to explain it? > > Sorry i can=92t found any information about magic number of in the dbf=20 > files. > > here is the the code: > > import java.io.FileInputStream; > > import java.io.FileNotFoundException; > > import java.io.IOException; > > import java.nio.channels.FileChannel; > > import org.geotools.data.shapefile.shp.ShapefileException; > > import org.geotools.data.shapefile.shp.ShapefileReader; > > import org.geotools.geometry.Geometry; > > public class Tester { > > /** > > * @param args > > */ > > public static void main(String[] args) { > > FileChannel in; > > try { > > in =3D new FileInputStream("bc_2m_border.dbf").getChannel(); > > ShapefileReader r =3D new ShapefileReader(in,true); > > while (r.hasNext()) { > > Geometry shape =3D (Geometry) r.nextRecord().shape(); > > } > > r.close(); > > } catch (FileNotFoundException e) { > > e.printStackTrace(); > > } catch (ShapefileException e) { > > e.printStackTrace(); > > } catch (IOException e) { > > e.printStackTrace(); > > } > > } > > } > > Ivan Slepchenko. > |