Prepare the data

First, you'll confirm that a one-way replica is the best solution for distributing data between the transportation and tourism departments, compared to other types of replicas. Then, you'll download the data, connect to the enterprise geodatabases for both departments, and ensure the transportation data is correctly configured for replication.

Why a one-way replica?

Geodatabase replication is useful for managing and distributing spatial data across multiple locations and geodatabases. It involves creating replicas, or copies, of data in a source geodatabase and transferring those replicas to a target geodatabase. One advantage of replicas is that they can be synchronized with the source data on a regular basis. Synchronization means that any changes made to the source data will also be reflected in the replica data, which is useful for managing data that is frequently updated.

There are three types of geodatabase replication: one-way, two-way, and checkout/check-in. The type you use will depend on how the data is stored, what way the data is intended to be distributed, and the data's editing requirements.

This tutorial will focus on the replica between the tourism and transportation departments. The type of replica used will be a one-way replica.

Graphic showing the three types of replication used in the workflow

Why is a one-way replica the best type of replication for the tourism and transportation departments? Consider the following aspects of the workflow:

  • Both departments store their data in an enterprise geodatabase.
  • The transportation department needs to share its data with the tourism department.
  • The tourism department doesn't need to make changes to the data. It only needs read access so it can publish the data to a web map.
  • The transportation department will manage all edits and updates. There is no need for manual edit conflict resolution, as only one department will edit the data.

One-way replication allows data changes to be sent in a single direction, from the parent geodatabase to the child geodatabase. It ensures only the parent manages the data; the child can read the data but not edit it. One-way replicas also allow for repeated synchronizations if the data is updated multiple times.

Graphic showing one-way replication between parent and child geodatabases

Download the data

Now that you've determined that a one-way replica is best for your workflow, you'll download and open an ArcGIS Pro project package that contains the data used in this tutorial.

Note:

For this tutorial, you'll be using your own enterprise geodatabases to complete the workflow. Ensure that you have ArcGIS Server installed and authorized and Microsoft SQL Server (or another supported relational database management system) installed. To learn more about installing these components, review the Base ArcGIS Enterprise deployment documentation and the Get started with ArcGIS Enterprise Builder tutorial.

  1. Download the Tourism_and_Transportation project package.
  2. Locate the downloaded file on your computer.
    Note:

    Depending on your web browser, you may have been prompted to choose the file's location before you began the download. Most browsers download to your computer's Downloads folder by default.

  3. If you have ArcGIS Pro installed on your machine, double-click Tourism_and_Transportation.ppkx to open the project. If prompted, sign in using your licensed ArcGIS account.
    Note:

    If you don't have access to ArcGIS Pro or an ArcGIS organizational account, see options for software access.

    The project contains two maps, Transportation and Tourism, one for each department participating in the replication. These maps are zoomed to Buenos Aires, Argentina, but contain no data other than the basemap.

    Default map of Buenos Aires without data

    The project also contains data in the project geodatabase.

  4. In the Catalog pane, expand Databases and expand tourism_and_transportation.gdb.

    Default geodatabase

    The database includes three feature classes: Public_Bicycles, Subway_Lines, and Subway_Stations. In this tutorial, these are the datasets managed by the transportation department that the tourism department wants to use in their map.

Connect to enterprise geodatabases

The database in which the data currently resides is a file geodatabase. One-way replication is only possible when the parent database is an enterprise geodatabase, so you must move the data.

An enterprise geodatabase uses ArcGIS Enterprise. It has added functionality and dataset types; it also allows synchronization with feature services published from its data.

