REST上传一个Shapefile

REST上传一个Shapefile,rest,uploading,shapefile,Rest,Uploading,Shapefile,我正在尝试用RESTAPI上传一个形状文件。 以下是我得到的错误: 没有这样的数据存储:ws1、nete 我已经安装了1.7.5版和restconfig-1.7.5.jar插件 以下是我的工作: 1) 创建工作区ws1 curl-u admin:geoserver-v-XPOST-H'内容类型:text/xml'-d'ws1'localhost:8080/geoserver/rest/workspace 2) 检查工作区 curl-XGET-H'Accept:text/xml'localhost

我正在尝试用RESTAPI上传一个形状文件。 以下是我得到的错误: 没有这样的数据存储:ws1、nete

我已经安装了1.7.5版和restconfig-1.7.5.jar插件

以下是我的工作: 1) 创建工作区ws1

curl-u admin:geoserver-v-XPOST-H'内容类型:text/xml'-d'ws1'localhost:8080/geoserver/rest/workspace

2) 检查工作区

curl-XGET-H'Accept:text/xml'localhost:8080/geoserver/rest/workspace/ws1

答复可以

3) 上载形状文件

curl-u admin:geoserver-XPUT-H'Content type:application/zip'-data binary@roads.zip localhost:8080/geoserver/rest/workspace/ws1/datastores/roads/file.shp

答复:

警告:无法从文件“roads.zip”读取数据,这将生成一篇空文章。 解压缩文件时出错:打开zip时出错


需要帮助请

今天我问自己同样的问题,最后解决了。我正在运行带有REST扩展的Geoserver 2.0.2

以下curl命令正在工作:

curl -u admin:geoserver -v -XPUT -H 'Content-type: application/zip' --data-binary @/home/shape.zip http://localhost:8085/geoserver/rest/workspaces/ws/datastores/test1/file.shp
“.shp”前面的“文件”是任意的,可以随意使用

“test1”是新数据存储的名称

“/home/shape.zip”是压缩的Shapefile的路径。注意:一个Shapefile由多个文件组成!请参阅维基百科以了解介绍。Geoserver的压缩形状文件应至少包含.shp、.dbf、.shx、.prj


如果您使用Java进行开发,您可能希望使用Java客户机通过REST配置Geoserver。是一个非常小的(2个类,零依赖)客户机,用Java1.5+编写。它不是一个完整的实现,但有关于如何将Shapefile上传到Geoserver等的工作代码。请参阅代码。

是否需要压缩shp文件?我们不能直接上传shapefile吗?一个shapefile由许多单个文件组成,所以一个ZIP是很有用的(是的,需要)把所有文件放在一起。有关“Shapefile”中的许多不同文件的描述,请参见Wikipedia。感谢@alfonx提供的信息,但我想使用此
curl
方法直接上传shp,而无需压缩。可能吗?我正在尝试,但它一直给我这个错误,你链接文档状态上传一个ZIP:“下面上传压缩的shapefile roads.ZIP并创建一个名为roads的新数据存储”。对于只上传.shp文件,它说:“这个例子展示了如何添加一个已经存在于服务器上的shapefile。”我想这可能意味着,如果只发送一个.shp文件,就无法自动创建数据存储,因为需要更多像PRJ这样的信息。您可以尝试搜索“感谢”回复@alfonx。我有大约88k的shp文件,要使用这种添加ShapeFile的技术,我必须单独压缩它们。这是唯一的解决办法吗?