Conflating features across scale bands (Maritime Charting)
In an enterprise environment, data is stored in a NIS database for editing and maintenance, which is replicated to other databases for publishing. When implementing the NIS, there are many decisions that an organization needs to make. First, the organization needs to choose a relational database management system, such as Oracle or SQL Server. Once it is configured, the database is then ready to load the NIS schema in one of the following environments:
The NIS is a multi scale database where the same real-world feature may exist multiple times, with different geometric representations, at different compilation scales.
When you initially load the NIS with data from existing products, this will frequently result in multiple database features representing the same real-world feature. For example, if you load the data from three overlapping charts (1:40,000, 1:100,000, and 1:500,000) into the NIS, you could end up with three AidsToNavigationP features, one at each compilation scale, that represent the same real-world buoy. The same thing will happen with coastline and other features.
At this point, you have two choices.
- Retain all real-world representations of the same feature in the NIS and associate each one with its appropriate scale value.
- Combine two or more representations of the same feature into a single feature in the NIS and use that feature in multiple products at different scales (conflation).
The first approach, retaining multiple copies of the same feature, requires no preparatory work. However, over time, as data is maintained, a simple change, such as the color or shape of a buoy, must be repeated for each representation of the feature at multiple scales. Compared to file-based systems and other database solutions, you are still reducing the number of edits when multiple products are compiled from the same source.
The second approach, combining copies of a feature into a single feature, does require preparatory work but should be more efficient in the long run. An edit would only have to be performed once for all scales.
The process of combining multiple sources of information about a feature into a single record is called conflation. For example, we are interested in conflating information about real-world features compiled at different scales like buoys and wrecks that was derived from various sources such as existing chart products and new surveys.
Compilation scale is expressed as a ratio, such as 1:40,000 or 1:100,000. Scale decreases as the size of the denominator increases; 1:100,000 is a smaller scale than 1:40,000. Every feature in the NIS has a PLTS_COMP_SCALE attribute that holds the denominator value of the scale at which those features were compiled. For a given set of features, the one with the smallest PLTS_COMP_SCALE value is the one with the largest compilation scale. The geometry of a feature compiled at a larger scale is usually more precise than that of the same feature compiled at a smaller scale.
Conflating the features in NIS
Example 1: Simple conflation
An example of this simple conflation would be a wreck that appears on three separate scale products (1:10,000, 1:80,000, and 1:250,000). You could conflate the three wreck features, retaining the 1:10,000 feature. The conflated wreck feature would get a new PLTS_COMP_SCALE value of 250,000, and IS_CONFLATE would be set to True.
Example 2: Conflation with a relationship
If a feature participates in a Master/Slave relationship, then there are additional factors to consider. The decision to conflate must be consistent. If you decide to conflate the Master, you must also conflate the slave(s). For example, you might have a wreck (DangersP/WRECKS) that appears with a light (AidsToNavigationP/LIGHTS) on three different scale products (1:10,000, 1:80,000, and 1:250,000). You could conflate the three wreck features, retaining the 1:10,000 feature, and also conflate the three light features, retaining the 1:10,000 feature as well. The conflated wreck and light features would both get a new PLTS_COMP_SCALE value of 250,000, and IS_CONFLATE would be set to True. This will allow the three products to show the conflated wreck and light once they are populated and updated.
What if the same wreck appeared without the light on a 1:500,000 scale product? You would handle this situation by giving the wreck feature a PLTS_COMP_SCALE value of 500,000 while the light feature still gets a value of 250,000. This means that when the 1:500,000 scale product is populated or updated, it will show the wreck but not the light.
- Identify the set of features that represent a single real-world feature.
-
Decide which subset of those features you want to conflate.
If you have four candidate features, you can conflate two, three, or all four. If you choose to conflate less than the full set, the features you choose must be consecutive in the list of scales. For example, if you have four features (40K, 100K, 250K, and 500K) and choose to conflate two of them, you can conflate the 40K and 100K features, or 100K and 250K, or 250K and 500K. You cannot conflate the 40K and 250K features and retain the 100K feature as well.
-
Determine which of those features has the best geometry.
Typically, this would be the feature with the largest compilation scale. For example, a scale of 1:10,000 is greater than 1:250,000. This is the record you will retain.
- Compare the attributes of the features to be conflated and, if you find significant differences, edit the feature you will retain to correct all its attributes in the Attributes dialog box.
-
In the feature to be retained, set the PLTS_COMP_SCALE value to the scale of the smallest scale (largest denominator) product on which the conflated feature should appear.
For example, if the conflated feature is to appear on products ranging from 1:10,000 to 1:250,000, change the PLTS_COMP_SCALE value from 10,000 to 250,000.
-
In the feature to be retained, set the IS_CONFLATE value to True.
This attribute will be used in the extraction queries and replica definitions to indicate that this feature has been conflated with features from other scale bands and that it pertains to products in other scale bands.
-
Mark the remaining features in the set of features being conflated for deletion using the Track Deletes tool.
- Indicate that the reason for deletion is that this feature is being conflated with another feature
- Include the GlobalId of the feature being retained to continue tracking the history of the real-world feature associated with this chart feature.
Configuring the extraction queries
In defining a product in the product library, one of the steps you perform is to configure the extraction queries for the product instance(s) so that the conflated features are recognized and used properly. Along with the area of interest (AOI), the extraction queries control what NIS data is pertinent to your product. Typically, these queries contain filters specifying the desired values for PLTS_COMP_SCALE and NIS_PRODUCTS. If you conflate your data in the NIS, you must also include IS_CONFLATE. Below is an example of the extraction query you would use for a 1:40,000-scale ENC product containing no M_CSCL features. The query is spread over multiple lines to describe its parts:
Extraction query for ENC product containing no M_CSCL features
Lines 1–3 indicate that conflated (IS_CONFLATE = 1) features with a PLTS_COMP_SCALE of 40,000 or greater will be included.
Lines 5–6 indicate that if the feature is not conflated (IS_CONFLATE = 0 OR IS_CONFLATE IS NULL), its PLTS_COMP_SCALE value must be between 40,000 and 50,000 to be included.
The OR condition on Line 4 indicates that either of the two conditions described can apply.
Finally, Lines 8 and 9 indicate that the feature that meets the conditions described above should be included as long as the NIS_PRODUCTS attribute does not indicate that it is CHART_ONLY.
With the exception of the constant value used on Line 9, a query of this form would work for any ENC or Chart product. You simply need to plug in the appropriate scale values for the product you are defining.
1. ((IS_CONFLATE = 1 2. AND 3. PLTS_COMP_SCALE >= 40000) 4. OR 5. ((IS_CONFLATE = 0 OR IS_CONFLATE IS NULL) 6. AND 7. PLTS_COMP_SCALE >= 40000 AND PLTS_COMP_SCALE < 50000)) 8. AND 9. NIS_PRODUCTS <> 3
Extraction query for ENC product containing two M_CSCL features
For an ENC product that contains one or more M_CSCL features, the query would be more complex. However, the query would retain the same basic form as the one above. Here is an example for an ENC product at 1:80,000 that contains two M_CSCL features, one at 1:10,000 and one at 1:20,000:
Line 3 still controls how conflated features are treated, but it now uses the largest scale value relevant to the product, in this case, the 1:10,000 M_CSCL feature.
Line 7 from the first example has now become Lines 7–11. These lines control the way nonconflated features are treated. Lines 7, 9, and 11 each specify one of the three scale bands relevant to this product.
1. ((IS_CONFLATE = 1 2. AND 3. PLTS_COMP_SCALE >= 10000) 4. OR 5. ((IS_CONFLATE = 0 OR IS_CONFLATE IS NULL) 6. AND 7. (PLTS_COMP_SCALE >= 10000 AND PLTS_COMP_SCALE < 15000) 8. OR 9. (PLTS_COMP_SCALE >= 20000 AND PLTS_COMP_SCALE < 25000) 10. OR 11. (PLTS_COMP_SCALE >= 80000 AND PLTS_COMP_SCALE < 100000))) 12. AND 13. NIS_PRODUCTS <> 3
Modifying Extraction Queries
There are three different methods for modifying a WHERE clause that has been created at the product class level. Below is a table that describes the methods and the results of using them.
Modification method |
Description |
What it does |
---|---|---|
Allows you to replace the entire WHERE clause, or specific parts, created at the product class level for a specified table or all tables |
Part or all of the WHERE clause is replaced so it conforms to the product, instance, or area of interest feature with which you are working. The new clause you create supersedes the clause created at the product class level. |
|
Allows you to append an AND statement to the end of the WHERE clause created at the product class level for a specified table or all tables |
The WHERE clause created at the product class level is applied as well as the conditions you add. |
|
Allows you to append an OR statement to the end of the WHERE clause created at the product class level or a specified table or all tables |
The WHERE clause created at the product class level is applied as well as the conditions you add. |