|
|
Purpose
To perform a block adjustment by using 3D conformal transformation. This is the so-called "Block Adjustment by Independent Model".
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 extension is omitted, the function will add default extension to the file. 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_xmymzm 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_3D
Usage
{Matrix} ret = object.ADJUST({String} argm1)
argm1 = filename to store the adjustment result
Example:
->BLK = AT_3D() ->BLK.sd_gcp() = 0.5 ->BLK.sd_xmymzm() = 0.03 ->BLK.loadobs("my_input_data") ->BLK.loadgcp("my_gcp") ->Mtmp = BLK.adjust("my_result") -> |
See also (class function)
loadobs, loadgcp
ADJUST8
Purpose
This function performs almost the same as that of the ADJUST function, i.e. to perform a block adjustment by using 3D conformal transformation. However, the matematic model involed in the coordinate transformation has 8 parameters, namely, 2 scales (in horizontal and vertical direction), 3 rotation angles and 3 shifts.
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 extension is omitted, the function will add default extension to the file. 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_xmymzm 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_3D
Usage
{Matrix} ret = object.ADJUST8({String} argm1)
argm1 = filename to store the adjustment result
Example:
->BLK = AT_3D() ->BLK.sd_gcp() = 0.5 ->BLK.sd_xmymzm() = 0.03 ->BLK.loadobs("my_input_data") ->BLK.loadgcp("my_gcp") ->Mtmp = BLK.adjust8("my_result") -> |
See also (class function)
loadobs, loadgcp, adjust
FOCAL
Purpose
To report the current setting of default value of focal length of photos in the block. It is used to calculate a better approximate Z coordinate value of projection center (PC), specified by a negative point number, if any.
Class
AT_3D
Usage
{void} ret = object.FOCAL()
Example:
->f = BLK.focal() -> |
See also (class function)
sd_xmymzm, sd_gcp
Purpose
To load ground control point data from a file. The file is an ASCII file and must consists of two block of data, namely horizontal ground control and vertical ground control, separated by a symbol "-", strung together at least 3 times, e.g. "-----" (see example in the file below).
For horizontal control points, each record must have 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.
For vertical control points, each record must have 2 or 3 fields, namely point number, elevation 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 extension is omitted, the function will add default extension to the file. 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".
/ Ground control coordinates for AT 3D block adjustment / accuracy about 0.50 meters / Horizontal gcp 1 519898.940 6383552.900 2 523315.010 6384439.300 3 535181.650 6383715.140 4 533254.000 6376835.320 / 5 526469.420 6381542.240 6 530488.230 6378564.820 7 521900.170 6376364.040 8 517865.880 6377812.070 11 513740.170 6381186.920 12 516216.450 6384903.280 ---------------------------------- / Vertical gcp 1 370.980 2 360.180 3 370.180 4 383.780 5 344.300 6 339.960 7 311.610 8 305.920 / 9 308.560 99 308.560 10 303.270 11 300.240 12 305.430 |
Class
AT_3D
Usage
{void} object.LOADGCP({String} argm1)
argm1 = ground control point filename
Example:
->BLK = AT_3D() ->BLK.loadgcp("my_gcp") -> |
See also (class function)
loadobs, adjust
Purpose
To load observation data, 3D model coordinates, from a file. The file is an ASCII file and must consists of blocks of records having 4 or 5 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 model number. Then it is followed by all measurement in that model. Then it starts again with the second model and so on. Each model 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 117 and 121 in model 1 in the file below.
If file name extension is omitted, the function will add default extension to the file. 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".
Projection
center must have a negative point number, however it can be at anywhere in the
file (within the same model),
Unlike some AT packages, Noobeed AT does not expect that the first two lines
must be projection centers, and
thus you do not need to give projection centers if you do not want to.
The reason to
give a negative point number for PC is to let the program calculate a more
correct approx of Z value of PC by adding mean ground elevation with flying
height. An experiment shows that it is also possible to treat PC just as
traditional tie points, with a positive point number, and the computation is
still able to convert.
/ Input data for AT 3D block adjustment 1 5281 .000 .000 183.264 5282 85.838 .000 183.264 120 5.989 -4.715 29.172 117 3.626 47.782 28.588 0.1 128 83.932 75.779 29.483 2 57.689 69.121 29.656 121 83.943 -.685 30.102 0.1 126 88.555 -81.968 30.554 5 -19.259 -83.873 29.562 125 29.864 -86.788 30.499 2 5220 .000 .000 183.264 5221 85.916 .000 183.264 142 2.600 1.041 29.114 136 1.125 67.737 28.285 146 -.266 -76.869 28.608 147 86.957 -83.435 27.732 143 90.039 -.665 30.094 137 100.431 53.983 29.769 3 5219 .000 .000 183.264 5220 80.907 .000 183.264 6 -28.826 51.616 29.830 135 -7.018 72.793 29.677 141 2.606 -5.498 31.279 145 4.775 -82.056 31.838 146 79.986 -78.590 33.456 142 83.299 -2.304 32.292 136 82.287 62.987 30.066 / more.... / ........
|
Class
AT_3D
Usage
{void} object.LOADOBS({String} argm1)
argm1 = observation data filename
Example:
->BLK = AT_3D() ->BLK.loadobs("my_observed_data") -> |
See also (class function)
loadgcp, adjust
Purpose
To report the current setting of the maximum number of iterations. In case that the computation can not be converted, the program will stop if the number of iteration reaches this value.
Class
AT_3D
Usage
{int} ret = object.NO_ITERATE()
Example:
->n = BLK.no_iterate() -> |
See also (class function)
sd_gcp, sd_xmymzm
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_3D
Usage
{double} ret = object.SD_GCP()
Example:
->sd1 = BLK.sd_gcp() -> |
See also (class function)
sd_xmymzm
Purpose
To report the current setting of default value of standard deviation of observation data, 3D model coordinates. This value will be only used for those data that have no SD.
Class
AT_3D
Usage
{double} ret = object.SD_XMYMZM()
Example:
->sd2 = BLK.sd_xmymzm() -> |
See also (class function)
sd_gcp