From: <ch...@op...> - 2003-06-19 08:40:26
|
Quoting "W. Steph" <che...@ho...>: > Hello list ! >=20 > I'm searching for a way to add shapes from a shapefile, to a feature > in a=20 > PostGIS Database using Geoserver. (assuming the feature already > exists, and=20 > the shapes structure is the same as described in the feature's > schema) > My first idea was to extract data from the shapefile, and to build > GML=20 > transaction queries. Then I would have Geoserver execute my queries, > and add=20 > the shapes to the postGis database. But this would be a huge work for > me=20 > (the easiest way I found is to study "shp2pgsl" source code and to > modify it=20 > so that it outputs a GML query). > That's why I'd like to know if there is a simpler way. Is there a reason you can't just use the output of shp2pgsql directly? =20 That's how I get all of my shapefile information into postgis. What I=20 do is run shp2pgsql shape (not sure of the params) > feature.sql, and=20 then call psql -f feature.sql dbname, where dbname is the database I=20 want the information to go in to. The shp2pgsql was made to put=20 shapefiles into postgis, and will do a much better job than getting the=20 output from the shapefile into gml and then inserting the gml. That=20 should work in theory, but in practice could easily loose a bit that=20 shp2pgsql won't. And if you want to do more than one shapefile into=20 the same database, if they have the same fields, you can do the second=20 ones with a -a argument, I believe, which makes it so it does not=20 create a new table, it just does the insert operations. =20 > Since Geoserver can handle shapefiles, I had an idea : > I could open my shapefile with Geoserver, using a GetFeature request; > and=20 > then I could easily transform the output into a insert request > tragetting=20 > the feature in the postGis database. >=20 > So the first thing to do is to create a new feature type for my > shapefile=20 > which is exactly the same as the one for my PostGis table, but with > : > <DatasourceParams> > <url>file://home/...wherever/the/file/is.shp</url> > </DatasourceParams> > (instead of postgis connection settings in the infos.xml file of the >=20 > feature.) >=20 > But there, I have a problem : > The capabilities document doesn't show the new feature type. > That's why I ask the question : Is it possible to have both postGis > and=20 > shapefiles features types on the same geoServer ? > The answer must be 'yes'.... But I can't find why it doesn't > work... > Maybe it's because I'm on windows and my shapefile url is something > like > <Url>file:c:/program=20 >=20 files/easyphp/www/mapserverimage/upload/upload_ligne_electrique.shp</Url Yes, it's probably a problem with the url. For one I think url needs=20 to be in all lowercase. You might also try the <filename> tag (I think=20 that's what I named it, sorry for being unsure, but I don't have easy=20 access to all my code and documentation right now). This will go under=20 the datasource params tag, just like url, but you only put the name of=20 the shapefile. To use this you have to have the shapefile in the same=20 directory, so move upload_ligne_eletricque.shp to=20 geoserver/misc/data/featureTypes/, along with the .dbf and .shx files. =20 There's a section on shapefile support here: http://geoserver.sourceforge.net/documentation/user/advanced.htm So try it out with the filename and see if you can get it working. But=20 to get shapefiles into postgis, I'd say just use shp2pgsql directly. Chris > > I also tried DOS name : > <Url>file:c:/progra~1/easyphp/www/mapser~1/upload/upload~3.shp</Url> > But I get the same result .... >=20 > Maybe someone can help me ! > And if you have some other ideas on how to import shapes from a > shapefile to=20 > a PostGis database... Let me know ! > (Sorry for my bad english, I hope this mail is understandable !!) >=20 > Steph >=20 > _________________________________________________________________ > T=E9l=E9chargez gratuitement MSN Messenger ! > http://www.msn.fr/msger/default.asp >=20 >=20 >=20 > ------------------------------------------------------- > This SF.NET email is sponsored by: eBay > Great deals on office technology -- on eBay now! Click here: > http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5 > _______________________________________________ > Geoserver-devel mailing list > Geo...@li... > https://lists.sourceforge.net/lists/listinfo/geoserver-devel >=20 |