ImportBNA()
Summary
Imports features from a BNA file into a geographic file.
Syntax
ImportBNA(string filename, string new_db_name, string layer_type, string table_name, integer n_names, array options)
| Argument | Contents |
|---|---|
| filename | The path and file name of the file to import |
| new_db_name | The path and file name of the new geographic file |
| layer_type | The type of features to import: Point, Line, or Area |
| table_name | The path and file name of the new table file |
| n_names | The number of name fields for each entity, as returned by GetBNAInfo() |
| Option | Type | Contents |
|---|---|---|
| Label | String | A descriptive label for the geographic file |
| Layer Name | String | The name of the layer in the geographic file |
| Median Split | Boolean | If "True" special handling ensures that entities which cross the 180 degree longitude line are imported properly; if "False" (the default), no special handling is invoked |
| NAD Conversion | 3 strings | Input datum, output datum, and conversion file (if needed); the input and output datums should be different |
| Node Layer Name | String | The desired name for the endpoint layer (only when importing a line layer) |
| Optimize | Boolean | Whether to optimize the geographic file automatically after the import (defaults to "True") |
| Overlap | String | Describes what to do with areas that overlap; takes one of the following values:"Ignore" - Leave overlaps as-is and simply create a non-topological database, possibly containing overlapping areas"Merge" (the default) - Where two areas overlap, merge the intersection into one of them; which one is arbitrarily decided"New" - Create a new area where the two areas overlap |
| Projection | String, array | The projection name and the array of options |
| Tab Delimited | Boolean | Indicates whether the file is tab-delimited, as returned by GetBNAInfo |
| Topology | Boolean | For area layers, a value of "True" indicates that the resulting geographic file should have true area topology, which involves substantial complex processing. A value of "False" means that boundary edges can be duplicated, so that larger files can be imported. This option does not apply to point and line layers |
| Transform | Array | Array specifying the coordinate transformation to apply to the file. This array can take one of three forms: (1) Control Point Transform an array of two or more four-element arrays containing local and world coordinates for control points. Example: {{real localX1, real localY1, real longitude1, real latitude1}, ...}. (2) Affine Transform an array of four elements: {real X_multiplier, real Y_multiplier, real X_offset, real Y_offset}. (3) Center and Extent Transform {c1_x, c1_y, width_1, c2_x, c2_y, width_2}, where the center shifts from (c1_x, c1_y) to (c2_x, c2_y), and a vector of length width_1 from c1 becomes a vector of length width_2 from c2. |
Notes
-
For more details on the NAD Conversion option, see Datum Conversions.
-
For more details on the Projection option, see Using Projections and Coordinate Systems.
-
If no transformation is applied, longitude and latitude coordinates can be integers with six implied decimal places (millionths of a degree). For more details, see Transformations.
Example
ImportBNA("c:\\bnafiles\\sample.BNA", "streets.dbd", "Line", "streets.bin", 4,{
{"Label", "Street Centerline File"},
{"Layer Name", "Centerline"},
{"Optimize", "True"},
{"Projection", "utm", {"zone=12", "units=m"}},
{"NAD Conversion", "NAD27", "NAD83",}
})
Error Codes
| Error Type | Meaning |
|---|---|
| NotFound | There is no file by this name, or there are no entities in the designated layers of the desired type |
| Error | The file is not a valid BNA file |
See Also
| Function | Summary |
|---|---|
| GetBNAInfo() | Collects summary information on the contents of a BNA file |