Skip to main content
Cartegraph Campus

Normalize Cartegraph Data for ArcGIS Integrations

Use this checklist to guide you through the Esri Integration setup.

Task #

Description

Notes

[_] 1 

Break Apart  a Feature Class to Integrate with Cartegraph

Tasks can have up to three if using full geometry

[_] 2 

Combine Data to Integrate with Cartegraph

 

[_] 3 

Create Cartegraph Fields or Recordsets to integrate with Cartegraph

 

[_] 4 

Compatible Data Types

 

[_] 5 

Field Length

 

[_] 6 

Identifiers

 

[_] 7 

Libraries, Domains, and Subtypes

 

Use the following information to normalize your Cartegraph data for integration between ArcGIS Server or ArcGIS Online. All the information applies to both types of integration unless noted. The GIS association must be setup in Cartegraph Adminsistration after completing data normalization.

See the GIS Integration Glossary for more information.

Break Apart A Feature Class to Integrate with Cartegraph

It may be necessary to break apart a feature class into multiple feature classes before integrating. For example, if geodata for different assets is stored in a single feature class–Storm Sewers, where Storm Sewers contains records for manholes and cleanouts. In the geodatabase, the asset type is the value of the Type field. In the Cartegraph data structure, these components are stored in separate recordsets since they require different maintenance and inspection activities. If your existing geodatabase contains different assets in a single feature class, create separate feature classes for manholes and cleanouts to take advantage of the Cartegraph data structure.

Tasks will require 2 new feature classes in this same regard if synchronizing full geometry. One to hold polygon shapes and the other to hold linear shapes. The Tasks Point Feature Class will contain the point shapes. A new required field in the Tasks Point Feature Class, Carte_Geometry_Type, will determine the true geometry type of the task. (populated with 'Linear', 'Polygon' or 'Point'). The new Feature Classes are required to use the same Feature Service as the Task Feature Class.

For Tasks with Polygon geometry, the "Centroid" will be saved in the Tasks Point Feature Class geometry field. The point in the center of the polygon. If that point does not fall in the polygon, it will return whichever vertex is closest on either side of the center point.

For Tasks with Linear geometry, the "MidpointOnLine" will be saved in the Tasks Point Feature Class. The point half-way along a line. If that point is in a gap on a multi-part line, it will return whichever vertex is closest on either side of the gap.

Consult the Esri documentation for detailed instructions on selecting and exporting features. After creating feature classes, associate the geodata directly to the Cartegraph structure.

Tasks require two feature classes in this same regard. One to hold Polygon shape and the other to hold Linear shape. The Tasks Point Feature Class contain the point shape. A new required field in the Tasks Point Feature Class, Carte_Geometry_Type, determine the true geometry type of the task. The task is populated with Linear, Polygon, or Point. The new Feature classes are required to use the same Feature Service and Feature Class Layer as the Task Feature Class.

For Tasks with Polygon geometry  the Centroid is saved in the Tasks Point Feature Class geometry field. This is the center of the polygon. If that point does not fall in the polygon, it returns whichever vertex is closest on either side of the center point.

For Tasks with Linear geometry the MidpointOnLine is saved in the Tasks Point Feature Class. This is the point half-way along a polyline. If that point is in a gap on a multi-part line, it returns whichever vertex is closest on either side of the gap.

Combine Data to Integrate with Cartegraph

An existing geodatabase might classify data differently than Cartegraph and may require some restructuring. For example, if 8”, 10”, and 12” water mains are stored in separate feature classes. Combine all water mains into a single feature class.

After combining the feature classes, associate the geodata directly to the Cartegraph structure.

Create Cartegraph Fields or Recordsets to Integrate with Cartegraph

When users have existing geodata that cannot be restructured, use a Versa application to format the Cartegraph database with a new asset recordset to store the data. This method is most often used when your organization has a feature class and you wish to use Cartegraph to track tasks and inspections.

This recordset uses a basic default structure. When you format the database, select the Versa application whose geometry matches the feature class geometry type:

  • Versa Point;
  • Versa Linear
  • Versa Polygon

Add fields during the association process.  When a feature class has an attribute with the same names as the Cartegraph field, the feature class data is stored in the existing default field.

For example, your geodatabase includes a feature class for Water Fountains. Since Cartegraph has no equivalent recordset, format the Cartegraph database with a Versa Point application to create an asset recordset for Water Fountains to track tasks and inspections. 

