sql server在创建数据库是显示找不到存储过程 sql找不到存储过程show_sql 新建发布 找不到存储过程


不睡觉的怪叔叔:pgRouting教程八:使用pl/pgsql写存储过程zhuanlan.zhihu.com

sql server在创建数据库是显示找不到存储过程 sql找不到存储过程show_数据存储_02


GeoServer实现WMS/WFS接口,前端通过HTTP协议访问该WMS/WFS接口就能间接调用上篇文章实现的存储过程。

一、安装GeoServer并登录到管理页面

关于GeoServer的安装和简单使用可以查看以下文章:

不睡觉的怪叔叔:GeoServer的安装(Windows)与初步使用zhuanlan.zhihu.com


sql server在创建数据库是显示找不到存储过程 sql找不到存储过程show_图层_03


默认账号为:admin默认密码为:geoserver。


sql server在创建数据库是显示找不到存储过程 sql找不到存储过程show_sql 新建发布 找不到存储过程_04


二、创建图层和WMS/WFS接口

2.1、创建工作区

shenzhen"工作区:


sql server在创建数据库是显示找不到存储过程 sql找不到存储过程show_SQL_05


保存"按钮,保存工作区。

2.2、创建数据存储

shenzhen"的数据存储:


sql server在创建数据库是显示找不到存储过程 sql找不到存储过程show_sql 新建发布 找不到存储过程_06


sql server在创建数据库是显示找不到存储过程 sql找不到存储过程show_数据存储_07


sql server在创建数据库是显示找不到存储过程 sql找不到存储过程show_SQL_08


最后点击"保存"按钮,保存新建的数据存储。

2.3、创建图层/SQL视图

点击"图层" -> "添加新的资源",进入新建图层页面:


sql server在创建数据库是显示找不到存储过程 sql找不到存储过程show_sql 新建发布 找不到存储过程_09


shenzhen:shenzhen",再点击"配置新的SQL视图":


sql server在创建数据库是显示找不到存储过程 sql找不到存储过程show_图层_10


shenzhen",并填写如下SQL语句:


SELECT ST_MakeLine(route.geom) FROM (
    SELECT geom FROM wrk_fromAtoB('vehicle_net', %x1%, %y1%, %x2%, %y2%) ORDER BY seq
) AS route;


以上SQL语句中,使用两个百分号表示中间的变量是参数。

从SQL猜想的参数", 页面中就会显示两个百分号包含的参数,设置四个参数的默认值为0,并且配置"验证的正则表达式"都为"^-?[d.]+$",这样参数只能接受数字值(为了防止SQL注入)。

刷新"按钮,将会出现一个名称为st_makeline的属性,设置该属性的类型为LineString,设置该属性的SRID为3857。所有设置如下所示:


sql server在创建数据库是显示找不到存储过程 sql找不到存储过程show_图层_11


保存"按钮,保存我们新配置的SQL视图。

编辑图层页面,我们需要在该页面设置"边框"参数,分别点击如下按钮:


sql server在创建数据库是显示找不到存储过程 sql找不到存储过程show_图层_12


保存"按钮,就可以在图层列表看到新建的图层/SQL视图:


sql server在创建数据库是显示找不到存储过程 sql找不到存储过程show_sql 新建发布 找不到存储过程_13


三、测试

viewparams参数添加到WMS的GetMap或WFS 的GetFeature请求来指定的。viewparams参数是一个键值对列表,键值对与键值对之间用分号分隔:viewparams=p1:v1;p2:v2;...

现在就使用上篇文章中使用的两个位置坐标(x1=12677354.9,y1=2578172.3,
x2=12677441.2, y2=2577908.3)进行测试。

打开浏览器,发送一个WFS的GetFeature请求:


http://localhost:8080/geoserver/shenzhen/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=shenzhen:shenzhen&maxFeatures=50&outputFormat=application/json&viewparams=x1:12677354.9;y1:2578172.3;
	x2:12677441.2;y2:2577908.3


浏览器将会收到一份GeoJSON数据:


{
	"type": "FeatureCollection",
	"features": [{
		"type": "Feature",
		"id": "shenzhen.fid-61be8e79_172e5251868_-7feb",
		"geometry": {
			"type": "LineString",
			"coordinates": [
				[1.267733314942105E7, 2578207.10933218],
				[1.267731205437755E7, 2578186.95527014],
				[1.267742715873103E7, 2578062.82510839],
				[1.267744051706992E7, 2578048.2762173],
				[1.267740226769289E7, 2578012.16320045],
				[1.267737693137678E7, 2577988.24861564],
				[1.267737108710352E7, 2577980.24495178],
				[1.267736941731116E7, 2577976.86991396],
				[1.267736439680212E7, 2577966.75685832],
				[1.26773591091263E7, 2577953.60627906],
				[1.267738583693604E7, 2577945.74727608],
				[1.267740857950801E7, 2577939.05748352],
				[1.267744528154413E7, 2577926.3529119],
				[1.267744156347314E7, 2577915.51666732],
				[1.267743928142357E7, 2577908.85099422]
			]
		},
		"geometry_name": "st_makeline",
		"properties": {}
	}],
	"totalFeatures": 1,
	"numberMatched": 1,
	"numberReturned": 1,
	"timeStamp": "2020-06-24T08:15:53.968Z",
	"crs": {
		"type": "name",
		"properties": {
			"name": "urn:ogc:def:crs:EPSG::3857"
		}
	}
}


将该数据保存到文件(文件后缀为.geojson),并使用桌面GIS软件打开即可看见查询的结果路径:


sql server在创建数据库是显示找不到存储过程 sql找不到存储过程show_sql 新建发布 找不到存储过程_14