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 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_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 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".
/ 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 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".
/ 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