This content has been marked as final. Show 3 replies
Yes you can use the Where clause without specifying a subtype.
When I have to build cross-reference databases I always like to look at examples. The Defense Mapping solution has a lot of examples. But for those without solutions, here's a quick little sample set you can look at (its built on 10.0). In the attached files, I included the source (road_attrs.mdb), target (TargetRoads.gdb), cross-reference (Road_XRef.mdb) and the mapping file I used to create the cross-reference. If you look at the source and target you will see that the source has one table and the target has three tables. The cross-reference will break the out the features from the source into one of the three targets. Any source feature with the TYPE_CODE set to BLVD with go to the target BLVD table. Any source feature that has the ROAD_CATEGORY of Major and is not a BLVD will go to the Major target table. Everything else will be mapped to the Other table. I also added a record to show the functionality of the field mapping. In the Other table, any record from the source that has a value of LA in the TYPE_CODE field will have the value set to LANE in the target table.
As for the Validate Cross Reference tool, it only checks a few things as mentioned in the help. http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/Validating_workspaces_against_the_cross_reference_database/010300000182000000/
The source workspace is compared to the cross-reference database first. The datasets that are not included in the cross-reference database are reported in the log file, as are the fields. The same process is then repeated using the target workspace.
The log file reports any datasets and fields that are not in the source or target workspace but are present in the cross-reference database. It also lists the paths to the cross-reference database, source workspace, and target workspace.
I hope that helps.
DataLoader.zip 51.1 K
As I don't have Defense Mapping solution the example provided was helpful, but sadly in my case it's just means that the WhereClause in my XRef tables are correct and I should look some other reason for not successful Preload Validation. :(
As for the WARNING messages and other strings within the Preload Validation and Data Loader log files - they should be more meaningful as for now they just stated for example:
Loading source dataset [WI_Failures] to target dataset [WI_Signal]
Loaded 9408 of 80380 rows
, but which exactly 9408 rows and the exact reason for the rest of them to not pass thru ...!?
There are many things that can cause problems when loading data, in most of the scenarios I tested all the features were still loaded.
The only scenario that I tried that produced similar results (with only some features being loaded and other not) occurred when I had a text field in the source that had a different length than the text field in the target. In the source the field had a length of 80 characters and some of the values in the field were about 30 characters long. In the target database, the field that these values were mapped to was only 25 characters long. All of the features which had values in the field that were under 25 characters were imported into the target database. All the features with values longer than the field allowed were not imported.
If this isn't what's causing the your features to drop out, I'd be willing to take a look if you can send me your data.