First, you'll create or connect to the enterprise geodatabase that will represent the one used by the transportation department. You'll copy the data in the file geodatabase to it. Then, you'll create or connect to the enterprise geodatabase that will represent the one used by the tourism department.

  1. If necessary, create an enterprise geodatabase in your instance of SQL Server (or other supported relational database management system) named Transport_BA.
    Note:

    If you already have an enterprise geodatabase available to you, you can use it instead of creating a new one. If you need help creating a new enterprise geodatabase, refer to the Create an enterprise geodatabase section of the Deploy an enterprise geodatabase for real estate tutorial.

    Next, you'll connect to the enterprise geodatabase.

  2. In the Catalog pane, right-click Databases and choose New Database Connection.

    New Database Connection option

    The Database Connection window appears. The parameters you use to connect to the enterprise geodatabase will depend on your SQL Server or relational database management system (RDBMS) instance.

  3. For Database Platform, choose the RDBMS your instance uses. For Instance, type the name of your RDBMS instance.
    Note:

    The example images use a SQL Server instance named BASQL; your instance will be different.

    Database Platform and Instance parameters

  4. For Authentication Type, choose Database authentication.
  5. For User Name and Password, type the credentials for an account that is able to access and load data to the enterprise geodatabase.
    Note:

    The example images use a user named JUAN; your user name will be different.

  6. For Database, choose the Transport_BA enterprise geodatabase you created (or another enterprise geodatabase you have access to and can modify for this tutorial).

    Authentication Type, User Name, Password, and Database parameters

  7. Click OK.

    The enterprise geodatabase is added to the Catalog pane. By default, the database is named after the instance. (For instance, the example database is named BASQL.sde.) You'll rename the database to follow the following naming format: database name_database user.sde.

  8. In the Catalog pane, right-click your enterprise geodatabase and choose Rename. Change the name to Transport_BA_[your database user name].sde.
    Note:

    In the example images, the user name is JUAN, so the enterprise geodatabase is named Transport_BA_JUAN_sde. Your user name will be different.

    Renamed enterprise geodatabase

    Next, you'll copy the data in the file geodatabase to the enterprise geodatabase.

  9. Drag the Public_Bicycles, Subway_Lines, and Subway_Stations feature classes from tourism_and_transportation.gdb to Transport_BA.sde.
    Tip:

    Press Ctrl and click each of the feature classes to select all three, and drag them to copy all three at once.

  10. Expand Transport_BA.sde to view its contents.

    Copied data in the enterprise geodatabase

    The data has been copied. The copies are prefixed by the name of the user who owns the data. In the example image, the owner is an account named JUAN; your user name will differ.

  11. Collapse tourism_and_transportation.gdb.

    Next, you'll connect to the enterprise geodatabase used by the tourism department. For a one-way replica, the child database does not necessarily have to be an enterprise geodatabase. However, in this scenario, the tourism department wants to use the shared data to create a web map. Enterprise geodatabases allow synchronization of web features published from its data. This means that if the tourism department wants their web map to automatically be updated whenever the data is updated, they must use an enterprise geodatabase too.

  12. If necessary, create an enterprise geodatabase in your instance of SQL Server (or other supported relational database management system) named Tourism_BA.
  13. In the Catalog pane, right-click Databases and choose New Database Connection.
  14. In the Database Connection window, set the appropriate parameters to connect to the Tourism_BA geodatabase you created (or another enterprise geodatabase you have access to and can modify for this tutorial).
  15. Click OK.
  16. Rename the new database connection to Tourism_BA_[your database user name].sde.

    In the example images, the user name for the tourism database is EMMA; your user name will differ.

    Both enterprise geodatabase connections

    You are now connected to two enterprise geodatabase. One represents the enterprise geodatabase managed by the transportation department; it contains transportation data. One represents the enterprise geodatabase managed by the tourism department; it is empty.

Enable global IDs

Next, you'll prepare the transportation data for replication. First, you'll confirm that the database connection uses traditional, rather than branched, versioning. Replication is not supported with branch versioning, as replicas require a direct connection to the parent database. Then, you'll enable global IDs for the feature classes. When data is versioned due to editing, global IDs help map edits made in multiple versions of the same data.

  1. In the Catalog pane, right-click Transport_BA.sde and choose Geodatabase Connection Properties.
  2. In the Geodatabase Connection Properties window, confirm that Versioning Type is set to Traditional.

    Versioning Type parameter set to Traditional

  3. Close the Geodatabase Connection Properties window.

    Next, you'll enable traditional versioning and enable global IDs for each of the three feature classes.

  4. In the Catalog pane, right-click Public_Bicycles and choose Manage.

    Manage option for Public_Bicycles

    The Feature Class Properties window appears.

  5. On the Manage tab, check Versioning and choose Traditional. Check Global IDs.

    Versioning and Global IDs enabled

  6. Click OK.
  7. For the Subway_Lines and Subway_Stations feature classes, open the Feature Class Properties window and enable traditional versioning and global IDs.

    Now all three feature classes are ready for replication.

  8. On the Quick Access Toolbar, click the Save button to save the project.

    Save button

So far, you've confirmed that a one-way replica is the appropriate replication type to distribute data between the transportation and tourism departments. You've also connected to the enterprise geodatabases you'll use in the tutorial and prepared the database connection and feature classes for replication.


Create a one-way replica

Next, you'll create a one-way replica between the transportation and tourism geodatabases.

Create the replica