Asset Builder is required to create an asset recordset and requires an advanced feature extension. If you do not have  access to Asset Builder ask your Cartegraph representative.

Compatible Data Types

When you review the types of data used in an integrated data source, you must make sure the data types used by the geodatabase are compatible with the data types used by the Cartegraph database. The table below shows the types of data that can be associated.

The integrated data system uses the most restrictive data type to validate data. You may associate a geodatabase integer field to a text field in Cartegraph. However, since the geodatabase is limited to integers, you can only enter integer values in the Cartegraph field. Cartegraph displays an error message that text data cannot be added (since it cannot be added in the geodatabase). This situation can cause frustration for users of the integrated system, so use great care when choosing a different type of data storage.

If a geodata field is an integer, it cannot be used to provide the value for a Cartegraph floating point (number) field.

You have two options:

  • Add a new geodata field (type = float) and calculate its value based on the original value. The new geodata field could be associated with an existing Cartegraph number field.       
  • Associate the existing geodata field to a new field in Cartegraph. The new Cartegraph field automatically takes on the data type and size properties of the geodata field.     
NOTE: Cartegraph quantities (amounts + units) are associated to the geodatabase using the default unit setting. Make sure the field default unit settings in Cartegraph match the implied units in the geodatabase.
Geodata Type Cartegraph Data Type Notes

Short Integer

  • Text
  • Check box
  • Integer
  • Lookup
  • Quantity
  • Number

A numeric value stored in two bytes (five significant digits) plus a positive or negative indicator. The actual numeric value for a short integer is approximately between -32,000 and +32,000. Integers can store only whole numbers. Fractions, or numbers to the right of the decimal place are not allowed.

Long Integer

  • Text
  • Check box
  • Integer
  • Lookup
  • Quantity
  • Number

A numeric value stored in four bytes (ten significant digits) plus a positive or negative indicator. The actual numeric value for a long integer is approximately between -2 billion and +2 billion. Integers can store only whole numbers. Fractions, or numbers to the right of the decimal place are not allowed.

Long or Short Integer

  • Auto-number text

This special situation may occur if you have a text field set to auto-number in Cartegraph and pad with zeros is enabled. The association between the text field and the integer field is allowed, but the padding (extra zeros) is stripped from the values stored in the geodatabase. For example:

Cartegraph ID field before association = 00004056.

Geodatabase field after association = 4056.

Float
(Single Precision Decimal)

  • Text
  • Currency
  • Lookup
  • Quantity
  • Number

A float is a four-byte number (seven significant digits). The approximate range of values is between -3.4E-38 to -1.2E38 for negative numbers and from 3.4E-38 to 1.2E38 for positive numbers.

Double
(Double Precision Decimal)

               

  • Text
  • Currency
  • Lookup
  • Quantity
  • Number

A double is an eight-byte number (15 significant digits), The approximate range of values is between -2.2E-308 to -1.8E308 for negative numbers and 2.2E-308 to 1.8E308 for positive numbers.

Text

  • Text
  • Lookup
  • Attachment
  • Check box

A text field represents a series of alphanumeric symbols. The text field length in Cartegraph must be greater than or equal to the text field in the geodatabase.

Blob

  • Not Supported

Items such as images, multimedia, or bits of code can be stored in this type of field. Blob fields cannot be connected to a Cartegraph database.

Date/Time

  • Text
  • Date/Time
  • Date
  • Time
  • Lookup

Stores dates, times, or date and times. The ArcMap default format is presented is mm/dd/yyyy hh:mm:ss and a specification of AM or PM. When you enter date fields in the table, they convert to this format.

Field Length

If the geodatabase field length is greater than the corresponding Cartegraph field, the Cartegraph field size is increased when the database connection is made. No manual normalization is required.

Geo Field Properties

 

Cartegraph Field Properties

 
Before Association      
Field Name STREET Field Name STREETNAME
Field Size 45 Field Size 40
After Association      
Field Name Street Field Name STREETNAME
Field Size 45 Field Size 45

If the Cartegraph field is longer than the corresponding geodatabase field and:

  • If there are no records in the Cartegraph recordset, this association is allowed.
  • If there are both Cartegraph records and geodata this association is allowed, but a message displays warning that data may be truncated.
  • If there are Cartegraph records but no geodata, this association is not allowed, and the data must be normalized. The fields cannot be associated directly.

