Set up GeognoSIS to work with Cadcorp SIS WebMap
WebMap uses GeognoSIS for two data connections:
- Base overlays: These provide background mapping (eg national mapping or aerial photography).
- Data Layers: These are defined in a SIS Workspace Definition (SWD). The SWD is consumed by GeognoSIS which then allows it to be published and accessed by WebMap.
There are two ways in which WebMap can connect to GeognoSIS :
- Using a direct connection (or)
- Using the OGC Common Gateway Interface (CGI).
1. Direct Connection
This option is ready to be used immediately. Ensure data has been loaded into GeognoSIS and the instance is running. Use the following addresses for a direct connection:
WMS |
http://server.domain:4326/GeognoSIS/<version>/Services/OGC/WMS.app or http://[IP_address] : [port number] /OgcService/WMS.app / /GeognoSIS/<version>/Services/OGC/WMTS.app etc. and for those services supporting REST: /GeognoSIS/<version>/Services/OGC/WMTS/<version>/... etc. |
Note: This address can be found within the GeognoSIS Manager under Machines > Machine name > GeognoSIS > Web Services > OGC Services > OGC Web Map Service > Capabilities Document.
WFS |
http://server.domain:4326/GeognoSIS/<version>/Services/OGC/WFS.app or http://[IP_address] : [port number] /GeognoSIS/<version>/Services/OGC/WFS.app |
Note: This address can be found within the GeognoSIS Manager under Machines > Machine name > GeognoSIS > Web Services > OGC Services > OGC Web Feature Service > Capabilities Document.
WMTS |
http://server.domain:4326/GeognoSIS/<version>/Services/OGC/WMTS.app or http://[IP_address] : [port number] /GeognoSIS/<version>/Services/OGC/WMTS.app |
Note: This address can be found within the GeognoSIS Manager under Machines > Machine name > GeognoSIS > Web Services > OGC Services > OGC Web Map Tile Service > Capabilities Document.
Tile Service |
http://server.domain:4326/TileService/GetTile or http://[IP_address]:[port number]/TileService/GetTile |
We recommend using the CGI method as it is more secure. Moreover the Get Feature information tool may not be usable in the direct method as AJAX is not supported.
2. OGC Common Gateway Interface (CGI) Connection
This CGI method directs requests to GeognoSIS through IIS and the OGC CGI executable. The CGI acts as a forwarding service, sending requests to the corresponding impl file.
Crucially this connection allows sending/receiving of AJAX requests. With AJAX requests users can interrogate data and use the Get Feature Information tool effectively.
Setting up the CGI connection
- Copy the Cadcorp.OGC.CGI.exe file (found in the root folder of GeognoSIS: C:\Program Files\Cadcorp GeognoSIS 9) and paste it into a newly created folder within wwwroot folder (C:/inetpub/wwwroot). You can call this folder whatever you wish, but for the purpose of this documentation it will be renamed WME.
- Rename the Cadcorp.OGC.CGI.exe to something simpler like the service name such as wms.exe.
- Within the WME folder create a configuration file called wms.ini (or whatever the .exe file is called). Open this file and add the following information (select only the information below the service you are interested in):
WMS |
SIS_SERVER_ADDRESS=http://[machine_name].[domain_name]:4326/ SIS_SERVICE=wms |
WFS |
SIS_SERVER_ADDRESS=http://[machine_name].[domain_name]:4326/ SIS_SERVICE=wfs |
WMTS |
SIS_SERVER_ADDRESS=http://[machine_name].[domain_name]:4326/ SIS_SERVICE=wmts |
Tile Service |
SIS_SERVER_ADDRESS=http://[machine_name].[domain_name]:4326/ SIS_SERVICE=tile |
Note: The address is the address of the GeognoSIS instance and the port number must correspond with the port used by the GeognoSIS Express instance
- Open IIS (Start > Administrative tools > Internet Information Services (IIS) Manager) and expand the site to show the newly created WME folder.
- Right click on the folder and choose Convert to Application and change from 'DefaultAppPool' to 'LayersPoolv8'.
- Still inside IIS, open up Handler Mappings. Add a new script map with the request path '*.exe' and the path to the executable being the wms.exe (or other service name) under the folder you previously created.
- Now click on Edit Feature Permissions and ensure Execute is checked.
- Additional optional settings can be applied to the .ini file if required:
Key | Value |
SIS_USER_NAME | The GeognoSIS user account to use |
SIS_PASSWORD | The password for the GeognoSIS |
SIS_WS_REQUEST_URL | The web service request URL which will substitute for the GeognoSIS service request address for outside calls. This is the address of the CGI for clients outside the web server.
e.g. http://a.company.com/wms.exe |
LOOKUP_SERVER_ADDRESS | The name of an environment variable which contains the GeognoSIS service address. |
LOOKUP_USER_NAME | The name of an environment variable which contains the user name. |
LOOKUP_PASSWORD | The name of an environment variable which contains the password. |
Once setup is complete, the connection string (URL) will look like this:
Example URL String |
http://server.domain/WME/wms.exe or http://[server].[domain_name]/[folder_name]/[service].exe |
Note: If Cadcorp GeognoSIS is installed on the same machine as WebMap, "localhost" can be used in place of "server.domain
For multiple CGI connections to different services each service must have its own EXE file and corresponding ini file.
Ensure the machine on which the OGC.CGI.exe will be hosted has Microsoft Visual C++ 2010 Redistributable Package installed for the appropriate technology.