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.
To complete the steps, you need to have a map service with Maritime Chart Service enabled.
For more information, see Enabling Maritime Chart Service.
- 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.
<ArcGIS Server installation drive>\arcgisserver\directories\ maritimeserver is a recommended installation location for PoD.
- 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.
For more information, see Specifying the locale of the ArcGIS Server account. By default, this user is usually ArcGIS.
- 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.
Publish the service definition files using ArcGIS Server Manager. To streamline deployment, it is recommended that you create a folder within ArcGIS Server Manager named POD to organize your PoD-related services.
See Publish a service definition to the server in Manager for additional details.
- Click Services > Manage Services, choose the 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.
Do not change the name of the service. Doing so will not allow the web application to work.
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.
All PoD service definitions must be in the same folder to properly deploy Products on Demand. It is recommended that you create a folder to organize your PoD-related services. By default, POD is recommended.
- 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.
The layer properties within the layout template contain a parameter named DPI with a value of 300. This is required to produce chart products at a higher resolution for printing.
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.
Rename your A0 and ANSI E templates. For example with a _withnotes suffix in their name. Remove the _withoutnotes from your backup A0 and ANSI E templates. The system will now recognize the A0 and ANSI E templates that no longer have common notes.
By default your layout template font is set to Arial.
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.
You can rename the pod folder. This will be the name of the application you access over the web.
- 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.
MCSURL will only be used in the web application for viewing. The layout template WMS service will be used by the print service to create the chart export.
Your application will use the Esri Ocean basemap. You can choose another basemap by modifying the BasemapWithMCS variable.
- 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.