|Previous| | |Contents| | |Next|

# Importing survex .3d files

Therion surveys nearly correspond to station prefixes defined by `*begin`/`*end` pairs in survex source files. Usually there does not exist one-to-one mapping between them. So if you want to keep your centerline in survex files you need to solve the problem how to match survex and therion data structures. This sample shows three different ways, how to deal with station prefixes when importing survex .3d files to therion.

## Using surveys specified in .th files

If you will import .3d file with `-surveys use` switch, then therion tries to find the match between survex prefix and therion survey name. If this match is found, stations are inserted into survey found. Otherwise prefix is left with station names. Example code:

    import use.3d -surveys use
    input use-out.th2
    survey use
      input use-in.th2
    endsurvey

In this case you should take care where you input your .th2 files containing scraps. In use-out.th2 file you should refer to station names using:

    point 165.744 176.58 station -name 2@use

but in the use-in.th file using

    point 321.454 236.22 station -name 1

Map with station names in this case looks like this:

Station names are before '@' symbol, survey names follow this symbol.

## Creating non-existing surveys

If you import your .3d file using

    import create.3d -surveys create

all survex prefixes are taken into account and if surveys with corresponding names do not exist, they are created. In this case, if you do

    input create.th2

right after `import` command, you refer to stations in .th2 file with names shown on the map.

## Ignoring station prefixes

Last possibility is to import your .3d file using

    import ignore.3d -surveys ignore

Also in this case, station references in corresponding .th2 file are same as station names on the next map.

Note that no surveys are created in this case. Station names are taken from .3d files without change.

## Managing large projects

Assume a situation when you want to join these three small maps within single large project. Assume that coordinates of cave entrances are specified in the top-level cave.3d file. If your joining code will be

    import cave.3d -surveys use
    survey cave
      input use/use.th
      input create/create.th
      input ignore/ignore.th
    endsurvey

not all stations are replaced correctly. The "created" series is placed wrong on the map.

This is because in top level import command, survey create is imported from file `create/create.3d` with wrong coordinates, and we import top-level .3d file with `-surveys use` switch. This means, cave.create.1 will be imported here as create.1@cave and not 1@create.cave.

To solve this problem, we need to re-import stations from top-level cave.3d file once more with `-surveys create` switch.

    import cave.3d -surveys use
    import cave.3d -surveys create
    survey cave
      input use/use.th
      input create/create.th
      input ignore/ignore.th
    endsurvey

After this additional `import` final looks as expected.

## Conclusion

Even if there are several possibilities how to map survex prefix structure to therion survey structure, the most clean solution is to create survey structure to desired depth in .th files using empty `survey`/`endsurvey` pairs and always use `-surveys use` switch when importing .3d files.

|Previous| | |Contents| | |Next|