This procedure shows you how to install the DXF Export Service and configure it to use with VertiGIS Network Editor/Explorer. This guide covers only the DXF Export Service components. For information about installing VertiGIS Network Editor/Explorer, please refer to the VertiGIS Network Editor/Explorer Installation Guide.
These instructions are written for Linux systems, with command examples tested on Ubuntu. For other operating systems, use the equivalent commands and procedures while maintaining the same parameters.
The DXF Export system consists of two separate services:
•API Service: Handles client requests to start and monitor export jobs, and provides information about all executed export jobs.
•Export Service: Processes jobs by accessing GIS data and converting it to DXF format.
Both services use a shared PostgreSQL database for data storage and inter-service communication.
The VertiGIS Network Editor/Explorer application includes a DXF Export client that communicates with the API service to:
•start exports.
•download generated DXF files.
•access historical export data.
Docker images for both services are available from the VertiGIS Azure Container Registry:
•API service: vertigisnetworks.azurecr.io/networks/dxf-service
•Export service: vertigisnetworks.azurecr.io/networks/dxf-job-export-service
To access the VertiGIS Azure Container Registry, contact our support team or sales representative.
Both DXF services require a shared PostgreSQL database for data storage and communication. You can set up PostgreSQL using one of the methods provided below.
Install PostgreSQL directly on your Ubuntu system by following the official installation instructions:
https://www.postgresql.org/download/linux/ubuntu/
Download and run the official PostgreSQL Docker image from Docker Hub: https://hub.docker.com/_/postgres
Use Azure's managed PostgreSQL service: https://azure.microsoft.com/en-us/products/postgresql
Once PostgreSQL is installed and running, create a new database instance for the DXF services:
1.Start PostgreSQL prompt
sudo -u postgres psql -> you should see postgres=#
2.Create user: Replace user_name and user_password with your chosen credentials
CREATE USER user_name WITH PASSWORD ‘user_password’;
3.Create database instance: Replace DatabaseName with your chosen database name:
CREATE DATABASE "DatabaseName"
4.Grant Privileges: Grant the user access to the database
GRANT ALL PRIVILEGES ON DATABASE «DatabaseName» to user_name;
When the PostgreSQL database is ready then the two DXF Services docker imagers can be started. Both need the connection information to the PostgreSQL database that can be provided by an environment file.
Create a .env file with the PostgreSQL connection paramters:
sudo nano .env
Add the following content, replacing the placeholder values with your actual database configuration:
PostgreSQLConnection=Host=[192.168.x.y];Port=5432;Username=user_name;Password=user_password;Database=DatabaseName
Replace the IP 192.168.x.y with the IP address of the system where this installation happens.
Save the .env file. (ctrl + x, then y, then hit Enter)
Run the following command to create the docker container with the DXF API service:
docker run –env-file .env -dit –name VertiGIS-DXF -p 5000:5000 vertigisnetworks.azurecr.io/networks/dxf-service:1.0
Parameters:
•vertigis-dxf is the name of the API image that was downloaded
•1.0 is tag
•VertiGIS-DXF is the name of the container
To access the application, open your browser and navigate to: http://<Server_Public_IP>:5000/swagger/index.html
Run the following command to create the docker container with the DXF Export service:
docker run –env-file .env –name Export-Service -p 5001:5001 vertigisnetworks.azurecr.io/networks/dxf-job-export-service:1.0
Parameters:
•export-service is the name of the Export image that was downloaded
•1.0 is tag
•Export-Service is the name of the container.
To validate that the service is running:
1.Access the container:
docker exec -it Export-Service /bin/bash
2.Navigate to DXFExports directory:
cd DXFExports
3.List contents:
ls -la
You should see *.dxf files after exports have been executed.
The DXF API service requires SSL certificates for secure access.
1.Create cert directory:
mkdir VertiGIS-DXF-certs
2.Open cert directory
cd VertiGIS-DXF-certs
3.Generate certificate:
openssl req -x509 -sha256 -days 356 -nodes -newkey rsa:2048 \
-subj “/CN=dxfexport.com /C=US/L=San Fransisco” \
-keyout rootCA.key -out rootCA.crt
Update system and install nginx:
sudo apt update && sudo apt install nginx -y
1.The self-signed certificate can be added to the system’s trusted certificates using the following command:
sudo cp rootCA.crt /usr/local/share/ca-certificates/vertigis-dxfexport.crt
2.Update the CA list:
sudo update-ca-certificates
1.Edit nginx configuration:
sudo nano /etc/nginx/sites-available/vertigis
2.Add the following configuration:
server { listen 443 ssl; server_name dxfexport.com www.dxfexport.com;
ssl_certificate /etc/nginx/certs/vertigis-dxfexport.crt;
ssl_certificate_key /etc/nginx/certs/server.key
location / {
root /var/www/html;
index index.html
}
1.Execute the following commands:
sudo mkdiir -p /etc/nginx/certs
sudo cp vertigis-dxfexport.crt /etc/nginx/certs/
sudo cp server.key /etc/nginx/certs
2.Restart nginx
sudo systemctl restart nginx
1.Test SSL configuration:
curl https://dxfexport.com, https://dxfexport.com/swagger/index.html
2.Update hosts file: Add the following entries to your /etc/hosts file:
192.168.x.y dxfexport.com
192.168.x.y www.dxfexport.com
3.Network configuration: Ensure the domain https://dxfexport.com/ is accessible through your network firewall.
Either the VertiGIS Network Tools Editor or Explorer must be configured with the URL of the DXF Export API service. This can be done after installing the tools by using the VertiGIS Studio Web Designer.
To connect your VertiGIS Network Editor/Explorer to the DXF Export API service:
1.Open VertiGIS Studio Web Designer and load your VertiGIS Network Editor or Explorer application.
2.Select the Services tab.
3.Select DXF Export Navigation Service.
4.Enter the DXF Export API Service URL in the DXF Service URL field. Press Enter or Tab to confirm.
5.Save the application to apply the changes.
•Ensure all Docker containers are running: docker ps
•Check container logs: docker logs [container_name]
•Verify PostgreSQL connectivity from the containers
•Confirm SSL certificates are properly configured
•Check firewall settings for ports 5000 and 5001
For additional support or questions about this installation, contact your VertiGIS support team or sales representative.