...
You can download the latest version of the the WMS Tester tool from here.
Using the WMS Tester
The WMS Tester file (, wmstest.jar
) can ,
can be stored anywhere but for the purpose of simplicity we will assume it's been downloaded and stored in your c:\<weave installation folder>
, e.g. c:\weave
. It requires java to run so if you don't have Java installed you can use the Java executable that is installed with Weave (e.g. c:\weave\jre\bin
).
Alternatively you can also download wmstester.jar
to your local PC and run it from there, but then you need to ensure that you already have Java installed.
In a Windows environment, open Windows Command Line, and run the following to get a help listing:
c:\weave\jre\bin\java -jar c:\weave\wmstest.jar -h
usage:
...
wmstest -f <filename> | -u <url> [-e <minx,miny,maxx,maxy> | -
...
l <x,y,scale>] [-c <crs>] [-x <scale>] [-s <width,height>] [-
...
D <DPI>] [--ignorescales] [-t <timeout>] [-n] [-o
...
<filename>] [-d] [-b <threads>] [-
...
-format <format>] [-U <username>] [-P <password>] [-q] [-h] [-V]
The parameters that can be used in the tester are given in the table below. The - or -- syntax can be used:
Parameter | Description |
---|---|
-f, --file <filename> | Filename of a text file that has a list of base URL's for the WMS services. Each line in the file should contain a single WMS URL. |
-u, --url <url> | The base URL for the WMS service, this can be added more than once, but the -f command can also be used for multiple URL's. |
-e, --envelope minx,miny,maxx,maxy> | The envelope to use to draw the map. This is alternative to -l, and can not be set if -l is set. |
-l, --location <x,y,scale> | The centre location to use to draw the map. This is alternative to -e, and can not be set if -e is set. |
-c, --crs <crs> | The CRS to use for the map requests. The default is EPSG:4326. |
-x, --maxscale <scale> | The maximum scale to use to generate the map. |
-s, --size <width,height> | The width and height, in pixels, of the generated map image. The default is 400,400 |
-D, --dpi <DPI> | DPI to use when creating the map images. The default is 90.71. |
-t, --timeout <timeout> | The network timeout in seconds. The default is 120 |
-n, --nomap | Just retrieve the capabilities document, and do not generate a map request. |
-o, --output <filename> | Output results to a CSV file. |
-d, --dump | Dump the generated images to a file. |
-b, --background <threads> | Create all the connections in the background at the same time, rather than processing the URLs one by one. Including the <threads> value will specify how may tasks to do at once. If , if a value for <threads> is not set then all tasks will be performed at once, if this option isn't included at all then each task will be performed one after the other. |
-U, --username <username> | Username to connect with, and must be supplied if the password is set. |
-P, --password <password> | Password to connect with, and must be supplied if username is set. |
-q, --quiet | Do not output results to the console. |
-h, --help | Show this help and quit. |
-V, --version | Print the version of the WMS Tester and exit. |
--ignorescales | Don't make use of the scale ranges reported by the WMS service to asjust the extents of the generated map images. |
--format | Set the format of the image to generate, the default is image/jpeg . |
If neither -l or -e is set then the area to draw will be calculated based on the extent of the layer, but it will be adjusted if a maximum scale range has been applied to the layer, or -x is set. |
...
The WMS Tester allows you to test various aspects of a WMS including specifying the extent, scale, size of images, etc. But it can be used in its simplest form in the following ways:
Testing an internal WMS: Return the layers in the WMS and time taken to draw layer (in milliseconds) and the scale at which the layer is drawn
Code Block theme RDark c:\weave\jre\bin\java -jar c:\weave\wmstest.jar
...
- Testing an external WMS: Return the layers in the WMS and time taken to draw layer (in milliseconds) and the scale at which the layer is drawn
-u http://qgis/cgi-bin/qgis_mapserv.fcgi?map=/mnt/storage/weave/qgis/project.qgs connected to http://qgis/cgi-bin/qgis_mapserv.fcgi?map=/mnt/storage/weave/qgis/project.qgs in 2,521ms drew "topp:secondary_schools" as image/jpeg at 1:70,894 in 411ms drew "topp:school_primary" as image/jpeg at 1:112,940 in 415ms drew "topp:buildings" as image/jpeg at 1:119,980 in 417ms drew "topp:busstops" as image/jpeg at 1:127,470 in 704ms drew "topp:contour10" as image/jpeg at 1:154,230 in 930ms drew "topp:contour05" as image/jpeg at 1:152,730 in 1,366ms drew "topp:contour02" as image/jpeg at 1:152,720 in 2,765ms drew "topp:contour01" as image/jpeg at 1:152,900 in 5,156ms drew "topp:drainage" as image/jpeg at 1:127,120 in 764ms drew "topp:sewer_pipe" as image/jpeg at 1:136,970 in 711ms drew "topp:water_pipe" as image/jpeg at 1:187,430 in 1,710ms drew "topp:busroutes" as image/jpeg at 1:130,490 in 431ms drew "topp:road" as image/jpeg at 1:17,678 in 359ms drew "topp:mainroad" as image/jpeg at 1:140,600 in 452ms drew "topp:hydro" as image/jpeg at 1:148,400 in 444ms drew "topp:mainhydro" as image/jpeg at 1:146,910 in 459ms drew "topp:easement" as image/jpeg at 1:7,071 in 361ms drew "topp:property_dissolved" as image/jpeg at 1:7,071 in 367ms drew "topp:property" as image/jpeg at 1:7,071 in 363ms drew "topp:ward" as image/jpeg at 1:147,260 in 431ms drew "topp:suburb" as image/jpeg at 1:149,110 in 461ms drew "topp:mccbound" as image/jpeg at 1:147,300 in 426ms
Testing an external WMS with background processing to simulate multiple users hitting the WMS server at the same time.
Code Block theme RDark c:\weave\jre\bin\java -jar c:\weave\wmstest.jar -u http://qgis/cgi-bin/qgis_mapserv.fcgi?map=/mnt/storage/weave/qgis/
...
- Testing an external WMS with background processing to simulate multiple users hitting the WMS server at the same time.
project.qgs -b connected to http://qgis/cgi-bin/qgis_mapserv.fcgi?map=/mnt/storage/weave/qgis/project.qgs in 2,825ms drew "topp:secondary_schools" as image/jpeg at 1:72,316 in 13,051ms drew "topp:ward" as image/jpeg at 1:149,830 in 13,432ms drew "topp:busroutes" as image/jpeg at 1:132,220 in 13,689ms drew "topp:easement" as image/jpeg at 1:10,000 in 13,856ms drew "topp:property" as image/jpeg at 1:10,000 in 14,133ms drew "topp:hydro" as image/jpeg at 1:151,100 in 14,472ms drew "topp:school_primary" as image/jpeg at 1:114,310 in 14,643ms drew "topp:mainhydro" as image/jpeg at 1:149,790 in 14,664ms drew "topp:buildings" as image/jpeg at 1:121,840 in 14,698ms drew "topp:property_dissolved" as image/jpeg at 1:10,000 in 14,809ms drew "topp:mccbound" as image/jpeg at 1:149,860 in 14,860ms drew "topp:mainroad" as image/jpeg at 1:142,520 in 14,949ms drew "topp:road" as image/jpeg at 1:25,000 in 14,962ms drew "topp:suburb" as image/jpeg at 1:151,750 in 15,435ms drew "topp:busstops" as image/jpeg at 1:128,880 in 17,027ms drew "topp:sewer_pipe" as image/jpeg at 1:139,040 in 17,370ms drew "topp:contour10" as image/jpeg at 1:156,830 in 17,761ms drew "topp:drainage" as image/jpeg at 1:129,140 in 17,818ms drew "topp:contour05" as image/jpeg at 1:155,440 in 18,993ms drew "topp:water_pipe" as image/jpeg at 1:190,730 in 20,413ms drew "topp:contour02" as image/jpeg at 1:155,440 in 22,174ms drew "topp:contour01" as image/jpeg at 1:155,440 in 24,777ms
Code Block theme RDark c:\weave\jre\bin\java -jar c:\weave\wmstest.jar -
...
...
u http://qgis/cgi-bin/qgis_mapserv.fcgi?map=/mnt/storage/weave/qgis/project.qgs -b 2 connected to http://qgis/cgi-bin/qgis_mapserv.fcgi?map=/mnt/storage/weave/qgis/project.qgs in 2,885ms drew "topp:school_primary" as image/jpeg at 1:114,310 in 755ms drew "topp:secondary_schools" as image/jpeg at 1:72,316 in 757ms drew "topp:buildings" as image/jpeg at 1:121,840 in 781ms drew "topp:busstops" as image/jpeg at 1:128,880 in 1,393ms drew "topp:contour10" as image/jpeg at 1:156,830 in 1,629ms drew "topp:contour05" as image/jpeg at 1:155,440 in 2,310ms drew "topp:contour02" as image/jpeg at 1:155,440 in 5,141ms drew "topp:drainage" as image/jpeg at 1:129,140 in 1,440ms drew "topp:sewer_pipe" as image/jpeg at 1:139,040 in 1,340ms drew "topp:contour01" as image/jpeg at 1:155,440 in 8,851ms drew "topp:busroutes" as image/jpeg at 1:132,220 in 850ms drew "topp:water_pipe" as image/jpeg at 1:190,730 in 3,369ms drew "topp:road" as image/jpeg at 1:25,000 in 769ms drew "topp:mainroad" as image/jpeg at 1:142,520 in 696ms drew "topp:hydro" as image/jpeg at 1:151,100 in 730ms drew "topp:mainhydro" as image/jpeg at 1:149,790 in 787ms drew "topp:easement" as image/jpeg at 1:10,000 in 719ms drew "topp:property_dissolved" as image/jpeg at 1:10,000 in 764ms drew "topp:property" as image/jpeg at 1:10,000 in 749ms drew "topp:ward" as image/jpeg at 1:149,830 in 675ms drew "topp:suburb" as image/jpeg at 1:151,750 in 736ms drew "topp:mccbound" as image/jpeg at 1:149,860 in 629ms
Getting map images from external WMS: Creates a file (
images.zip
) in the current folder containing map images generated based on parameters submittedCode Block theme RDark c:\weave\jre\bin\java -jar c:\weave\wmstest.jar -
...
u http://qgis/
...
...
cgi-bin/qgis_mapserv.fcgi?map=/mnt/storage/weave/qgis/project.qgs -d connected to http://qgis/cgi-bin/qgis_mapserv.fcgi?map=/mnt/storage/weave/qgis/project.qgs in 2,914ms drew "topp:secondary_schools" as image/jpeg at 1:72,316 in 406ms drew "topp:school_primary" as image/jpeg at 1:114,310 in 425ms drew "topp:buildings" as image/jpeg at 1:121,840 in 426ms drew "topp:busstops" as image/jpeg at 1:128,880 in 730ms drew "topp:contour10" as image/jpeg at 1:156,830 in 981ms drew "topp:contour05" as image/jpeg at 1:155,440 in 1,471ms drew "topp:contour02" as image/jpeg at 1:155,440 in 3,085ms drew "topp:contour01" as image/jpeg at 1:155,440 in 5,450ms drew "topp:drainage" as image/jpeg at 1:129,140 in 823ms drew "topp:sewer_pipe" as image/jpeg at 1:139,040 in 789ms drew "topp:water_pipe" as image/jpeg at 1:190,730 in 1,876ms drew "topp:busroutes" as image/jpeg at 1:132,220 in 462ms drew "topp:road" as image/jpeg at 1:25,000 in 443ms drew "topp:mainroad" as image/jpeg at 1:142,520 in 444ms drew "topp:hydro" as image/jpeg at 1:151,100 in 450ms drew "topp:mainhydro" as image/jpeg at 1:149,790 in 460ms drew "topp:easement" as image/jpeg at 1:10,000 in 437ms drew "topp:property_dissolved" as image/jpeg at 1:10,000 in 460ms drew "topp:property" as image/jpeg at 1:10,000 in 466ms drew "topp:ward" as image/jpeg at 1:149,830 in 439ms drew "topp:suburb" as image/jpeg at 1:151,750 in 476ms drew "topp:mccbound" as image/jpeg at 1:149,860 in 433ms