|
AT_2D Class Function Manual |
Purpose
To perform a block adjustment. There are three type of adjustment model made available, namely "conformal", "affine" and "poly2nd".
Each type ofadjustment
requires a certain minimum number of tie point and ground control points.
For example "conformal" requires that there are at least 3 ground control
points, and they are at least 3 tie-points in each single photographs. If this
requirement is not fulfilled, then singularity occurs.
Minimum requirement for "conformal" is 2 points, for "affine" is 3 points, and
for "poly2nd" is 6 points.
Please note that all observed points are treated as tie points, thus they form equations, no matter whether it is a single point or tie point. However, single points will not get adjusted, hence no residual.
The input Ground control point file can contain points which are not measured in model and they will be automatically discard by the program.
The function requires a filename to store the adjustment result. If file name extensions are omitted, the function will add default extensions to the files. The default extension of the camera file is ".txt". if a path name is not include in the specified file name, the function will store the file in the current data path, set by command "set path".
***** Important Note: sd_xpyp and sd_gcp which are used as default value for SD if it is omitted in the input measuring file, must be set BEFORE reading data (loadobs, and loadgcp).
Class
AT_2D
Usage
{Matrix} ret = object.ADJUST({String} argm1, {String} argm2)
argm1 = filename to store the adjustment result
argm2 = type of adjusment, must be "conformal", "affine", or "poly2nd"
(default is "conformal")
Example:
|
->BLK = AT_2D() ->BLK.sd_gcp() = 2.50 ->BLK.sd_xpyp() = 0.03 ->BLK.loadobs("my_input_data") ->BLK.loadgcp("my_gcp") ->BLK.adjust("my_result","affine") -> |
See also (class function)
loadobs, loadgcp
Purpose
To load ground control point data from a file. The file is an ASCII file and must consists of records having 3 or 4 fields, namely point number, x coordinate and y coordinate and SD. If the last field is omitted, the default SD, set by function "sd_gcp", will be used. The following shows an example of a ground control point file. Please note the use of "/" symbol in the data file, which indicates that the particular line is not wanted to be read, could be a comment line, or a wrong piece of data.
If file name extensions are omitted, the function will add default extensions to the files. The default extension is ".txt".
Unless the path name is given in the file names, the function will search for the files in the current working directory, defined by command "set path".
/ read from a 1/250,000 topographic map / unit = meter / Horizontal GCP
/ Pt no X Y SD
/ 1 -667047.376 217712.596 50.000
2 -619366.596 242930.557 50.000
/ 3 -695941.636 247336.830 50.000
4 -658920.623 180101.449 50.000
5 -818214.107 164667.097 50.000
6 -828170.906 166537.475 50.000
7 -778269.784 91986.820 50.000
8 -786453.088 15842.096 50.000
/ more....
/ ........
|
Class
AT_2D
Usage
{void} object.LOADGCP({String} argm1)
argm1 = ground control point filename
Example:
|
->BLK = AT_2D() ->BLK.loadgcp("my_gcp") -> |
See also (class function)
loadobs, adjust
Purpose
To load observation data, 2D x y coordiates, from a file. The file is an ASCII file and must consists of blocks of records having 3 or 4 fields, namely point number, x coordinate and y coordinate and SD. If the last field is omitted, the default SD, set by function "sd_xpyp", will be used.
Each block in the observation file must start with a number represent the photo number. Then it is followed by all measurement in that photo. Then it starts again with the second photo and so on. Each photo measurement can come in any order.
The following shows an example of a observation data file. Please note the use of "/" symbol in the data file, which indicates that the particular line is not wanted to be read, could be a comment line, or a wrong piece of data.
Please note that most points do not have SD, and the setting default value will be used. Points that require a particular SD can be manually assigned, and the program will ignore the default SD and assign the specified SD to them, for example points 8340302, 8340305 in photo 83403 in the file below.
If file name extensions are omitted, the function will add default extensions to the files. The default extension is ".txt".
Unless the path name is given in the file names, the function will search for the files in the current working directory, defined by command "set path".
/ DISP images / Observed image rectangular coordinates of tie pts and GCPs, unit = mm / acc of image coord observation is 0.030 mm (30 micron) / Each block starts with Photo number, then followed by observed coord / Pt 1-39 are GCPs, others are tie points / 83403
1 -7.061 -14.684
2 -7.923 -25.338
3 1.490 -12.127
4 -15.091 -11.434
5 -0.513 19.742
6 0.926 21.424
7 -18.280 20.074
8 -31.176 29.713
9 -40.931 11.865
8340301 1.691 21.589
8340302 -8.398 8.378 0.1
8340303 -8.119 -3.641
8340304 -4.050 -28.741
8340305 -11.928 -49.109 0.1
8340306 -30.515 28.588
8340307 -34.601 14.616
8340308 -33.001 1.353
8340309 -32.061 -12.196
8440301 -48.182 37.053
8440302 -49.018 31.561
8440303 -50.464 19.331
84403
1 36.679 -15.173
2 35.217 -25.736
3 44.914 -12.391
4 28.095 -11.699
5 43.508 19.729
6 44.842 21.426
7 25.459 20.270
8 12.054 30.327
9 1.491 12.210
11 -8.043 21.699
12 -34.293 14.372
13 -43.722 23.487
8340301 45.562 21.546
8340302 35.401 8.321
8340303 35.335 -3.817
8340304 39.016 -29.154
8340305 30.451 -49.834
8340306 12.700 29.172
8340307 8.450 14.931
8340308 9.811 1.384
8340309 10.647 -12.433
8440301 -5.971 38.189
8440302 -6.867 32.547
8440303 -8.492 20.004
8540301 -53.912 28.264
8540302 -52.692 21.559
8540303 -43.371 16.195
8540304 -35.477 32.885
8540305 -20.811 21.809
8540306 -45.454 13.658
85403
/ 11 36.060 21.588
12 8.772 14.554
13 -0.775 23.976
14 -30.821 2.558
15 -30.390 16.663
16 -48.120 19.385
17 -48.609 0.613
8340306 56.640 28.792
8340307 52.472 14.608
8340308 53.528 1.008
8340309 54.284 -12.815
8440301 38.044 38.195
8440302 37.157 32.540
8440303 35.470 19.924
8540301 -11.805 29.095
8540302 -10.415 22.173
8540303 -0.722 16.502
8540304 7.611 33.466
8540305 22.960 21.881
8540306 -2.965 13.988
8640301 -46.235 27.784
8640302 -53.572 7.366
8640303 -30.836 2.558
8640304 -52.327 -8.425
/ more.... / ........
|
Class
AT_2D
Usage
{void} object.LOADOBS({String} argm1)
argm1 = observation data filename
Example:
|
->BLK = AT_2D() ->BLK.loadobs("my_observed_data") -> |
See also (class function)
loadgcp, adjust
Purpose
To report the current setting of default value of standard deviation of ground control. This value will be only used for those data that have no SD.
Class
AT_2D
Usage
{double} ret = object.SD_GCP()
Example:
|
->sd1 = BLK.sd_gcp() -> |
See also (class function)
sd_xpyp
Purpose
To report the current setting of default value of standard deviation of observation data. This value will be only used for those data that have no SD.
Class
AT_2D
Usage
{double} ret = object.SD_XPYP()
Example:
|
->sd2 = BLK.sd_xpyp() -> |
See also (class function)
sd_gcp