To create the replica, you'll run a geoprocessing tool.

  1. In the Catalog pane, right-click Transport_BA.sde, point to Distributed Geodatabase, and choose Create Replica.

    Create Replica option

    The Geoprocessing pane appears, showing the Create Replica tool. First, you'll set the datasets to be replicated.

  2. For Replica Datasets, click the Browse button.

    Browse button

  3. In the Replica Datasets window, under Project, expand Databases. Click Transport_BA.sde.
  4. Press Ctrl and click Public_Bicycles, Subway_Lines, and Subway_Stations to select all three.

    All three feature classes selected

  5. Click OK.

    The datasets are added to the parameter in the Geoprocessing pane.

  6. For Replica Type, choose One way replica. Confirm that Output Type is set to Geodatabase.

    Next, you'll ensure the data is replicated to the tourism department's database.

  7. For Geodatabase to replicate data to, click the Browse button.
  8. In the Geodatabase to replicate data to window, under Project, click Databases. Select Tourism_BA.sde and click OK.
  9. For Replica Name, type Transportation_to_Tourism.

    Parameters for the Create Replica tool

  10. Click Run.

    The tool runs and the replica is created.

  11. Close the Geoprocessing pane.

Explore the replica

Now that the replica has been created, you'll inspect the replica from the perspective of both the parent and the child database.

  1. In the Catalog pane, right-click Transport_BA.sde, point to Distributed Geodatabase, and choose Manage Replicas.

    The Manage Replicas pane appears. It lists one replica: the Transportation_to_Tourism replica you created.

  2. Under Transportation_to_Tourism, click the arrow to expand the replica.

    Arrow to expand the replica

    Information about the replica is displayed. The owner is the database user who created the replica (in the example images, JUAN). The information also includes whether the database is the parent or child and whether it is sending or receiving the data.

    Information about the replica from the parent database

  3. Close the Manage Replicas pane.

    Next, you'll confirm that the data was replicated to the child database.

  4. In the Catalog pane, right-click Tourism_BA.sde and choose Refresh.
  5. Expand Tourism_BA.sde.

    Replica containing the three feature classes

    The three feature classes have been successfully replicated in the child database.

  6. Right-click Tourism_BA.sde, point to Distributed Geodatabase, and choose Manage Replicas.
  7. In the Manage Replicas pane, expand the Transportation_to_Tourism replica.

    The information about the replica, when accessed from the tourism geodatabase, indicates the role as child and the status as data receiver instead of data sender.

    Information about the replica from the child database

  8. Close the Manage Replicas pane. Collapse the Tourism_BA.sde connection.
  9. Save the project.

You've created a one-way replica between the transportation and tourism databases. You confirmed the data was properly replicated and inspected the replica from the parent and child perspective to assess the data flow. The data is now ready for synchronized edits.


Synchronize changes

Now that you've created a one-way replica, you'll use it for data synchronization. In this part of the workflow, assume that the transportation department wants to make edits to their original data. You'll perform the edits and then synchronize the changes so that the edits are reflected in the tourism department's replica.

Add the data to the map

The transportation department has recently extended one of the subway lines to better service a hospital in the city. You, acting as a GIS specialist in the transportation department, will edit the original subway data to reflect these changes. First, you'll add the data to the map and change its symbology to differentiate the subway lines.

  1. Confirm that the Transportation map is the active map.

    Transportation map

  2. In the Catalog pane, under Transport_BA.sde, press Ctrl and click Subway_Lines and Subway_Stations to select them. Right-click either selected feature class and choose Add To Current Map.

    Add To Current Map option

    Both feature classes are added to the map. (Your default symbology may differ from the example images.)

    Default map of Buenos Aires subways

    Next, you'll change the symbology. To save time, layer files have been included in the project folder. You'll import the symbology from those files.

  3. In the Contents pane, ensure that Subway Stations is selected.

    Contents pane with Subway Stations selected

  4. On the ribbon, click the Feature Layer tab. In the Drawing group, click Import.

    Import button

    The Import Symbology pane appears.

  5. For Input Layer, confirm that Subway Stations is chosen. For Symbology Layer, click the Browse button.
  6. In the Symbology Layer window, under Project, expand Folders, Tourism_and_Transportation, and p30. Click tourism_and_transportation1.

    Folder containing layer files

  7. Click Subway_Station_Symbology.lyrx and click OK.

    The file is added to the tool parameters.

    Import Symbology tool parameters

  8. Click OK.

    The symbology is applied. You'll repeat the process for the other layer.

  9. In the Contents pane, select Subway Lines. On the ribbon, in the Feature Layer tab, click Import.
  10. In the Import Symbology pane, for Symbology Layer, choose Subway_Lines_Symbology.lyrx (located in the same folder as the stations layer file). Click OK.

    On the map, both stations and lines are now symbolized so that each subway line has a unique color.

    Map with symbology applied

Edit the data

First, you'll extend an existing subway line feature to its new endpoint. Then, you'll add another subway station where the line ends.