Normalize Data

Select one of the following options:

Change Field Size

The Cartegraph Administrator changes the size of the Cartegraph field to match the geodatabase field. Data from the geodatabase may be truncated in Cartegraph. See the Cartegraph Help—Field Properties for detailed instructions.

Add a Field During Association

Add a Cartegraph field during the association process to hold the geo values. See the Associate to a New Field in Cartegraph section for detailed instructions.

Advantage:

  • Easy to add field during association.

Disadvantages:

  • You must manually add the field to Cartegraph forms and reports.
  • Any Cartegraph values that should be part of the integrated solution need to be added in an abbreviated version to the geodatabase.
  • If the geodatabase value is stored in a field, add the value to the asset record.
  • If the geodatabase value is stored in a coded domain or subtype, add the value to the domain or subtype.

Add Geodata Field

Add a geodata field to hold the Cartegraph value. This is often done when there is existing Cartegraph data, but no existing geodata. See Esri documentation for detailed instructions for adding fields. If records exist in the geodatabase, populate the new field with Cartegraph data.

Advantage:

Cartegraph values that should be part of the integrated solution are automatically added to the geodatabase.

Disadvantage:

If geodata exists, you must populate the new field with Cartegraph data.

Identifiers

The primary Cartegraph field, usually the ID field, must be associated to a unique attribute in the feature class. This is an important step, especially if you start with data in both the geodatabase and Cartegraph database. Do not change the association between the Cartegraph ID field and the geodatabase once it has been made: unexpected duplicate records occur if you change the ID field association. These unexpected results must be reconciled and corrected outside both Esri and Cartegraph. There are several methods to connect the Cartegraph ID field to the geodatabase records:

Use a New Geodatabase Field to Provide Cartegraph ID

Add a new field to the geodatabase to connect existing geodata with existing Cartegraph records. Consult the Esri documentation for detailed instructions on creating and populating fields.

  1. Create a field in the geodatabase. CarteID is how this document refers to this new field.
CAUTION: Do not use the reserved field name cgID or OID for the geodatabase field name.
  1. Make CarteID a Text field so that you can still use the auto-number features of Cartegraph and include prefixes and suffixes as part of the unique ID.
  2. Populate the new field with the Cartegraph ID for the record.

After normalization, the new geodata field CarteID is populated with the Cartegraph ID. This field is used to match the Cartegraph record to the geodata record.  The value of the new field may be entered manually: when Cartegraph records already exist, a user manually enters the ID of the existing Cartegraph record that matches an existing geodatabase record.  

Advantage:

When values are manually input, it provides the closest control over how existing records are associated. This method leaves the Cartegraph auto-number functionality intact. This is the preferred method of connecting geodata and Cartegraph data.

Disadvantage:

Manually populating the new geodatabase field may be labor intensive.

Use Existing Geodatabase Field for Cartegraph ID

Any unique geodatabase field can be associated to the Cartegraph ID when you create a two-way association as long as that field is not the ObjectID field or named cgID. No normalization is required.

NOTE: Make sure the geodatabase field contains unique IDs. Duplicate or blank records in the geodata field will cause errors on the association.

Advantage:

No manual manipulation is required if the field contents are not null and are unique.

Disadvantages:

  • Records in the geodatabase must contain values.       
  • The geodatabase field must be unique.       
  • The connection cannot be created until the geodatabase errors are corrected.       
  • This is a manual process, and may require additional analysis.     

Libraries, Domains, and Subtypes

Subtypes and domains should not be used with One-Way recordsets or field syncs.  Domains and Subtypes' primary function is to make data entry easier in ArcGIS. Editing of data for One-Way recordsets or fields should only be done in Cartegraph. If a domain or sub-type is used in a One-Way integration, the same normalization process and outcome is expected as a Two-Way integration as detailed below. It is recommended to use string fields on in the ArcGIS feature class instead of Domains and subtypes when doing a One-Way integration.

The geodatabase may use subtypes and domains to store data efficiently and to ensure data is entered consistently. A subtype or domain is associated with a Cartegraph library. Though subtypes can provide default values in the geodatabase, this functionality cannot be used in the Cartegraph data structure, if associated. Domains and subtypes are managed in ArcCatalog. Consult Esri’s documentation for detailed information.

Domains and subtypes contain the values allowed for input into a field. This ensures data entry consistency. Similarly, Cartegraph contains libraries which also contain values allowed for input into lookup fields.

