ArcGIS for Maritime: Server allows you to deploy a web-based application to generate information map products on the fly and create any product at any scale.
Perform the following steps to deploy Products on Demand (PoD) within your ArcGIS Server site.
- Create a folder named maritimeserver in the ArcGIS Server site at <ArcGIS Server installation drive>\arcgisserver\directories.
- Copy the productsondemand folder from <ArcGIS Server Installation Directory>\MaritimeServer\Server<version> to the maritimeserver folder created in step 1.
- Configure the ArcGIS Server account.
Sharing and permissions
Share and add permissions to your <ArcGIS Server installation drive>\arcgisserver folder with the following steps:
- Right-click the arcgisserver folder and select Properties.
- Click the Sharing tab.
- Click Advanced Sharing.
- Check the Share this folder checkbox.
- Click Permissions.
- Click Add on the Share Permissions tab.
- Add your ArcGIS Server account user.
- Once the user is added, click OK to close the Select Users or Groups dialog box.
- Select the newly added user in the Share Permissions tab and select Full Control.
- Click OK.
- Click OK again to close the Advanced Sharing dialog box.
- Click Close.
Publishing service definition files
- Log in as a server manager by launching https://localhost:6443/arcgis/manager.
- Click Services > Manage Services, select POD folder, and click Publish Service.
- Click Choose File to browse to the service definition you want to publish, or type the path to the file. Click Browse and browse to the <ArcGIS Server Installation Directory>\MaritimeServer\Server<version> location.
The default location is <ArcGIS Server installation drive>\arcgisserver\directories\ maritimeserver\productsondemand\ServiceDefinitionFiles.
- Select Calculators.sd and click Open.
By default, the service definition is published to the server folder specified in the service definition configuration. If you want to change the folder where the service definition will be published, choose a folder from the drop-down list or click New.
- Click Next.
You will need to specify properties for your new service. No additional capabilities are required to be selected.
- Click Back or click Next as necessary.
- Click Publish.
- Repeat steps 3 through 6 for ExtentLayer.sd and Gateway.sd.
Your services are now running at http://gisserver.domain.com:6080/arcgis/rest/services/POD and can be accessed by users and clients on your network.
Updating your Utilities.py file
This process must be done after you have published your PoD service definition files. This will allow your Calculator and Gateway geoprocessing services to know where you deployed the folderproductsondemand in the following steps.
- In Windows Explorer, browse to the Utilities.py file and edit it. The default location is <ArcGIS Server installation drive>\arcgisserver\directories\ maritimeserver \productsondemand\Tools.
This is the shared_products_path where the folder productsondemand will be deployed.
- You need to update the following variables:
- shared_products_path and output_directory—Update with your machine name, domain and update the path if you did not use the recommended default settings.
- output_url—Use of localhost is only for local testing. Otherwise, update with your machine name and domain and update path if you did not use the recommended default settings.
- Save changes to Utilities.py and click Exit.
- Copy your updated Utilities.py file to your newly published Calculators and Gateway PoD services' arcgisinput location.
- Browse to your arcgisinput location for POD. The default location is <ArcGIS Server installation drive>\arcgisserver\directories\arcgissystem\arcgisinput\POD.
- Copy your updated Utilities.py file located in step 1 to <Installation Location>\arcgisserver\directories\arcgissystem\arcgisinput\POD\Gateway.GPServer\extracted\v101\tools.
- Copy your updated Utilities.py file located in step 1 to <Installation Location>\arcgisserver\directories\arcgissystem\arcgisinput\POD\Calculators.GPServer\extracted\v101\tools.
- In ArcGIS Server Manager, click Services > Manage Services.
- Click Folders > POD.
- Restart your Calculator and Gateway geoprocessing services.
Setting the Maritime Chart Service URL in your layout templates
PoD comes with layout templates that have been predefined with various surround elements and a Maritime Chart Service WMS layer. The default WMS layer location is http://localhost:6080/arcgis/rest/services/SampleWorldCities/MapServer/exts/MaritimeChartService/WMSServer. If your map service with Maritime Chart Service enabled is different, you will need to modify your layout templates before finishing your deployment.
Customizing map document templates
PoD provides several map document templates for various page sizes and orientation. Each map document contains map elements, such as scale bars, north arrows, and legends; logos; text; or other graphics that are created for specific purposes in the chart. Layout elements can also be data frames.
With the latest release of Maritime Chart Service, templates for page sizes A0 and ANSI E have common chart notes added to them. These common notes are based on charts produced by NOAA. You can modify these notes to fit your local needs. If you do not want to create A0 or ANSI E sized charts with notes, you can remove those templates from your setup and eplace them with the previous versions of those templates now renamed with a _withoutnotes suffix.
For more information, see Map elements.
During product creation, the map elements are updated dynamically to reflect changes in the chart, such as scale, geographic extent, and generation date. PoD uses the names of elements to manage and identify which elements are to be modified by the automation script. Map element names should not be changed. If names are modified, the element cannot be managed using the automation script. If necessary, you can access the name by clicking Element Name on the Size and Position tab on the Properties dialog box.
The area of interest (AOI) generated in the PoD web application is obtained from the map document template's data frame. A calculator finds the bottom left corner of the data frame and then the left and bottom edges. Changing the data frame size will impact the AOI size.
For more information, see What is a page layout?
Configuring the web application
Once you have published your service definition files, updated your layout templates, published a map service with Maritime Chart Service enabled, and updated your Utilities.py file, you are ready to configure and deploy your PoD web application.
- Browse to <ArcGIS Server Installation Directory>\MaritimeServer\Server<version>\WebApplications and copy the pod folder to C:\inetpub\wwwroot if using IIS to deploy your web application.
- Update your podconfig.js file located under pod\js with your newly published PoD service.
- Update serviceURL to the location created in step 2 of Publishing service definition files. If defaults were used, then the path is http://gisserver.domain.com:6080/arcgis/rest/services/POD.
- It is recommended that you update your MCSURL path to the same map service used in your layout template. The default location is http://gisserver.domain.com:6080/arcgis/rest/services/SampleWorldCities/MapServer/exts/MaritimeChartService/MapServer.
- Save changes to your podconfig.js file.
- You are now ready to use PoD by browsing to http://<your server>/<app name>/.
Troubleshooting the Maritime Server configuration
What if I don't see Maritime Chart Service data in my Products on Demand application?
Verify that the MCSURL set in step 2 of the Configuring the web application section is accessible to the user accessing the application.
What if I don't see any Maritime Chart Service data in my Products on Demand export?
Verify that the S57 Layer in the layout template being accessed during PoD export is accessible to the user accessing the PoD application.
What if I observe an Unable to complete Operation error?
Add Configure ArcGIS Server Account to install directory if you observe the following error: Unable to complete Operation. Error Executing tool. CalculateExtent.