The changes will be made to Line C of the subway, which travels north-south on the eastern side of the city. For the purposes of this tutorial, a bookmark has already been prepared for the area of interest.

  1. On the ribbon, click the Map tab. In the Navigate group, click Bookmarks and choose Lima Street.

    Lima Street bookmark

    The map navigates to Lima Street, where the city is expanding Line C of the subway to service the nearby Hospital Borda.

    First, you'll create a new subway line feature that extends to the hospital.

  2. On the ribbon, click the Edit tab. In the Features group, click Create.

    Create button

    The Create Features pane appears.

  3. In the Create Features pane, under Subway Lines, click the Linea C feature template. Confirm that Line is selected.

    Linea C feature template

  4. In the Snapping group, click the Snapping drop-down arrow. Ensure snapping is turned on and Vertex snaps to the nearest vertex of a polyline or polygon feature is selected.

    Snapping settings

  5. On the map, click the ending vertex of the subway line.

    Ending vertex of the subway line

  6. For the second vertex, click the end of Lima Street, directly south of the first vertex.

    Ending vertex of the new feature

  7. At the bottom of the map, click the Finish button.

    Finish button

    The new subway line feature is created. Next, you'll create a subway station for the extended line.

  8. In the Create Features pane, under Subway Stations, click the C feature template and confirm that Point is selected.
  9. Click the Open the active template pane to specify attributes for features you are about to create button.

    Open the active template pane button

  10. Enter the following attribute information:
    • For Estacion, type Hospital Borda.
    • For Linea, confirm that C is chosen.
    • For Ascensor, type 0.
    • For Escalera, type 4.
    • For Adaptado, type NO.
    • For Accesible, type NO.

    Attributes for the new feature

  11. On the map, click the endpoint of the new subway line feature you created.

    Location of new subway station

    The station is added.

  12. At the bottom of the map, click the Finish button. Close the Create Features pane.
  13. On the ribbon, on the Edit tab, in the Selection group, click Clear.
  14. In the Manage Edits group, click Save.

    Save button

  15. In the Save Edits window, click Yes.

    You've now edited the feature classes to add new data.

    New subway line and station on the map

Synchronize the data

Next, you'll synchronize the changes made to the transportation data so that they appear in the tourism department's replica.

  1. In the Catalog pane, right-click Transport_BA.sde, point to Distributed Geodatabase, and choose Synchronize Changes.

    Synchronize Changes options

    The Geoprocessing pane appears, showing the Synchronize Changes tool. The tool parameters are automatically filled in based on details you set when you created the one-way replica. Geodatabase 1 is the parent geodatabase, Transport_BA.sde, while geodatabase 2 is the child geodatabase, Tourism_BA.sde. The direction is from geodatabase 1 to geodatabase 2, meaning changes to the data will be sent from the parent to the child.

    Conflicts between the two databases are set to be resolved in favor of geodatabase 1. In a one-way replica, only one geodatabase can make edits, so there is no manual conflict resolution. In this tutorial, the transportation department can make edits while the tourism department can't, so all conflicts will be automatically resolved in the transportation department's favor.

    Note:

    The Conflict Resolution Policy parameter has a warning that informs you all conflicts will be automatically resolved. This behavior is expected with a one-way replica, so you can ignore the warning.

    Synchronize Changes tool parameters

  2. Click Run.

    The tool runs. When it completes, the edits you made to the transportation department's data are synchronized with the tourism department's replica.

  3. Close the Geoprocessing pane.

    You'll confirm the changes appear in the tourism department's data.

  4. Activate the Tourism map.

    Tourism map

    This map shows the same view of Buenos Aires on the Transportation map. However, it does not have the transportation department's data on it.

  5. In the Catalog pane, right-click Tourism_BA.sde and choose Refresh.
  6. Expand Tourism_BA.sde. Add the Subway_Lines and Subway_Stations feature classes to the current map.
  7. On the ribbon, click the Map tab. In the Navigate group, click Bookmarks and choose Lima Street.

    The map navigates to the area where you added the new features. The new features appear on the map, confirming that the changes were successfully synchronized to the tourism department's database using one-way replication.

    Replicated features on the map

  8. Save the project.

In this tutorial, you helped the department of transportation share its data with the department of tourism. You identified a one-way replica as the best type of geodatabase replication for the workflow. Then, you created the replica between two enterprise geodatabases. Lastly, you edited the original data and synchronized changes so that the edits were reflected in the tourism department's database. With this one-way replica, the tourism department will have access to updated transportation data, which can be published as web feature layers for use in the tourism department's public web map.

This tutorial focused on distributing data between the transportation department and tourism department using a one-way replica. Other tutorials in the series focus on distributing data from the culture and retail departments using two-way and checkout/check-in replicas.

You can find more tutorials in the tutorial gallery.