When libraries are associated to domains or subtypes:

  • The values in the library must match what is stored in the domain or subtype:
    • Values that are not in the library are added to the library during the initial sync of the association.
    • Values that exist in the library that are not in the domain or subtype are removed from the Cartegraph library. If the values are being referenced in Cartegraph, they are not removed and the sync fails.
  • The Cartegraph library is set to Read Only.

A coded domain stores an integer or text value in the geodatabase, but displays a longer text value to the user, which is what must exist in the Cartegraph library if a coded domain is being associated.

To edit to the list of permitted values when a domain or subtype is associated to a library:

  1. Add or remove the new value in ArcCatalog.
  2. Republish connected ArcGIS service.
  3. Sync the database connection in Cartegraph GIS Integration.

When a coded domain value is associated with a field with its source in a library, the Description is stored in the Cartegraph library. When you change data in Cartegraph, the Description is passed from Cartegraph into the geodatabase. The geodatabase converts the value to the appropriate code, which is stored in the geodatabase.

A domain or subtype can only be associated with a single Cartegraph library. If the geo domain contains type values that relate to manholes, meters, and pumps, it can be associated to a single library—Pump Types—but not to Pump Types, Water Meter Types, and Manhole Types.

A Cartegraph library can be used by multiple recordsets, (Cities.) A single domain (City_Code) can be associated to the Sewer Manholes City field and the Sewer Mains City field since they both get their data from the Cities library. You cannot associate the City_Code domain to both the Cities and Counties libraries.

Normalize Data

Before you integrate the geodatabase and Cartegraph data, remember that all domains and subtypes associated to libraries must have matching values. The rule for creating associations is the geodata values always win, so during the initial sync of the association the values from the domain or subtype are added to the library and any values in the library not in the domain or subtype are removed from the library.

  • Normalization is not required when using a domain to populate an empty library. When the association is made and synched, all the domain values will be added to the library.
  • Users must ensure that the domain contains no duplicate values in the description field if it is associated with a Cartegraph unique field.
  • If values exist in the Cartegraph library that are desired, these need to exist in the domain or subtype before associating them. If they do not exist, manually add them to the geo side before making the association.
  • If Cartegraph does not have an appropriate field or library, this structure can be added during the association. During the create of the GIS Integration, Cartegraph allows selecting <New Field> and <New Library>. If these options are used, a new lookup field and library are created in the Cartegraph database formatted with the same properties as the geodatabase field and domain, and the library contains the values from the domain.

Examples of domains associated to libraries:

Coded Domain (City_Code) associated to the Cartegraph library, Cities.

The integer value stored in geodatabase is displayed in the Code column, while the Text value seen by the Esri user is the Description column:

Code

Description

3

Richland Hills

47

Watauga

12

Hurst

52

Keller

  • After a successful association, the Cities library contains only the values in the Description column.
  • If any records existed in the Cities library that are not in the coded domain, they were removed from the library.
  • The Cities library is now Read Only.
    • Users cannot add values to the Cartegraph library.
    • Values can be added to the City_Code domain in ArcCatalog. When the service is published and the connection is synched, these values will be part of the Cartegraph library.     
  • Only values in the library can be used to populate the City field of a Cartegraph record.

Before and After of a domain and a library that both contain specific values before an association is made:

Geo Stream_Name Domain Values

 

 

Cartegraph Watersheds Library Values

Before Association

 

 

 

Code

Description

 

Watershed Name

BFC

BIG FOSSIL CREEK

 

Lost Creek

BHC

BUNKER HILL CREEK

 

Buffalo Creek

CB

CALLOWAY BRANCH

 

BIG FOSSIL CREEK

LBC

LITTLE BEAR CREEK

 

 

After Association

 

 

         

Code

Description

 

Watershed Name

BFC

BIG FOSSIL CREEK

 

BIG FOSSIL CREEK

BHC

BUNKER HILL CREEK

 

BUNKER HILL CREEK

CB

CALLOWAY BRANCH

 

CALLOWAY BRANCH

LBC

LITTLE BEAR CREEK

 

LITTLE BEAR CREEK

After the association is successfully processed:

  • The values in the geo domain are stored in the Cartegraph library.
  • Unused library entries are automatically deleted from the Cartegraph library.
  • The library is read-only.

 

  • Was this article helpful?