geoserver使用rest实现动态发布shp地图服务

晚上找个很多,都没有一个完整的能运行的,对于小白来说,还是挺费劲的,下面是我的整个过程,希望对大家有所帮助:

1.shp数据,需要将其打包成zip格式,并且,zip里不能包含文件夹

testroad.zip

geoserver使用rest实现动态发布shp地图服务_第1张图片

2.代码部分,使用jquery的ajax请求发布post,实现shp数据的上传+shp图层的发布,核心是网上找的,我是搬运工。

需要注意的部分:就是option参数:

 option={
    "type":"VECTOR",
    "workspace":"myshp",
    "datastore":"testroad",
    "file":file.files[0]
    }

工作空间的名字,datastore是新的shp将要创建的存储的名字,file一定是通过html的form的:这个方式上传过来的文件,而不是zip的url地址哦。

var file = document.querySelector('[type=file]');
    // 通过FormData将文件转成二进制数据
    var formData = new FormData();

formData.append('file', file.files[0]);

3.要注意的是跨域问题

此html页面要放在geoserver同一个域名下,否则执行post请求会报告跨域错误导致不成功

4.回调函数返回201,这时候看服务器,是执行成功了

geoserver使用rest实现动态发布shp地图服务_第2张图片

geoserver使用rest实现动态发布shp地图服务_第3张图片








 

你可能感兴趣的:(webgis技术相关)