diff --git a/.github/workflows/test_mac.yml b/.github/workflows/test_mac.yml index 8726bd86..935693e9 100644 --- a/.github/workflows/test_mac.yml +++ b/.github/workflows/test_mac.yml @@ -17,7 +17,7 @@ jobs: uses: actions/checkout@v4 - name: Install environment - uses: mamba-org/setup-micromamba@v1.4.3 + uses: mamba-org/setup-micromamba@v1 with: environment-file: borea_dependency/environment-dev.yml environment-name: borea @@ -35,11 +35,11 @@ jobs: - name: Run regression test opk to opk shell: bash -el {0} - run: python ./borea_tools/opk_to_opk.py -r ./dataset/23FD1305_alt_test.OPK -i NXYZOPKC -f 2 -e 2154 -y ./dataset/fr_ign_RAF20.tif -c ./dataset/Camera1.txt -m ./dataset/MNT_France_25m_h_crop.tif --fm height -n Test -w ./test/tmp/ -o NXYHPOKC -ou radian -oa False + run: python ./borea_tools/opk_to_opk.py -r ./dataset/23FD1305_alt_test.OPK -i NXYZOPKC -f 2 -e 2154 -y ./dataset/fr_ign_RAF20.tif -c ./dataset/Camera1.txt -m ./dataset/MNT_France_25m_h_crop.tif --fm height -n Test -w ./test/tmp/ -o NXYHPOKC --ou radian --oa False - name: Run regression test opk to opk with multi epsg shell: bash -el {0} - run : python ./borea_tools/opk_to_opk.py -r ./dataset/23FD1305_alt_test.OPK -i NXYZOPKC -f 2 -e 2154 0 4964 -y ./dataset/fr_ign_RAF20.tif -c ./dataset/Camera1.txt -m ./dataset/MNT_France_25m_h_crop.tif --fm height -n Test -w ./test/tmp/ -o NXYHPOKC -ou radian -oa False + run : python ./borea_tools/opk_to_opk.py -r ./dataset/23FD1305_alt_test.OPK -i NXYZOPKC -f 2 -e 2154 --geoc 4964 -y ./dataset/fr_ign_RAF20.tif -c ./dataset/Camera1.txt -m ./dataset/MNT_France_25m_h_crop.tif --fm height -n Test -w ./test/tmp/ -o NXYHPOKC --ou radian --oa False - name: Run regression test control opk shell: bash -el {0} @@ -67,8 +67,12 @@ jobs: - name: Run regression test spaceresection opk shell: bash -el {0} - run: python ./borea_tools/spaceresection_opk.py -p 825439 6289034 1500 -d height -c ./dataset/Camera1.txt -e 2154 -y ./dataset/fr_ign_RAF20.tif -m ./dataset/MNT_France_25m_h_crop.tif --fm height -t ./test/data/dataset2/all_liaisons2.mes -g ./test/data/dataset2/all_liaisons2_world.mes -l PXYH -n SpaceResection -w ./test/tmp/ -o NXYZOPKC -ou degree -oa True + run: python ./borea_tools/spaceresection_opk.py -p 825439 6289034 1500 -d height -c ./dataset/Camera1.txt -e 2154 -y ./dataset/fr_ign_RAF20.tif -m ./dataset/MNT_France_25m_h_crop.tif --fm height -t ./test/data/dataset2/all_liaisons2.mes -g ./test/data/dataset2/all_liaisons2_world.mes -l PXYH -n SpaceResection -w ./test/tmp/ -o NXYZOPKC --ou degree --oa True - name: Run regression test opk to conical shell: bash -el {0} run: python ./borea_tools/opk_to_conl.py -r ./dataset/23FD1305_alt_test.OPK -i NXYZOPKC -f 2 -e 2154 -y ./dataset/fr_ign_RAF20.tif -c ./dataset/Camera1.txt -m ./dataset/MNT_France_25m_h_crop.tif --fm height -w ./test/tmp/ + + - name: Run transform projextion of points file + shell: bash -el {0} + run: python ./borea_tools/transform_proj_points.py -g ./dataset/GCP_test.app -l PTXYZ -e 2154 -y ./dataset/fr_ign_RAF20.tif --oe 4326 --oz height -n GCP_4326 -w ./test/tmp diff --git a/.github/workflows/test_ubu.yml b/.github/workflows/test_ubu.yml index 7b907dd1..c9b5d51f 100644 --- a/.github/workflows/test_ubu.yml +++ b/.github/workflows/test_ubu.yml @@ -33,10 +33,10 @@ jobs: run: ./ci/test_example.sh - name: Run regression test opk to opk - run: python3 ./borea_tools/opk_to_opk.py -r ./dataset/23FD1305_alt_test.OPK -i NXYZOPKC -f 2 -e 2154 -y ./dataset/fr_ign_RAF20.tif -c ./dataset/Camera1.txt -m ./dataset/MNT_France_25m_h_crop.tif --fm height -n Test -w ./test/tmp/ -o NXYHPOKC -ou radian -oa False + run: python3 ./borea_tools/opk_to_opk.py -r ./dataset/23FD1305_alt_test.OPK -i NXYZOPKC -f 2 -e 2154 -y ./dataset/fr_ign_RAF20.tif -c ./dataset/Camera1.txt -m ./dataset/MNT_France_25m_h_crop.tif --fm height -n Test -w ./test/tmp/ -o NXYHPOKC --ou radian --oa False - name: Run regression test opk to opk with multi epsg - run : python3 ./borea_tools/opk_to_opk.py -r ./dataset/23FD1305_alt_test.OPK -i NXYZOPKC -f 2 -e 2154 0 4964 -y ./dataset/fr_ign_RAF20.tif -c ./dataset/Camera1.txt -m ./dataset/MNT_France_25m_h_crop.tif --fm height -n Test -w ./test/tmp/ -o NXYHPOKC -ou radian -oa False + run : python3 ./borea_tools/opk_to_opk.py -r ./dataset/23FD1305_alt_test.OPK -i NXYZOPKC -f 2 -e 2154 --geoc 4964 -y ./dataset/fr_ign_RAF20.tif -c ./dataset/Camera1.txt -m ./dataset/MNT_France_25m_h_crop.tif --fm height -n Test -w ./test/tmp/ -o NXYHPOKC --ou radian --oa False - name: Run regression test control opk run: python3 ./borea_tools/opk_control.py -r ./dataset/23FD1305_alt_test.OPK -i NXYZOPKC -f 2 -c ./dataset/Camera1.txt -e 2154 -y ./dataset/fr_ign_RAF20.tif -m ./dataset/MNT_France_25m_h_crop.tif --fm height -t ./dataset/terrain_test.mes -g ./dataset/GCP_test.app -d 13 -l PTXYH -p inter -w ./test/tmp/ @@ -57,7 +57,10 @@ jobs: run: python3 ./borea_tools/ptfile_image_to_world.py -r ./dataset/23FD1305_alt_test.OPK -i NXYZOPKC -f 2 -c ./dataset/Camera1.txt -e 2154 -y ./dataset/fr_ign_RAF20.tif -m ./dataset/MNT_France_25m_h_crop.tif --fm height -t ./dataset/terrain_test.mes -p square -n Coor3d_pt_image -w ./test/tmp/ - name: Run regression test spaceresection opk - run: python3 ./borea_tools/spaceresection_opk.py -p 825439 6289034 1500 -d height -c ./dataset/Camera1.txt -e 2154 -y ./dataset/fr_ign_RAF20.tif -m ./dataset/MNT_France_25m_h_crop.tif --fm height -t ./test/data/dataset2/all_liaisons2.mes -g ./test/data/dataset2/all_liaisons2_world.mes -l PXYH -n SpaceResection -w ./test/tmp/ -o NXYZOPKC -ou degree -oa True + run: python3 ./borea_tools/spaceresection_opk.py -p 825439 6289034 1500 -d height -c ./dataset/Camera1.txt -e 2154 -y ./dataset/fr_ign_RAF20.tif -m ./dataset/MNT_France_25m_h_crop.tif --fm height -t ./test/data/dataset2/all_liaisons2.mes -g ./test/data/dataset2/all_liaisons2_world.mes -l PXYH -n SpaceResection -w ./test/tmp/ -o NXYZOPKC --ou degree --oa True - name: Run regression test opk to conical run: python3 ./borea_tools/opk_to_conl.py -r ./dataset/23FD1305_alt_test.OPK -i NXYZOPKC -f 2 -e 2154 -y ./dataset/fr_ign_RAF20.tif -c ./dataset/Camera1.txt -m ./dataset/MNT_France_25m_h_crop.tif --fm height -w ./test/tmp/ + + - name: Run transform projextion of points file + run: python3 ./borea_tools/transform_proj_points.py -g ./dataset/GCP_test.app -l PTXYZ -e 2154 -y ./dataset/fr_ign_RAF20.tif --oe 4326 --oz height -n GCP_4326 -w ./test/tmp diff --git a/.github/workflows/test_win.yml b/.github/workflows/test_win.yml index 5292539f..b35820a0 100644 --- a/.github/workflows/test_win.yml +++ b/.github/workflows/test_win.yml @@ -17,7 +17,7 @@ jobs: uses: actions/checkout@v4 - name: Install environment - uses: mamba-org/setup-micromamba@v1.4.3 + uses: mamba-org/setup-micromamba@v1 with: environment-file: borea_dependency/environment-dev.yml environment-name: borea @@ -35,11 +35,11 @@ jobs: - name: Run regression test conv opk shell: bash -el {0} - run: python ./borea_tools/opk_to_opk.py -r ./dataset/23FD1305_alt_test.OPK -i NXYZOPKC -f 2 -e 2154 -y ./dataset/fr_ign_RAF20.tif -c ./dataset/Camera1.txt -m ./dataset/MNT_France_25m_h_crop.tif --fm height -n Test -w ./test/tmp/ -o NXYHPOKC -ou radian -oa False + run: python ./borea_tools/opk_to_opk.py -r ./dataset/23FD1305_alt_test.OPK -i NXYZOPKC -f 2 -e 2154 -y ./dataset/fr_ign_RAF20.tif -c ./dataset/Camera1.txt -m ./dataset/MNT_France_25m_h_crop.tif --fm height -n Test -w ./test/tmp/ -o NXYHPOKC --ou radian --oa False - name: Run regression test opk to opk with multi epsg shell: bash -el {0} - run : python ./borea_tools/opk_to_opk.py -r ./dataset/23FD1305_alt_test.OPK -i NXYZOPKC -f 2 -e 2154 0 4964 -y ./dataset/fr_ign_RAF20.tif -c ./dataset/Camera1.txt -m ./dataset/MNT_France_25m_h_crop.tif --fm height -n Test -w ./test/tmp/ -o NXYHPOKC -ou radian -oa False + run : python ./borea_tools/opk_to_opk.py -r ./dataset/23FD1305_alt_test.OPK -i NXYZOPKC -f 2 -e 2154 --geoc 4964 -y ./dataset/fr_ign_RAF20.tif -c ./dataset/Camera1.txt -m ./dataset/MNT_France_25m_h_crop.tif --fm height -n Test -w ./test/tmp/ -o NXYHPOKC --ou radian --oa False - name: Run regression test control opk shell: bash -el {0} @@ -67,8 +67,12 @@ jobs: - name: Run regression test spaceresection opk shell: bash -el {0} - run: python ./borea_tools/spaceresection_opk.py -p 825439 6289034 1500 -d height -c ./dataset/Camera1.txt -e 2154 -y ./dataset/fr_ign_RAF20.tif -m ./dataset/MNT_France_25m_h_crop.tif --fm height -t ./test/data/dataset2/all_liaisons2.mes -g ./test/data/dataset2/all_liaisons2_world.mes -l PXYH -n SpaceResection -w ./test/tmp/ -o NXYZOPKC -ou degree -oa True + run: python ./borea_tools/spaceresection_opk.py -p 825439 6289034 1500 -d height -c ./dataset/Camera1.txt -e 2154 -y ./dataset/fr_ign_RAF20.tif -m ./dataset/MNT_France_25m_h_crop.tif --fm height -t ./test/data/dataset2/all_liaisons2.mes -g ./test/data/dataset2/all_liaisons2_world.mes -l PXYH -n SpaceResection -w ./test/tmp/ -o NXYZOPKC --ou degree --oa True - name: Run regression test opk to conical shell: bash -el {0} run: python ./borea_tools/opk_to_conl.py -r ./dataset/23FD1305_alt_test.OPK -i NXYZOPKC -f 2 -e 2154 -y ./dataset/fr_ign_RAF20.tif -c ./dataset/Camera1.txt -m ./dataset/MNT_France_25m_h_crop.tif --fm height -w ./test/tmp/ + + - name: Run transform projextion of points file + shell: bash -el {0} + run: python ./borea_tools/transform_proj_points.py -g ./dataset/GCP_test.app -l PTXYZ -e 2154 -y ./dataset/fr_ign_RAF20.tif --oe 4326 --oz height -n GCP_4326 -w ./test/tmp diff --git a/README.md b/README.md index b26cdf16..aa5b09bc 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ Why Borea? B for Box and orea is a back slang of aero. * Transforms coordinates file terrain from image: [borea_tools/docs_tools/README_ptfile_image_to_world.md](./borea_tools/docs_tools/README_ptfile_image_to_world.md) * Transforms coordinates file image from terrain: [borea_tools/docs_tools/README_ptfile_world_to_image.md](./borea_tools/docs_tools/README_ptfile_world_to_image.md) * Calculates opk by space resection: [borea_tools/docs_tools/README_spaceresection_opk.md](./borea_tools/docs_tools/README_spaceresection_opk.md) +* Transform projection of points file: [borea_tools/docs_tools/README_transform_proj_points.md](./borea_tools/docs_tools/README_transform_proj_points.md) * Python lib: [README_borea_lib.md](./README_borea_lib.md) ## Dependency diff --git a/README_borea_lib.md b/README_borea_lib.md index a218a01b..fc9decbc 100644 --- a/README_borea_lib.md +++ b/README_borea_lib.md @@ -43,6 +43,7 @@ Some tools are already implemented in the library: * Transforms coordinates file terrain from image: `ptfile-image-to-world -h` [doc](https://github.com/IGNF/Borea/tree/main/borea_tools/docs_tools/README_ptfile_image_to_world.md) * Transforms coordinates file image from terrain: `ptfile-world-to-image -h` [doc](https://github.com/IGNF/Borea/tree/main/borea_tools/docs_tools/README_ptfile_world_to_image.md) * Calculates opk by space resection: `spaceresection-opk -h` [doc](https://github.com/IGNF/Borea/tree/main/borea_tools/docs_tools/README_spaceresection_opk.md) +* Transform projection of points file: `transform-proj-points -h` [doc](./borea_tools/docs_tools/README_transform_proj_points.md) ## Read data and instantiate worksite diff --git a/borea/datastruct/shot.py b/borea/datastruct/shot.py index cf3921f2..eddfa8b7 100644 --- a/borea/datastruct/shot.py +++ b/borea/datastruct/shot.py @@ -185,6 +185,12 @@ def set_order_axe(self, order_axe: str) -> None: self.ori_shot = -(R.from_euler("x", np.pi) * R.from_matrix(self.mat_rot)).as_euler(order_xyz, degrees=unitori) + def set_proj_pos(self) -> None: + """ + Change the projection of the position shot with the epsg_output. + """ + self.pos_shot = np.array(ProjEngine().tf.proj_to_proj_out(*self.pos_shot)) + def get_z_remove_scale_factor(self) -> float: """ Return Z after removing the scale factor. The Z of the object is NOT modified. diff --git a/borea/datastruct/workdata.py b/borea/datastruct/workdata.py index 04fe1eba..0f073278 100644 --- a/borea/datastruct/workdata.py +++ b/borea/datastruct/workdata.py @@ -33,6 +33,7 @@ def __init__(self, name: str) -> None: self.type_z_data = None self.type_z_shot = None self.approxeucli = False + self.epsg_output = False # pylint: disable-next=too-many-arguments too-many-positional-arguments def add_shot(self, name_shot: str, pos_shot: np.ndarray, @@ -59,24 +60,28 @@ def add_shot(self, name_shot: str, pos_shot: np.ndarray, linear_alteration=linear_alteration, order_axe=order_axe) - def set_proj(self, epsg: list, path_geoid: list = None) -> None: + def set_proj(self, epsg: list, path_geoid: list = None, epsg_output: int = None) -> None: """ Setup a projection system to the worksite. Args: - epsg (list): Code epsg of the porjection ex: 2154. + epsg (list): Code epsg of the projection ex: [2154]. path_geoid (str): List of GeoTIFF which represents the geoid in grid form. + epsg_output (int): Code epsg of the output projection. If you want to change. """ ProjEngine.clear() - try: # Check if the epsg exist - for idepsg in epsg: - if idepsg: + for idepsg in [*epsg, epsg_output]: + if idepsg: + try: # Check if the epsg exist _ = CRS.from_epsg(idepsg) del _ - except exceptions.CRSError as e_info: - raise exceptions.CRSError(f"Your EPSG:{epsg} doesn't exist in pyproj.") from e_info + except exceptions.CRSError as e_info: + raise exceptions.CRSError(f"Your EPSG:{epsg}" + " doesn't exist in pyproj.") from e_info + if epsg_output: + self.epsg_output = True - ProjEngine().set_epsg(epsg, path_geoid) + ProjEngine().set_epsg(epsg, path_geoid, epsg_output) # pylint: disable-next=too-many-arguments too-many-positional-arguments def add_camera(self, name_camera: str, ppax: float, ppay: float, diff --git a/borea/format/conl.py b/borea/format/conl.py index 2ef23715..1c535e03 100644 --- a/borea/format/conl.py +++ b/borea/format/conl.py @@ -33,19 +33,15 @@ class Conl: cam: Camera proj: str - def save_conl(self, path_conical: Path, linalt: bool = True) -> None: + def save_conl(self, path_conical: Path) -> None: """ Save the shot as light conical file. Args: path_conical (Path): path to the light conical file. - linalt (bool): If you want z shot corrected by linear alteration. """ date_now = datetime.now() - # Scale factor correction - self.shot.set_linear_alteration(linalt) - # creation XML ori = ET.Element("orientation", {}) ET.SubElement(ori, "lastmodificationbylibori", diff --git a/borea/format/rpc.py b/borea/format/rpc.py index 7c3c21ba..28acf1cc 100644 --- a/borea/format/rpc.py +++ b/borea/format/rpc.py @@ -22,7 +22,7 @@ class Rpc: def __init__(self) -> None: self.param_rpc = {} self.fact_rpc = None - self.output_epsg = None + self.output_epsg = False @classmethod def from_shot(cls, shot: Shot, cam: Camera, param_rpc: dict, unit_data: dict) -> None: @@ -110,10 +110,9 @@ def normalize_data(self, grid_img: np.ndarray, grid_world: np.ndarray) -> tuple: """ if self.fact_rpc is None: if self.output_epsg: - ProjEngine().set_epsg_tf_geog_output(self.output_epsg) - x_geog, y_geog, z_geog = ProjEngine().tf.carto_to_geog_out(grid_world[0], - grid_world[1], - grid_world[2]) + x_geog, y_geog, z_geog = ProjEngine().tf.proj_to_proj_out(grid_world[0], + grid_world[1], + grid_world[2]) else: x_geog, y_geog, z_geog = ProjEngine().tf.carto_to_geog(grid_world[0], grid_world[1], diff --git a/borea/geodesy/proj_engine.py b/borea/geodesy/proj_engine.py index 197f23a6..42254663 100644 --- a/borea/geodesy/proj_engine.py +++ b/borea/geodesy/proj_engine.py @@ -23,30 +23,23 @@ def __post_init__(self) -> None: if self.epsg: self.crs = pyproj.CRS.from_epsg(self.epsg[0]) self.proj = pyproj.Proj(self.crs) - self.tf = TransformGeodesy(self.epsg, self.geoid) + self.tf = TransformGeodesy(self.epsg, self.geoid, self.epsg_output) - def set_epsg(self, epsg: list, geoid: list = None) -> None: + def set_epsg(self, epsg: list, geoid: list = None, epsg_output: int = None) -> None: """ Setter of the class ProjEngine. Allows to init the class with data. Args: - epsg (list): Code epsg of the projection ex: 2154. + epsg (list): Code epsg of the projection ex: [2154]. geoid (list): List of geoid to use. + epsg_output (int): Code epsg of the output projection. If you want to change. """ self.epsg = epsg self.geoid = geoid + self.epsg_output = epsg_output self.__post_init__() - def set_epsg_tf_geog_output(self, epsg_output: int) -> None: - """ - Create the pyproj Transformer from crs of worksite to crs geographic ask. - - Args: - epsg_out (int): Code epsg of the output crs. - """ - self.tf.tf_output(epsg_output) - def get_meridian_convergence(self, x_carto: Union[np.ndarray, List[float], float], y_carto: Union[np.ndarray, List[float], float]) -> np.ndarray: """ diff --git a/borea/geodesy/transform_geodesy.py b/borea/geodesy/transform_geodesy.py index 3ac9e2d5..78f7d1c7 100644 --- a/borea/geodesy/transform_geodesy.py +++ b/borea/geodesy/transform_geodesy.py @@ -3,6 +3,7 @@ """ import pyproj import numpy as np +import pandas as pd # pylint: disable=too-many-instance-attributes @@ -14,10 +15,12 @@ class TransformGeodesy(): Args: geoid (list): List of geoid to use. - crs (pyproj): CRS pyproj of the worksite. + epsg (list): Code epsg of the projection ex: [2154]. + epsg_output (int): Code epsg of the output projection. If you want to change. """ - def __init__(self, epsg: list, geoid: list) -> None: + def __init__(self, epsg: list, geoid: list, epsg_output: int) -> None: self.epsg = epsg + self.epsg_output = epsg_output self.crs = pyproj.CRS.from_epsg(epsg[0]) self.geoid = geoid self._carto_to_geoc = None @@ -26,7 +29,7 @@ def __init__(self, epsg: list, geoid: list) -> None: self._geog_to_carto = None self._geog_to_geoid = None self._geoid_to_geog = None - self.carto_to_geog_out = None + self._proj_to_proj_out = None @property def carto_to_geog(self) -> pyproj.Transformer: @@ -150,6 +153,20 @@ def geog_to_geoid(self) -> pyproj.Transformer: return self._geog_to_geoid + @property + def proj_to_proj_out(self) -> pyproj.Transformer: + """ + Create the pyproj Transformer from crs of worksite to crs geographic ask. + + Returns: + pyproj.Transformer : carto_to_geog_out + """ + if not self._proj_to_proj_out: + crs_out = pyproj.CRS.from_epsg(self.epsg_output) + self._proj_to_proj_out = pyproj.Transformer.from_crs(self.crs, crs_out).transform + + return self._proj_to_proj_out + def tranform_height(self, coor: np.ndarray) -> float: """ Converting z in altitude to z in height of point. @@ -172,7 +189,7 @@ def tranform_height(self, coor: np.ndarray) -> float: raise ValueError("The geoid has not been entered, " "cannot transform z altitude to height.") from info - if new_z == np.inf: + if np.all(new_z == np.inf): raise ValueError("out geoid") return new_z @@ -202,14 +219,22 @@ def tranform_altitude(self, coor: np.ndarray) -> float: raise ValueError("out geoid") return new_z - def tf_output(self, epsg_out: int = None) -> None: + def transform_pt_proj(self, df_pt: pd.DataFrame, type_z_input: str = None, + type_z_output: str = None) -> pd.DataFrame: """ - Create the pyproj Transformer from crs of worksite to crs geographic ask. - - Args: - epsg_out (int): Code epsg of the output crs. + Tranform the input projection to the output projection of points coordinates """ - if epsg_out and epsg_out != self.epsg[0]: - crs_out = pyproj.CRS.from_epsg(epsg_out) - crs_geog_out = pyproj.crs.GeographicCRS(name=crs_out.name, datum=crs_out.datum.name) - self.carto_to_geog_out = pyproj.Transformer.from_crs(self.crs, crs_geog_out).transform + if type_z_input and type_z_output: + if type_z_input != type_z_output: + if type_z_output == "altitude": + df_pt["z"] = self.tranform_altitude(np.array([df_pt['x'], + df_pt['y'], + df_pt['z']])) + if type_z_output == "height": + df_pt["z"] = self.tranform_height(np.array([df_pt['x'], + df_pt['y'], + df_pt['z']])) + + df_pt["x"], df_pt["y"] = self.proj_to_proj_out(df_pt['x'], df_pt['y']) + + return df_pt diff --git a/borea/process/p_add_data/p_gen_param.py b/borea/process/p_add_data/p_gen_param.py index 838d8838..f012f85f 100644 --- a/borea/process/p_add_data/p_gen_param.py +++ b/borea/process/p_add_data/p_gen_param.py @@ -2,8 +2,8 @@ Args of parser for reading generals parameters """ import argparse -import pyproj from borea.worksite.worksite import Worksite +from borea.process.p_add_data.p_proj import args_proj_param, process_args_proj_param from borea.reader.reader_camera import read_camera @@ -17,14 +17,7 @@ def args_general_param(parser: argparse) -> argparse: Returns: argsparse: Parser with argument. """ - parser.add_argument('-e', '--epsg', - type=int, nargs='*', default=None, - help='EPSG codifier number of the reference system used e.g. "2154".') - parser.add_argument('-y', '--pathgeoid', - type=str, nargs='*', default=None, - help='Path to the pyproj GeoTIFF of the geoid e.g../test/data/geoid.tif' - f' or they must be in {pyproj.datadir.get_data_dir()} and just' - ' need name of file e.g. geoid.tif.') + parser = args_proj_param(parser) parser.add_argument('-c', '--camera', type=str, nargs='*', help='Files paths of cameras (xml or txt).') @@ -52,11 +45,7 @@ def process_args_gen_param(args: argparse, work: Worksite) -> Worksite: Worksite: data """ # Add a projection to the worksite - if args.epsg is not None: - work.set_proj(args.epsg, args.pathgeoid) - print(f"Projection set-up with EPSG:{args.epsg}.") - else: - print("There is no given projection.") + work = process_args_proj_param(args, work) # Reading camera file if args.camera is not None: diff --git a/borea/process/p_add_data/p_proj.py b/borea/process/p_add_data/p_proj.py new file mode 100644 index 00000000..6cddac8c --- /dev/null +++ b/borea/process/p_add_data/p_proj.py @@ -0,0 +1,57 @@ +""" +Args of parser for reading projection parameters +""" +import argparse +import pyproj +from borea.worksite.worksite import Worksite + + +def args_proj_param(parser: argparse) -> argparse: + """ + Args for adding projection parameter. + + Args: + parser (argparse): Parser to add argument. + + Returns: + argsparse: Parser with argument. + """ + parser.add_argument('-e', '--epsg', + type=int, default=None, + help='EPSG codifier number of the reference system used e.g. "2154".') + parser.add_argument('-y', '--pathgeoid', + type=str, nargs='*', default=None, + help='Path to the pyproj GeoTIFF of the geoid e.g../test/data/geoid.tif' + f' or they must be in {pyproj.datadir.get_data_dir()} and just' + ' need name of file e.g. geoid.tif.') + parser.add_argument('--geog', '--epsg_geographic', + type=int, default=None, + help='EPSG codifier number of the reference geographic system.') + parser.add_argument('--geoc', '--epsg_geocentric', + type=int, default=None, + help='EPSG codifier number of the reference geocentric system.') + parser.add_argument('--oe', '--epsg_output', + type=int, default=None, + help="Code epsg of output Data") + return parser + + +def process_args_proj_param(args: argparse, work: Worksite) -> Worksite: + """ + Processing args with data. + + Args: + args (argparse): Arg to apply on worksite (data). + work (Worksite): Worksite to work on. + + Returns: + Worksite: data + """ + # Add a projection to the worksite + if args.epsg is not None: + work.set_proj([args.epsg, args.geog, args.geoc], args.pathgeoid, args.oe) + print(f"Projection set-up with EPSG:{args.epsg}.") + else: + print("There is no given projection.") + + return work diff --git a/borea/process/p_add_data/p_unit_shot.py b/borea/process/p_add_data/p_unit_shot.py index 47f5afc2..a8b2cb1e 100644 --- a/borea/process/p_add_data/p_unit_shot.py +++ b/borea/process/p_add_data/p_unit_shot.py @@ -36,13 +36,13 @@ def args_output_shot(parser: argparse) -> argparse: Returns: argsparse: Parser with argument. """ - parser.add_argument('-ob', '--order_axe_output', + parser.add_argument('--ob', '--order_axe_output', type=str, default=None, help="Order of rotation matrix axes you want in output.") - parser.add_argument('-ou', '--output_unit_angle', + parser.add_argument('--ou', '--output_unit_angle', type=str, default=None, choices=["degree", "radian", None], help="Unit of the angle of shooting, 'degree' or 'radian'") - parser.add_argument('-oa', '--output_linear_alteration', + parser.add_argument('--oa', '--output_linear_alteration', type=bool, default=None, help="True if z shot corrected by linear alteration.") return parser diff --git a/borea/process/p_format/p_write_opk.py b/borea/process/p_format/p_write_opk.py index 2fe4aafb..8a1f5b1a 100644 --- a/borea/process/p_format/p_write_opk.py +++ b/borea/process/p_format/p_write_opk.py @@ -45,8 +45,8 @@ def process_args_write_opk(args: argparse, work: Worksite) -> None: args (argparse): Arg to apply on worksite (data). work (Worksite): Data. """ - if args.order_axe_output: - args.order_axe_output = args.order_axe_output.lower() + if args.ob: + args.ob = args.ob.lower() if args.output_header: args.output_header = list(args.output_header.upper()) @@ -54,10 +54,10 @@ def process_args_write_opk(args: argparse, work: Worksite) -> None: # Writing data print("Writing OPK.") if args.namereturn is not None: - args_writing = {"order_axe": args.order_axe_output, + args_writing = {"order_axe": args.ob, "header": args.output_header, - "unit_angle": args.output_unit_angle, - "linear_alteration": args.output_linear_alteration} + "unit_angle": args.ou, + "linear_alteration": args.oa} manager_writer("opk", args.namereturn, args.pathreturn, args_writing, work) print(f"File written in {args.pathreturn + args.namereturn}.opk.") else: diff --git a/borea/process/p_format/p_write_rpc.py b/borea/process/p_format/p_write_rpc.py index 87624b59..574ffa3a 100644 --- a/borea/process/p_format/p_write_rpc.py +++ b/borea/process/p_format/p_write_rpc.py @@ -28,9 +28,6 @@ def args_writing_rpc(parser: argparse) -> argparse: parser.add_argument('-l', '--fact_rpc', type=float, default=None, help="Factor Rpc for pyproj convertion.") - parser.add_argument('-g', '--epsg_output', - type=int, default=None, - help="Code epsg of RPC") return parser @@ -46,7 +43,6 @@ def process_args_write_rpc(args: argparse, work: Worksite) -> None: print("Writing Rpc.") args_writing = {"order": args.order, "size_grid": args.size_grid, - "fact_rpc": args.fact_rpc, - "epsg_output": args.epsg_output} + "fact_rpc": args.fact_rpc} manager_writer("rpc", None, args.pathreturn, args_writing, work) print(f"File written in folder {args.pathreturn} .txt.") diff --git a/borea/process/p_func/p_spaceresection.py b/borea/process/p_func/p_spaceresection.py index 2f288b56..b4e30230 100644 --- a/borea/process/p_func/p_spaceresection.py +++ b/borea/process/p_func/p_spaceresection.py @@ -44,8 +44,8 @@ def process_space_resection(args: argparse) -> Worksite: work = Worksite("Space_Resection") work = process_args_gen_param(args, work) work.set_type_z_shot(check_header_file(list(args.output_header.upper()))[1]) - pt2d = read_file_pt_dataframe(args.gcp2d, list(args.head_gcp2d.upper()), "pt2d") - pt3d = read_file_pt_dataframe(args.gcp3d, list(args.head_gcp3d.upper()), "pt3d") + pt2d, _ = read_file_pt_dataframe(args.gcp2d, list(args.head_gcp2d.upper()), "pt2d") + pt3d, _ = read_file_pt_dataframe(args.gcp3d, list(args.head_gcp3d.upper()), "pt3d") pinit = {"coor_init": np.array(args.point3d)} SpaceResection(work).space_resection_to_worksite(pt2d, pt3d, pinit) return work diff --git a/borea/process/p_func/p_tf_proj_pt.py b/borea/process/p_func/p_tf_proj_pt.py new file mode 100644 index 00000000..c456b92c --- /dev/null +++ b/borea/process/p_func/p_tf_proj_pt.py @@ -0,0 +1,50 @@ +""" +Args of parser to transform projection of 3D points. +""" +import argparse + +from borea.process.p_add_data.p_file_gcp3d import args_gcp3d +from borea.process.p_add_data.p_proj import args_proj_param +from borea.process.p_add_data.p_write import args_writer +from borea.reader.reader_point import read_file_pt_dataframe +from borea.geodesy.proj_engine import ProjEngine +from borea.writer.writer_df_to_txt import write_df_to_txt + + +def args_tf_proj_param(parser: argparse) -> argparse: + """ + Args for adding transform proj of points parameter. + + Args: + parser (argparse): Parser to add argument. + + Returns: + argsparse: Parser with argument. + """ + parser = args_gcp3d(parser) + parser = args_proj_param(parser) + parser.add_argument('--oz', '--z_output', + type=str, choices=[None, 'altitude', 'height'], default=None, + help="Output type of z. altitude or height") + parser = args_writer(parser) + return parser + + +def process_tf_proj_param(args: argparse) -> None: + """ + Processing args with data. + + Args: + args (argparse): Arg to apply on worksite (data). + """ + # Read file to Dataframe + df, type_z = read_file_pt_dataframe(args.gcp3d, args.head_gcp3d, "pt3d") + + # Setup Projection + ProjEngine().set_epsg([args.epsg, args.geog, args.geoc], args.pathgeoid, args.oe) + + # Change projection + new_df = ProjEngine().tf.transform_pt_proj(df, type_z, args.oz) + + # Write the new file + write_df_to_txt(args.namereturn, args.pathreturn, new_df) diff --git a/borea/reader/reader_point.py b/borea/reader/reader_point.py index 9c1d92eb..5f5e1650 100644 --- a/borea/reader/reader_point.py +++ b/borea/reader/reader_point.py @@ -53,7 +53,7 @@ def read_file_pt(path: str, header: list, type_point: str, work: Worksite) -> No raise FileNotFoundError(f"The path {path} is incorrect !!!") from e -def read_file_pt_dataframe(path: str, header: list, type_point: str) -> pd.DataFrame: +def read_file_pt_dataframe(path: str, header: list, type_point: str) -> tuple: """ Read file of points to save in Dataframe. @@ -63,12 +63,12 @@ def read_file_pt_dataframe(path: str, header: list, type_point: str) -> pd.DataF type_point (str): Type of point is reading (pt2d, pt3d). Returns: - pd.Dataframe: Dataframe of data. + tuple: Dataframe of data and type of z in str. """ if type_point not in ["pt2d", "pt3d"]: raise ValueError(f"type {type_point} in incorrect. ['pt2d', 'pt3d']") - header, _ = check_header_file(header, type_point) + header, type_z = check_header_file(header, type_point) id_pt = [] ttype = [] @@ -110,4 +110,4 @@ def read_file_pt_dataframe(path: str, header: list, type_point: str) -> pd.DataF "id_shot": ttype, "column": coor[:, 0], "line": coor[:, 1]}) - return df + return df, type_z diff --git a/borea/worksite/worksite.py b/borea/worksite/worksite.py index aeae2057..1d40b1a3 100644 --- a/borea/worksite/worksite.py +++ b/borea/worksite/worksite.py @@ -173,8 +173,10 @@ def set_param_shot(self, approx=False) -> None: self.type_z_shot, False)[2] shot.set_z_nadir(z_nadir) - def set_unit_shot(self, type_z: str = None, unit_angle: str = None, - linear_alteration: bool = None, order_axe: str = None) -> None: + # pylint: disable-next=too-many-arguments too-many-positional-arguments + def set_unit_output(self, type_z: str = None, unit_angle: str = None, + linear_alteration: bool = None, order_axe: str = None, + proj_output: bool = True) -> None: """ Allows you to change unit or parameter of shots. @@ -183,6 +185,7 @@ def set_unit_shot(self, type_z: str = None, unit_angle: str = None, unit_angle (str): Unit angle you want. linear_alteration (bool): True if you want data corrected. order_axe (str): Order of rotation matrice you want in your angle. + proj_output (bool): True to change the projection of shot. """ if unit_angle not in ["degree", "radian", None]: raise ValueError(f"unit_angle: {unit_angle} is not recognized," @@ -198,14 +201,16 @@ def set_unit_shot(self, type_z: str = None, unit_angle: str = None, self.type_z_shot = type_z for shot in self.shots.values(): - if unit_angle is not None: + if unit_angle: shot.set_unit_angle(unit_angle) - if type_z is not None: + if type_z: shot.set_type_z(type_z) if linear_alteration is not None: shot.set_linear_alteration(linear_alteration) - if order_axe is not None: + if order_axe: shot.set_order_axe(order_axe) + if self.epsg_output and proj_output: + shot.set_proj_pos() def calculate_barycentre(self) -> np.ndarray: """ diff --git a/borea/writer/writer_con.py b/borea/writer/writer_con.py index 863bc592..be6ad2de 100644 --- a/borea/writer/writer_con.py +++ b/borea/writer/writer_con.py @@ -20,7 +20,14 @@ def write(name: str, folder_con: str, param_con: dict, work: Worksite) -> None: work (Worksite): The site to be recorded. """ _, _ = name, param_con - geoview_proj = search_info("EPSG", str(ProjEngine().epsg[0]), "GEOVIEW") + + if work.epsg_output: + epsg_output = ProjEngine().epsg_output + else: + epsg_output = ProjEngine().epsg[0] + + work.set_unit_output(type_z="altitude", linear_alteration=True) + geoview_proj = search_info("EPSG", str(epsg_output), "GEOVIEW") for name_shot, shot in work.shots.items(): cam = work.cameras[shot.name_cam] diff --git a/borea/writer/writer_opk.py b/borea/writer/writer_opk.py index a7a5b93a..553a4021 100644 --- a/borea/writer/writer_opk.py +++ b/borea/writer/writer_opk.py @@ -35,7 +35,7 @@ def write(name_opk: str, path_opk: str, args: dict, work: Worksite) -> None: if "S" in header: raise ValueError("Letter S doesn't existe in writing header opk.") - work.set_unit_shot(type_z, args["unit_angle"], args["linear_alteration"], args["order_axe"]) + work.set_unit_output(type_z, args["unit_angle"], args["linear_alteration"], args["order_axe"]) header_file = "" for i in header: diff --git a/borea/writer/writer_rpc.py b/borea/writer/writer_rpc.py index 56765949..24e4daba 100644 --- a/borea/writer/writer_rpc.py +++ b/borea/writer/writer_rpc.py @@ -29,7 +29,9 @@ def write(name: str, folder_rpc: str, param_rpc: dict, work: Worksite) -> None: "SAMP_SCALE", "LAT_SCALE", "LONG_SCALE", "HEIGHT_SCALE"] - work.set_unit_shot(type_z=Dtm().type_dtm) + param_rpc["epsg_output"] = work.epsg_output + + work.set_unit_output(type_z=Dtm().type_dtm, proj_output=False) for name_shot, shot in work.shots.items(): cam = work.cameras[shot.name_cam] diff --git a/borea_tools/docs_tools/README_opk_control.md b/borea_tools/docs_tools/README_opk_control.md index 90ff53ee..611f3d86 100644 --- a/borea_tools/docs_tools/README_opk_control.md +++ b/borea_tools/docs_tools/README_opk_control.md @@ -23,8 +23,10 @@ The parameters are: | -a | True if z shot corrected by linear alteration | True | X | | -f | Line number to start file playback. Does not take file header into account. | None | X | | -z | Line number to end file playback. If not set, all lines below -l will be read. | None | X | -| -e | EPSG codifier number of the reference system used e.g. 2154 | 2154 | X | +| -e | EPSG codifier number of the reference system used e.g. 2154 | None | X | | -y | Path to the file pyproj GeoTIFF of geoid. | None | X | +| --geog | EPSG codifier number of the reference geographic system, filled in if pyproj error | None | X | +| --geoc | EPSG codifier number of the reference geocentric system, filled in if pyproj error | None | X | | -c | Files paths of cameras (.xml or .txt) | None | X | | -m | DTM of the worksite. | None | X | | --fm | Format of Dtm "altitude" or "height". | None | X, unless dtm is given | @@ -122,13 +124,7 @@ File "...", line 171, in File "pyproj/_crs.pyx", line 2378, in pyproj._crs._CRS.__init__ pyproj.exceptions.CRSError: Invalid projection: ``` -You can therefore specify as parameters the epsg ( -e ) you want to use for each type of projection in a precise order. -[data_projection, geographic, geocentric] -e.g. in commande line for 4326 error GeocentricCRS -``` --e 4326 0 4328 -``` -0 allows you to ignore a system if it is found by pyproj, after you just need to find the right epsg. +You can therefore specify as parameters the epsg ( --geog / --geoc ) you want to use for each type of projection. ## Detail for process diff --git a/borea_tools/docs_tools/README_opk_to_conl.md b/borea_tools/docs_tools/README_opk_to_conl.md index 27220914..500a0ea9 100644 --- a/borea_tools/docs_tools/README_opk_to_conl.md +++ b/borea_tools/docs_tools/README_opk_to_conl.md @@ -23,13 +23,16 @@ The parameters are: | -a | True if z shot corrected by linear alteration | True | X | | -f | Line number to start file playback. Does not take file header into account. | None | X | | -z | Line number to end file playback. If not set, all lines below -l will be read. | None | X | -| -e | EPSG codifier number of the reference system used e.g. 2154 | 2154 | X | +| -e | EPSG codifier number of the reference system used e.g. 2154 | None | X | | -y | Path to the file pyproj GeoTIFF of geoid. | None | X | +| --geog | EPSG codifier number of the reference geographic system, filled in if pyproj error | None | X | +| --geoc | EPSG codifier number of the reference geocentric system, filled in if pyproj error | None | X | | -c | Files paths of cameras (.xml or .txt) | None | X | | -m | DTM of the worksite. | None | X | | --fm | Format of Dtm "altitude" or "height". | None | X, unless dtm is given | | -x | To use an approximate system. | False | X | | -w | Conversion path e.g. "./" | "./" | X | +| --oe | Code epsg for output data. If none keeps the input data projection. | None | X | E.G. ``` @@ -98,12 +101,6 @@ File "...", line 171, in File "pyproj/_crs.pyx", line 2378, in pyproj._crs._CRS.__init__ pyproj.exceptions.CRSError: Invalid projection: ``` -You can therefore specify as parameters the epsg ( -e ) you want to use for each type of projection in a precise order. -[data_projection, geographic, geocentric] -e.g. in commande line for 4326 error GeocentricCRS -``` --e 4326 0 4328 -``` -0 allows you to ignore a system if it is found by pyproj, after you just need to find the right epsg. +You can therefore specify as parameters the epsg ( --geog / --geoc ) you want to use for each type of projection. ![logo ign](../../docs/image/logo_ign.png) ![logo fr](../../docs/image/Republique_Francaise_Logo.png) \ No newline at end of file diff --git a/borea_tools/docs_tools/README_opk_to_opk.md b/borea_tools/docs_tools/README_opk_to_opk.md index d9a1d3b6..6f78ee78 100644 --- a/borea_tools/docs_tools/README_opk_to_opk.md +++ b/borea_tools/docs_tools/README_opk_to_opk.md @@ -24,17 +24,20 @@ The parameters are: | -a | True if z shot corrected by linear alteration | True | X | | -f | Line number to start file playback. Does not take file header into account. | None | X | | -z | Line number to end file playback. If not set, all lines below -l will be read. | None | X | -| -e | EPSG codifier number of the reference system used e.g. 2154 | 2154 | X | +| -e | EPSG codifier number of the reference system used e.g. 2154 | None | X | | -y | Path to the file pyproj GeoTIFF of geoid. | None | X | +| --geog | EPSG codifier number of the reference geographic system, filled in if pyproj error | None | X | +| --geoc | EPSG codifier number of the reference geocentric system, filled in if pyproj error | None | X | | -c | Files paths of cameras (.xml or .txt) | None | X | | -m | DTM of the worksite. | None | X | | --fm | Format of Dtm "altitude" or "height". | None | X, unless dtm is given | | -x | To use an approximate system. | False | X | | -w | Conversion path e.g. "./" | "./" | X | | -o | Type of each column in the site file. e.g. NXYZOPKC with Z origin | NXY(Z/H)OPKC | X | -| -ob | Order of rotation matrix axes you want in output. | None | X | -| -ou | Unit of the angle of shooting, 'degree' or 'radian' | "degree" | X | -| -oa | True if z shot corrected by linear alteration. | True | X | +| --ob | Order of rotation matrix axes you want in output. | None | X | +| --ou | Unit of the angle of shooting, 'degree' or 'radian' | "degree" | X | +| --oa | True if z shot corrected by linear alteration. | True | X | +| --oe | Code epsg for output data. If none keeps the input data projection. | None | X | E.G. ``` @@ -103,12 +106,6 @@ File "...", line 171, in File "pyproj/_crs.pyx", line 2378, in pyproj._crs._CRS.__init__ pyproj.exceptions.CRSError: Invalid projection: ``` -You can therefore specify as parameters the epsg ( -e ) you want to use for each type of projection in a precise order. -[data_projection, geographic, geocentric] -e.g. in commande line for 4326 error GeocentricCRS -``` --e 4326 0 4328 -``` -0 allows you to ignore a system if it is found by pyproj, after you just need to find the right epsg. +You can therefore specify as parameters the epsg ( --geog / --geoc ) you want to use for each type of projection. ![logo ign](../../docs/image/logo_ign.png) ![logo fr](../../docs/image/Republique_Francaise_Logo.png) \ No newline at end of file diff --git a/borea_tools/docs_tools/README_opk_to_rpc.md b/borea_tools/docs_tools/README_opk_to_rpc.md index 46af5490..de9de3b5 100644 --- a/borea_tools/docs_tools/README_opk_to_rpc.md +++ b/borea_tools/docs_tools/README_opk_to_rpc.md @@ -24,8 +24,10 @@ The parameters are: | -a | True if z shot corrected by linear alteration | True | X | | -f | Line number to start file playback. Does not take file header into account. | None | X | | -z | Line number to end file playback. If not set, all lines below -l will be read. | None | X | -| -e | EPSG codifier number of the reference system used e.g. 2154 | 2154 | X | +| -e | EPSG codifier number of the reference system used e.g. 2154 | None | X | | -y | Path to the file pyproj GeoTIFF of geoid. | None | X | +| --geog | EPSG codifier number of the reference geographic system, filled in if pyproj error | None | X | +| --geoc | EPSG codifier number of the reference geocentric system, filled in if pyproj error | None | X | | -c | Files paths of cameras (.xml or .txt) | None | X | | -m | DTM of the worksite. | None | X | | --fm | Format of Dtm "altitude" or "height". | None | X, unless dtm is given | @@ -34,7 +36,7 @@ The parameters are: | -o | Degree of the polynomial of the rpc (1, 2, 3) | 3 | X | | -d | Size of the grid to calculate Rpc. | 100 | X | | -l | Factor Rpc to replace pyproj convertion. | None | X | -| -g | Code epsg for output RPC. If none keeps the input data projection. | None | X | +| --oe | Code epsg for output data. If none keeps the input data projection. | None | X | E.G. ``` @@ -103,12 +105,6 @@ File "...", line 171, in File "pyproj/_crs.pyx", line 2378, in pyproj._crs._CRS.__init__ pyproj.exceptions.CRSError: Invalid projection: ``` -You can therefore specify as parameters the epsg ( -e ) you want to use for each type of projection in a precise order. -[data_projection, geographic, geocentric] -e.g. in commande line for 4326 error GeocentricCRS -``` --e 4326 0 4328 -``` -0 allows you to ignore a system if it is found by pyproj, after you just need to find the right epsg. +You can therefore specify as parameters the epsg ( --geog / --geoc ) you want to use for each type of projection. ![logo ign](../../docs/image/logo_ign.png) ![logo fr](../../docs/image/Republique_Francaise_Logo.png) \ No newline at end of file diff --git a/borea_tools/docs_tools/README_pt_image_to_world.md b/borea_tools/docs_tools/README_pt_image_to_world.md index f1ebe6ec..b0537e66 100644 --- a/borea_tools/docs_tools/README_pt_image_to_world.md +++ b/borea_tools/docs_tools/README_pt_image_to_world.md @@ -25,8 +25,10 @@ The parameters are: | -b | Order of rotation matrix axes. | opk | X | | -u | Unit of the angle of shooting, 'degree' or 'radian' | degree | X | | -a | True if z shot corrected by linear alteration | True | X | -| -e | EPSG codifier number of the reference system used e.g. 2154 | 2154 | X | +| -e | EPSG codifier number of the reference system used e.g. 2154 | None | X | | -y | Path to the file pyproj GeoTIFF of geoid. | None | X | +| --geog | EPSG codifier number of the reference geographic system, filled in if pyproj error | None | X | +| --geoc | EPSG codifier number of the reference geocentric system, filled in if pyproj error | None | X | | -c | Files paths of cameras (.xml or .txt) | None | X | | -m | DTM of the worksite. | None | X | | --fm | Format of Dtm "altitude" or "height". | None | X, unless dtm is given | @@ -79,12 +81,6 @@ File "...", line 171, in File "pyproj/_crs.pyx", line 2378, in pyproj._crs._CRS.__init__ pyproj.exceptions.CRSError: Invalid projection: ``` -You can therefore specify as parameters the epsg ( -e ) you want to use for each type of projection in a precise order. -[data_projection, geographic, geocentric] -e.g. in commande line for 4326 error GeocentricCRS -``` --e 4326 0 4328 -``` -0 allows you to ignore a system if it is found by pyproj, after you just need to find the right epsg. +You can therefore specify as parameters the epsg ( --geog / --geoc ) you want to use for each type of projection. ![logo ign](../../docs/image/logo_ign.png) ![logo fr](../../docs/image/Republique_Francaise_Logo.png) \ No newline at end of file diff --git a/borea_tools/docs_tools/README_pt_world_to_image.md b/borea_tools/docs_tools/README_pt_world_to_image.md index 2dc57662..436382a7 100644 --- a/borea_tools/docs_tools/README_pt_world_to_image.md +++ b/borea_tools/docs_tools/README_pt_world_to_image.md @@ -25,8 +25,10 @@ The parameters are: | -b | Order of rotation matrix axes. | opk | X | | -u | Unit of the angle of shooting, 'degree' or 'radian' | degree | X | | -a | True if z shot corrected by linear alteration | True | X | -| -e | EPSG codifier number of the reference system used e.g. 2154 | 2154 | X | +| -e | EPSG codifier number of the reference system used e.g. 2154 | None | X | | -y | Path to the file pyproj GeoTIFF of geoid. | None | X | +| --geog | EPSG codifier number of the reference geographic system, filled in if pyproj error | None | X | +| --geoc | EPSG codifier number of the reference geocentric system, filled in if pyproj error | None | X | | -c | Files paths of cameras (.xml or .txt) | None | X | | -m | DTM of the worksite. | None | X | | --fm | Format of Dtm "altitude" or "height". | None | X, unless dtm is given | @@ -79,12 +81,6 @@ File "...", line 171, in File "pyproj/_crs.pyx", line 2378, in pyproj._crs._CRS.__init__ pyproj.exceptions.CRSError: Invalid projection: ``` -You can therefore specify as parameters the epsg ( -e ) you want to use for each type of projection in a precise order. -[data_projection, geographic, geocentric] -e.g. in commande line for 4326 error GeocentricCRS -``` --e 4326 0 4328 -``` -0 allows you to ignore a system if it is found by pyproj, after you just need to find the right epsg. +You can therefore specify as parameters the epsg ( --geog / --geoc ) you want to use for each type of projection. ![logo ign](../../docs/image/logo_ign.png) ![logo fr](../../docs/image/Republique_Francaise_Logo.png) \ No newline at end of file diff --git a/borea_tools/docs_tools/README_ptfile_image_to_world.md b/borea_tools/docs_tools/README_ptfile_image_to_world.md index 58edf769..822426b1 100644 --- a/borea_tools/docs_tools/README_ptfile_image_to_world.md +++ b/borea_tools/docs_tools/README_ptfile_image_to_world.md @@ -23,8 +23,10 @@ The parameters are: | -a | True if z shot corrected by linear alteration | True | X | | -f | Line number to start file playback. Does not take file header into account. | None | X | | -z | Line number to end file playback. If not set, all lines below -l will be read. | None | X | -| -e | EPSG codifier number of the reference system used e.g. 2154 | 2154 | X | +| -e | EPSG codifier number of the reference system used e.g. 2154 | None | X | | -y | Path to the file pyproj GeoTIFF of geoid. | None | X | +| --geog | EPSG codifier number of the reference geographic system, filled in if pyproj error | None | X | +| --geoc | EPSG codifier number of the reference geocentric system, filled in if pyproj error | None | X | | -c | Files paths of cameras (.xml or .txt) | None | X | | -m | DTM of the worksite. | None | X | | --fm | Format of Dtm "altitude" or "height". | None | X, unless dtm is given | @@ -119,13 +121,7 @@ File "...", line 171, in File "pyproj/_crs.pyx", line 2378, in pyproj._crs._CRS.__init__ pyproj.exceptions.CRSError: Invalid projection: ``` -You can therefore specify as parameters the epsg ( -e ) you want to use for each type of projection in a precise order. -[data_projection, geographic, geocentric] -e.g. in commande line for 4326 error GeocentricCRS -``` --e 4326 0 4328 -``` -0 allows you to ignore a system if it is found by pyproj, after you just need to find the right epsg. +You can therefore specify as parameters the epsg ( --geog / --geoc ) you want to use for each type of projection. ## Detail for process diff --git a/borea_tools/docs_tools/README_ptfile_world_to_image.md b/borea_tools/docs_tools/README_ptfile_world_to_image.md index 2798532d..8b1465cd 100644 --- a/borea_tools/docs_tools/README_ptfile_world_to_image.md +++ b/borea_tools/docs_tools/README_ptfile_world_to_image.md @@ -23,8 +23,10 @@ The parameters are: | -a | True if z shot corrected by linear alteration | True | X | | -f | Line number to start file playback. Does not take file header into account. | None | X | | -z | Line number to end file playback. If not set, all lines below -l will be read. | None | X | -| -e | EPSG codifier number of the reference system used e.g. 2154 | 2154 | X | +| -e | EPSG codifier number of the reference system used e.g. 2154 | None | X | | -y | Path to the file pyproj GeoTIFF of geoid. | None | X | +| --geog | EPSG codifier number of the reference geographic system, filled in if pyproj error | None | X | +| --geoc | EPSG codifier number of the reference geocentric system, filled in if pyproj error | None | X | | -c | Files paths of cameras (.xml or .txt) | None | X | | -m | DTM of the worksite. | None | X | | --fm | Format of Dtm "altitude" or "height". | None | X, unless dtm is given | @@ -126,13 +128,7 @@ File "...", line 171, in File "pyproj/_crs.pyx", line 2378, in pyproj._crs._CRS.__init__ pyproj.exceptions.CRSError: Invalid projection: ``` -You can therefore specify as parameters the epsg ( -e ) you want to use for each type of projection in a precise order. -[data_projection, geographic, geocentric] -e.g. in commande line for 4326 error GeocentricCRS -``` --e 4326 0 4328 -``` -0 allows you to ignore a system if it is found by pyproj, after you just need to find the right epsg. +You can therefore specify as parameters the epsg ( --geog / --geoc ) you want to use for each type of projection. ## Detail for approx system diff --git a/borea_tools/docs_tools/README_spaceresection_opk.md b/borea_tools/docs_tools/README_spaceresection_opk.md index 2beedf05..ad01f59d 100644 --- a/borea_tools/docs_tools/README_spaceresection_opk.md +++ b/borea_tools/docs_tools/README_spaceresection_opk.md @@ -22,8 +22,10 @@ The parameters are: | -k | Header of the file gcp2d. | PNXY | X | | -g | File path of ground control points in ground. | | V | | -l | Header of the file gcp3d. | PTXYZ | V | -| -e | EPSG codifier number of the reference system used e.g. 2154 | 2154 | X | +| -e | EPSG codifier number of the reference system used e.g. 2154 | None | X | | -y | Path to the file pyproj GeoTIFF of geoid. | None | X | +| --geog | EPSG codifier number of the reference geographic system, filled in if pyproj error | None | X | +| --geoc | EPSG codifier number of the reference geocentric system, filled in if pyproj error | None | X | | -c | Files paths of cameras (.xml or .txt) | None | X | | -m | DTM of the worksite. | None | X | | --fm | Format of Dtm "altitude" or "height". | None | X, unless dtm is given | @@ -31,9 +33,10 @@ The parameters are: | -n | Name of worksite output file | | V | | -w | Conversion path e.g. "./" | "./" | X | | -o | Type of each column in the site file. e.g. NXYZOPKC with Z origin | NXY(Z/H)OPKC | X | -| -ob | Order of rotation matrix axes you want in output. | None | X | -| -ou | Unit of the angle of shooting, 'degree' or 'radian' | "degree" | X | -| -oa | True if z shot corrected by linear alteration. | True | X | +| --ob | Order of rotation matrix axes you want in output. | None | X | +| --ou | Unit of the angle of shooting, 'degree' or 'radian' | "degree" | X | +| --oa | True if z shot corrected by linear alteration. | True | X | +| --oe | Code epsg for output data. If none keeps the input data projection. | None | X | E.G. ``` @@ -113,12 +116,6 @@ File "...", line 171, in File "pyproj/_crs.pyx", line 2378, in pyproj._crs._CRS.__init__ pyproj.exceptions.CRSError: Invalid projection: ``` -You can therefore specify as parameters the epsg ( -e ) you want to use for each type of projection in a precise order. -[data_projection, geographic, geocentric] -e.g. in commande line for 4326 error GeocentricCRS -``` --e 4326 0 4328 -``` -0 allows you to ignore a system if it is found by pyproj, after you just need to find the right epsg. +You can therefore specify as parameters the epsg ( --geog / --geoc ) you want to use for each type of projection. ![logo ign](../../docs/image/logo_ign.png) ![logo fr](../../docs/image/Republique_Francaise_Logo.png) \ No newline at end of file diff --git a/borea_tools/docs_tools/README_transform_proj_points.md b/borea_tools/docs_tools/README_transform_proj_points.md new file mode 100644 index 00000000..7f8b5913 --- /dev/null +++ b/borea_tools/docs_tools/README_transform_proj_points.md @@ -0,0 +1,79 @@ +# Transforms projection of points file and type of z + +**transform_proj_points** change projection of points file. Give file of points, header, epsg of points and epsg you want in output. +The transformation is made by pyproj. In addition, you can change the z type of data with a geoid and type of z you want in output. + +## Application + +Call the function from a terminal in the depot directory `python borea_tools/transform_proj_points.py`. To view the information on the various parameters you can do : + +```python borea_tools/transform_proj_points.py -h``` + +Or if you install the package by **pip** the commande is: + +```transform-proj-points -h``` + +The parameters are: + +| Symbol | Details | Default | Mandatory | +| :----: | :------ | :-----: | :-------: | +| -g | File path of points in ground. | | V | +| -l | Header of the file gcp3d. | PTXYZ | V | +| -e | EPSG codifier number of the reference system used e.g. 2154 | | V | +| -y | Path to the file pyproj GeoTIFF of geoid. | None | X | +| --geog | EPSG codifier number of the reference geographic system, filled in if pyproj error | None | X | +| --geoc | EPSG codifier number of the reference geocentric system, filled in if pyproj error | None | X | +| --oe | Code epsg for output data. If none keeps the input data projection. | None | X | +| --oz | Z type of data you want in output altitude or height | None | X | +| -n | Name of worksite output file | | V | +| -w | Conversion path e.g. "./" | "./" | X | + +E.G. +``` +python ./borea_tools/transfom_proj_points.py -g ./dataset/GCP_test.app -l PTXYZ -e 2154 -y ./dataset/fr_ign_RAF20.tif --oe 4326 --oz height -n GCP_4326 -w ./test/tmp +``` +or pip +``` +transfom-proj-points -g ./dataset/GCP_test.app -l PTXYZ -e 2154 -y ./dataset/fr_ign_RAF20.tif --oe 4326 --oz height -n GCP_4326 -w ./test/tmp +``` + +## Detail for the header of point file -l + +`header` is used to describe the format of the point file read. It provides information on what's in each column. +Type is: +| Symbol | Details | +| :----: | :------ | +| S | to ignore the column | +| P | name of the point | +| N | name of shot | +| T | type of point | +| X | coordinate x of the shot position | +| Y | coordinate y of the shot position | +| Z | coordinate z altitude of the shot position | +| H | coordinate z height of the shot position | + + +## Info projection + +This library can transform and process 3D data with a z in altitude or height. This is done by the pyproj library, which needs the geoid at site level to change units. + +The command for adding a geoid is -y, where you can enter the paths to the various geoids. If the file is stored in pyproj's native folder (pyproj.datadir.get_data_dir(), *usr/share/proj* or *env_name_folder/lib/python3.10/site-packages/pyproj/proj_dir/share/proj*) the file name is sufficient pyproj will find it on its own. +Geoids file can be found on pyproj's github (https://github.com/OSGeo/PROJ-data). + +This transformation is accompanied by other cartographic, geographic and geocentric transformations. And pyproj may not be able to find the other systems on its own. +e.g. +``` +>>>crsm = crs.CRS.from_epsg(4326) +>>>crs_geoc = pyproj.crs.GeocentricCRS(name=crsm.name, datum=crsm.datum.name) +File "...", line 171, in + crs_geoc = pyproj.crs.GeocentricCRS(name=crsm.name, datum=crsm.datum.name) + File "...", line 1918, in __init__ + super().__init__(geocentric_crs_json) + File "...", line 348, in __init__ + self._local.crs = _CRS(self.srs) + File "pyproj/_crs.pyx", line 2378, in pyproj._crs._CRS.__init__ +pyproj.exceptions.CRSError: Invalid projection: +``` +You can therefore specify as parameters the epsg ( --geog / --geoc ) you want to use for each type of projection. + +![logo ign](../../docs/image/logo_ign.png) ![logo fr](../../docs/image/Republique_Francaise_Logo.png) \ No newline at end of file diff --git a/borea_tools/spaceresection_opk.py b/borea_tools/spaceresection_opk.py index 46de679c..6e8caa5e 100644 --- a/borea_tools/spaceresection_opk.py +++ b/borea_tools/spaceresection_opk.py @@ -13,8 +13,8 @@ def spaceresection_opk(): """ - Permet d'obtenir un fichier OPK à partir de point de liaison sur les images et de leur - coordonnées terrain (calcule les 6 paramètres externes pour chaque image qui dispose d'un point) + Produces an OPK file from image link points and their field coordinates + coordinates (calculates the 6 external parameters for each image with a point) """ parser = argparse.ArgumentParser(description='Space resection of point file image and world' ' to calculate 6 externals parameters of shots') diff --git a/borea_tools/transform_proj_points.py b/borea_tools/transform_proj_points.py new file mode 100644 index 00000000..5b9a93c2 --- /dev/null +++ b/borea_tools/transform_proj_points.py @@ -0,0 +1,30 @@ +""" +Main to transform projection of 3D points. +""" +# pylint: disable=import-error, wrong-import-position, line-too-long +import argparse +import sys +import os + +sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__)))) +from borea.process.p_func.p_tf_proj_pt import args_tf_proj_param, process_tf_proj_param # noqa: E402, E501 + + +def transform_proj_pt(): + """ + Transforms the projection of a point file by pyproj. + """ + parser = argparse.ArgumentParser(description='Transform coordinate projection of the 3D points' + ' file.') + + # Args + parser = args_tf_proj_param(parser) + + args = parser.parse_args() + + # Process data + process_tf_proj_param(args) + + +if __name__ == "__main__": + transform_proj_pt() diff --git a/docs/sphinx/_build/doctrees/borea.datastruct.doctree b/docs/sphinx/_build/doctrees/borea.datastruct.doctree index d7027383..01725df2 100644 Binary files a/docs/sphinx/_build/doctrees/borea.datastruct.doctree and b/docs/sphinx/_build/doctrees/borea.datastruct.doctree differ diff --git a/docs/sphinx/_build/doctrees/borea.format.doctree b/docs/sphinx/_build/doctrees/borea.format.doctree index 53cfb4af..75134ddc 100644 Binary files a/docs/sphinx/_build/doctrees/borea.format.doctree and b/docs/sphinx/_build/doctrees/borea.format.doctree differ diff --git a/docs/sphinx/_build/doctrees/borea.geodesy.doctree b/docs/sphinx/_build/doctrees/borea.geodesy.doctree index 417c02ed..a42939c5 100644 Binary files a/docs/sphinx/_build/doctrees/borea.geodesy.doctree and b/docs/sphinx/_build/doctrees/borea.geodesy.doctree differ diff --git a/docs/sphinx/_build/doctrees/borea.process.p_add_data.doctree b/docs/sphinx/_build/doctrees/borea.process.p_add_data.doctree index ac1c5a3a..e56d3cff 100644 Binary files a/docs/sphinx/_build/doctrees/borea.process.p_add_data.doctree and b/docs/sphinx/_build/doctrees/borea.process.p_add_data.doctree differ diff --git a/docs/sphinx/_build/doctrees/borea.process.p_func.doctree b/docs/sphinx/_build/doctrees/borea.process.p_func.doctree index 0e53563e..c850cd6d 100644 Binary files a/docs/sphinx/_build/doctrees/borea.process.p_func.doctree and b/docs/sphinx/_build/doctrees/borea.process.p_func.doctree differ diff --git a/docs/sphinx/_build/doctrees/borea.reader.doctree b/docs/sphinx/_build/doctrees/borea.reader.doctree index d68a0dea..56164488 100644 Binary files a/docs/sphinx/_build/doctrees/borea.reader.doctree and b/docs/sphinx/_build/doctrees/borea.reader.doctree differ diff --git a/docs/sphinx/_build/doctrees/borea.worksite.doctree b/docs/sphinx/_build/doctrees/borea.worksite.doctree index 57692e6e..11d13973 100644 Binary files a/docs/sphinx/_build/doctrees/borea.worksite.doctree and b/docs/sphinx/_build/doctrees/borea.worksite.doctree differ diff --git a/docs/sphinx/_build/doctrees/environment.pickle b/docs/sphinx/_build/doctrees/environment.pickle index 48e45d0f..ec7b0822 100644 Binary files a/docs/sphinx/_build/doctrees/environment.pickle and b/docs/sphinx/_build/doctrees/environment.pickle differ diff --git a/docs/sphinx/_build/html/_modules/borea/datastruct/shot.html b/docs/sphinx/_build/html/_modules/borea/datastruct/shot.html index df9d36c5..c3af9c4d 100644 --- a/docs/sphinx/_build/html/_modules/borea/datastruct/shot.html +++ b/docs/sphinx/_build/html/_modules/borea/datastruct/shot.html @@ -283,7 +283,7 @@

Source code for borea.datastruct.shot

 from borea.utils.check.check_order_axe import check_order_axe
 
 
-# pylint: disable=too-many-instance-attributes too-many-arguments
+# pylint: disable=too-many-instance-attributes too-many-arguments too-many-positional-arguments
 
[docs] class Shot: @@ -485,6 +485,15 @@

Source code for borea.datastruct.shot

                               R.from_matrix(self.mat_rot)).as_euler(order_xyz, degrees=unitori)
+
+[docs] + def set_proj_pos(self) -> None: + """ + Change the projection of the position shot with the epsg_output. + """ + self.pos_shot = np.array(ProjEngine().tf.proj_to_proj_out(*self.pos_shot))
+ +
[docs] def get_z_remove_scale_factor(self) -> float: diff --git a/docs/sphinx/_build/html/_modules/borea/datastruct/workdata.html b/docs/sphinx/_build/html/_modules/borea/datastruct/workdata.html index 6a96440b..d75de289 100644 --- a/docs/sphinx/_build/html/_modules/borea/datastruct/workdata.html +++ b/docs/sphinx/_build/html/_modules/borea/datastruct/workdata.html @@ -309,8 +309,9 @@

Source code for borea.datastruct.workdata

         self.type_z_data = None
         self.type_z_shot = None
         self.approxeucli = False
+        self.epsg_output = False
 
-    # pylint: disable-next=too-many-arguments
+    # pylint: disable-next=too-many-arguments too-many-positional-arguments
 
[docs] def add_shot(self, name_shot: str, pos_shot: np.ndarray, @@ -340,27 +341,31 @@

Source code for borea.datastruct.workdata

 
 
[docs] - def set_proj(self, epsg: list, path_geoid: list = None) -> None: + def set_proj(self, epsg: list, path_geoid: list = None, epsg_output: int = None) -> None: """ Setup a projection system to the worksite. Args: - epsg (list): Code epsg of the porjection ex: 2154. + epsg (list): Code epsg of the projection ex: [2154]. path_geoid (str): List of GeoTIFF which represents the geoid in grid form. + epsg_output (int): Code epsg of the output projection. If you want to change. """ ProjEngine.clear() - try: # Check if the epsg exist - for idepsg in epsg: - if idepsg: + for idepsg in [*epsg, epsg_output]: + if idepsg: + try: # Check if the epsg exist _ = CRS.from_epsg(idepsg) del _ - except exceptions.CRSError as e_info: - raise exceptions.CRSError(f"Your EPSG:{epsg} doesn't exist in pyproj.") from e_info + except exceptions.CRSError as e_info: + raise exceptions.CRSError(f"Your EPSG:{epsg}" + " doesn't exist in pyproj.") from e_info + if epsg_output: + self.epsg_output = True - ProjEngine().set_epsg(epsg, path_geoid)
+ ProjEngine().set_epsg(epsg, path_geoid, epsg_output)
- # pylint: disable-next=too-many-arguments + # pylint: disable-next=too-many-arguments too-many-positional-arguments
[docs] def add_camera(self, name_camera: str, ppax: float, ppay: float, diff --git a/docs/sphinx/_build/html/_modules/borea/format/conl.html b/docs/sphinx/_build/html/_modules/borea/format/conl.html index c061db6f..e0889df1 100644 --- a/docs/sphinx/_build/html/_modules/borea/format/conl.html +++ b/docs/sphinx/_build/html/_modules/borea/format/conl.html @@ -311,19 +311,15 @@

Source code for borea.format.conl

 
 
[docs] - def save_conl(self, path_conical: Path, linalt: bool = True) -> None: + def save_conl(self, path_conical: Path) -> None: """ Save the shot as light conical file. Args: path_conical (Path): path to the light conical file. - linalt (bool): If you want z shot corrected by linear alteration. """ date_now = datetime.now() - # Scale factor correction - self.shot.set_linear_alteration(linalt) - # creation XML ori = ET.Element("orientation", {}) ET.SubElement(ori, "lastmodificationbylibori", diff --git a/docs/sphinx/_build/html/_modules/borea/format/rpc.html b/docs/sphinx/_build/html/_modules/borea/format/rpc.html index 544c28c7..97b43319 100644 --- a/docs/sphinx/_build/html/_modules/borea/format/rpc.html +++ b/docs/sphinx/_build/html/_modules/borea/format/rpc.html @@ -298,7 +298,7 @@

Source code for borea.format.rpc

     def __init__(self) -> None:
         self.param_rpc = {}
         self.fact_rpc = None
-        self.output_epsg = None
+        self.output_epsg = False
 
 
[docs] @@ -394,10 +394,9 @@

Source code for borea.format.rpc

         """
         if self.fact_rpc is None:
             if self.output_epsg:
-                ProjEngine().set_epsg_tf_geog_output(self.output_epsg)
-                x_geog, y_geog, z_geog = ProjEngine().tf.carto_to_geog_out(grid_world[0],
-                                                                           grid_world[1],
-                                                                           grid_world[2])
+                x_geog, y_geog, z_geog = ProjEngine().tf.proj_to_proj_out(grid_world[0],
+                                                                          grid_world[1],
+                                                                          grid_world[2])
             else:
                 x_geog, y_geog, z_geog = ProjEngine().tf.carto_to_geog(grid_world[0],
                                                                        grid_world[1],
diff --git a/docs/sphinx/_build/html/_modules/borea/geodesy/proj_engine.html b/docs/sphinx/_build/html/_modules/borea/geodesy/proj_engine.html
index 441acde8..5855fbce 100644
--- a/docs/sphinx/_build/html/_modules/borea/geodesy/proj_engine.html
+++ b/docs/sphinx/_build/html/_modules/borea/geodesy/proj_engine.html
@@ -299,36 +299,26 @@ 

Source code for borea.geodesy.proj_engine

         if self.epsg:
             self.crs = pyproj.CRS.from_epsg(self.epsg[0])
             self.proj = pyproj.Proj(self.crs)
-            self.tf = TransformGeodesy(self.epsg, self.geoid)
+            self.tf = TransformGeodesy(self.epsg, self.geoid, self.epsg_output)
 
 
[docs] - def set_epsg(self, epsg: list, geoid: list = None) -> None: + def set_epsg(self, epsg: list, geoid: list = None, epsg_output: int = None) -> None: """ Setter of the class ProjEngine. Allows to init the class with data. Args: - epsg (list): Code epsg of the projection ex: 2154. + epsg (list): Code epsg of the projection ex: [2154]. geoid (list): List of geoid to use. + epsg_output (int): Code epsg of the output projection. If you want to change. """ self.epsg = epsg self.geoid = geoid + self.epsg_output = epsg_output self.__post_init__()
-
-[docs] - def set_epsg_tf_geog_output(self, epsg_output: int) -> None: - """ - Create the pyproj Transformer from crs of worksite to crs geographic ask. - - Args: - epsg_out (int): Code epsg of the output crs. - """ - self.tf.tf_output(epsg_output)
- -
[docs] def get_meridian_convergence(self, x_carto: Union[np.ndarray, List[float], float], diff --git a/docs/sphinx/_build/html/_modules/borea/geodesy/transform_geodesy.html b/docs/sphinx/_build/html/_modules/borea/geodesy/transform_geodesy.html index f9176c54..73504294 100644 --- a/docs/sphinx/_build/html/_modules/borea/geodesy/transform_geodesy.html +++ b/docs/sphinx/_build/html/_modules/borea/geodesy/transform_geodesy.html @@ -277,6 +277,7 @@

Source code for borea.geodesy.transform_geodesy

< """ import pyproj import numpy as np +import pandas as pd # pylint: disable=too-many-instance-attributes @@ -290,10 +291,12 @@

Source code for borea.geodesy.transform_geodesy

< Args: geoid (list): List of geoid to use. - crs (pyproj): CRS pyproj of the worksite. + epsg (list): Code epsg of the projection ex: [2154]. + epsg_output (int): Code epsg of the output projection. If you want to change. """ - def __init__(self, epsg: list, geoid: list) -> None: + def __init__(self, epsg: list, geoid: list, epsg_output: int) -> None: self.epsg = epsg + self.epsg_output = epsg_output self.crs = pyproj.CRS.from_epsg(epsg[0]) self.geoid = geoid self._carto_to_geoc = None @@ -302,7 +305,7 @@

Source code for borea.geodesy.transform_geodesy

< self._geog_to_carto = None self._geog_to_geoid = None self._geoid_to_geog = None - self.carto_to_geog_out = None + self._proj_to_proj_out = None @property def carto_to_geog(self) -> pyproj.Transformer: @@ -426,6 +429,20 @@

Source code for borea.geodesy.transform_geodesy

< return self._geog_to_geoid + @property + def proj_to_proj_out(self) -> pyproj.Transformer: + """ + Create the pyproj Transformer from crs of worksite to crs geographic ask. + + Returns: + pyproj.Transformer : carto_to_geog_out + """ + if not self._proj_to_proj_out: + crs_out = pyproj.CRS.from_epsg(self.epsg_output) + self._proj_to_proj_out = pyproj.Transformer.from_crs(self.crs, crs_out).transform + + return self._proj_to_proj_out +
[docs] def tranform_height(self, coor: np.ndarray) -> float: @@ -450,7 +467,7 @@

Source code for borea.geodesy.transform_geodesy

< raise ValueError("The geoid has not been entered, " "cannot transform z altitude to height.") from info - if new_z == np.inf: + if np.all(new_z == np.inf): raise ValueError("out geoid") return new_z
@@ -484,19 +501,27 @@

Source code for borea.geodesy.transform_geodesy

< return new_z
-
-[docs] - def tf_output(self, epsg_out: int = None) -> None: +
+[docs] + def transform_pt_proj(self, df_pt: pd.DataFrame, type_z_input: str = None, + type_z_output: str = None) -> pd.DataFrame: """ - Create the pyproj Transformer from crs of worksite to crs geographic ask. - - Args: - epsg_out (int): Code epsg of the output crs. + Tranform the input projection to the output projection of points coordinates """ - if epsg_out and epsg_out != self.epsg[0]: - crs_out = pyproj.CRS.from_epsg(epsg_out) - crs_geog_out = pyproj.crs.GeographicCRS(name=crs_out.name, datum=crs_out.datum.name) - self.carto_to_geog_out = pyproj.Transformer.from_crs(self.crs, crs_geog_out).transform
+ if type_z_input and type_z_output: + if type_z_input != type_z_output: + if type_z_output == "altitude": + df_pt["z"] = self.tranform_altitude(np.array([df_pt['x'], + df_pt['y'], + df_pt['z']])) + if type_z_output == "height": + df_pt["z"] = self.tranform_height(np.array([df_pt['x'], + df_pt['y'], + df_pt['z']])) + + df_pt["x"], df_pt["y"] = self.proj_to_proj_out(df_pt['x'], df_pt['y']) + + return df_pt
diff --git a/docs/sphinx/_build/html/_modules/borea/process/p_add_data/p_gen_param.html b/docs/sphinx/_build/html/_modules/borea/process/p_add_data/p_gen_param.html index 6e8a1ed2..714bd93b 100644 --- a/docs/sphinx/_build/html/_modules/borea/process/p_add_data/p_gen_param.html +++ b/docs/sphinx/_build/html/_modules/borea/process/p_add_data/p_gen_param.html @@ -276,8 +276,8 @@

Source code for borea.process.p_add_data.p_gen_param

Args of parser for reading generals parameters """ import argparse -import pyproj from borea.worksite.worksite import Worksite +from borea.process.p_add_data.p_proj import args_proj_param, process_args_proj_param from borea.reader.reader_camera import read_camera @@ -293,14 +293,7 @@

Source code for borea.process.p_add_data.p_gen_param

Returns: argsparse: Parser with argument. """ - parser.add_argument('-e', '--epsg', - type=int, nargs='*', default=None, - help='EPSG codifier number of the reference system used e.g. "2154".') - parser.add_argument('-y', '--pathgeoid', - type=str, nargs='*', default=None, - help='Path to the pyproj GeoTIFF of the geoid e.g../test/data/geoid.tif' - f' or they must be in {pyproj.datadir.get_data_dir()} and just' - ' need name of file e.g. geoid.tif.') + parser = args_proj_param(parser) parser.add_argument('-c', '--camera', type=str, nargs='*', help='Files paths of cameras (xml or txt).') @@ -313,6 +306,12 @@

Source code for borea.process.p_add_data.p_gen_param

parser.add_argument('-x', '--approx_system', type=bool, default=False, help="To use an approximate system.") + parser.add_argument('--geog', '--epsg_geographic', + type=int, default=None, + help='EPSG codifier number of the reference geographic system.') + parser.add_argument('--geoc', '--epsg_geocentric', + type=int, default=None, + help='EPSG codifier number of the reference geocentric system.') return parser
@@ -331,11 +330,7 @@

Source code for borea.process.p_add_data.p_gen_param

Worksite: data """ # Add a projection to the worksite - if args.epsg is not None: - work.set_proj(args.epsg, args.pathgeoid) - print(f"Projection set-up with EPSG:{args.epsg}.") - else: - print("There is no given projection.") + work = process_args_proj_param(args, work) # Reading camera file if args.camera is not None: diff --git a/docs/sphinx/_build/html/_modules/borea/process/p_add_data/p_proj.html b/docs/sphinx/_build/html/_modules/borea/process/p_add_data/p_proj.html new file mode 100644 index 00000000..7f488316 --- /dev/null +++ b/docs/sphinx/_build/html/_modules/borea/process/p_add_data/p_proj.html @@ -0,0 +1,375 @@ + + + + + + + + borea.process.p_add_data.p_proj - Borea 1.0.0 documentation + + + + + + + + + + + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark, in light mode + + + + + + + + + + + + + + + Auto light/dark, in dark mode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Skip to content + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for borea.process.p_add_data.p_proj

+"""
+Args of parser for reading projection parameters
+"""
+import argparse
+import pyproj
+from borea.worksite.worksite import Worksite
+
+
+
+[docs] +def args_proj_param(parser: argparse) -> argparse: + """ + Args for adding projection parameter. + + Args: + parser (argparse): Parser to add argument. + + Returns: + argsparse: Parser with argument. + """ + parser.add_argument('-e', '--epsg', + type=int, default=None, + help='EPSG codifier number of the reference system used e.g. "2154".') + parser.add_argument('-y', '--pathgeoid', + type=str, nargs='*', default=None, + help='Path to the pyproj GeoTIFF of the geoid e.g../test/data/geoid.tif' + f' or they must be in {pyproj.datadir.get_data_dir()} and just' + ' need name of file e.g. geoid.tif.') + parser.add_argument('--geog', '--epsg_geographic', + type=int, default=None, + help='EPSG codifier number of the reference geographic system.') + parser.add_argument('--geoc', '--epsg_geocentric', + type=int, default=None, + help='EPSG codifier number of the reference geocentric system.') + parser.add_argument('--oe', '--epsg_output', + type=int, default=None, + help="Code epsg of output Data") + return parser
+ + + +
+[docs] +def process_args_proj_param(args: argparse, work: Worksite) -> Worksite: + """ + Processing args with data. + + Args: + args (argparse): Arg to apply on worksite (data). + work (Worksite): Worksite to work on. + + Returns: + Worksite: data + """ + # Add a projection to the worksite + if args.epsg is not None: + work.set_proj([args.epsg, args.geog, args.geoc], args.pathgeoid, args.oe) + print(f"Projection set-up with EPSG:{args.epsg}.") + else: + print("There is no given projection.") + + return work
+ +
+
+
+
+ + +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + \ No newline at end of file diff --git a/docs/sphinx/_build/html/_modules/borea/process/p_add_data/p_unit_shot.html b/docs/sphinx/_build/html/_modules/borea/process/p_add_data/p_unit_shot.html index 28425d42..3ff13fd2 100644 --- a/docs/sphinx/_build/html/_modules/borea/process/p_add_data/p_unit_shot.html +++ b/docs/sphinx/_build/html/_modules/borea/process/p_add_data/p_unit_shot.html @@ -315,13 +315,13 @@

Source code for borea.process.p_add_data.p_unit_shot

Returns: argsparse: Parser with argument. """ - parser.add_argument('-ob', '--order_axe_output', + parser.add_argument('--ob', '--order_axe_output', type=str, default=None, help="Order of rotation matrix axes you want in output.") - parser.add_argument('-ou', '--output_unit_angle', + parser.add_argument('--ou', '--output_unit_angle', type=str, default=None, choices=["degree", "radian", None], help="Unit of the angle of shooting, 'degree' or 'radian'") - parser.add_argument('-oa', '--output_linear_alteration', + parser.add_argument('--oa', '--output_linear_alteration', type=bool, default=None, help="True if z shot corrected by linear alteration.") return parser
diff --git a/docs/sphinx/_build/html/_modules/borea/process/p_format/p_write_opk.html b/docs/sphinx/_build/html/_modules/borea/process/p_format/p_write_opk.html index c8c547ac..58565372 100644 --- a/docs/sphinx/_build/html/_modules/borea/process/p_format/p_write_opk.html +++ b/docs/sphinx/_build/html/_modules/borea/process/p_format/p_write_opk.html @@ -324,8 +324,8 @@

Source code for borea.process.p_format.p_write_opk

args (argparse): Arg to apply on worksite (data). work (Worksite): Data. """ - if args.order_axe_output: - args.order_axe_output = args.order_axe_output.lower() + if args.ob: + args.ob = args.ob.lower() if args.output_header: args.output_header = list(args.output_header.upper()) @@ -333,10 +333,10 @@

Source code for borea.process.p_format.p_write_opk

# Writing data print("Writing OPK.") if args.namereturn is not None: - args_writing = {"order_axe": args.order_axe_output, + args_writing = {"order_axe": args.ob, "header": args.output_header, - "unit_angle": args.output_unit_angle, - "linear_alteration": args.output_linear_alteration} + "unit_angle": args.ou, + "linear_alteration": args.oa} manager_writer("opk", args.namereturn, args.pathreturn, args_writing, work) print(f"File written in {args.pathreturn + args.namereturn}.opk.") else: diff --git a/docs/sphinx/_build/html/_modules/borea/process/p_format/p_write_rpc.html b/docs/sphinx/_build/html/_modules/borea/process/p_format/p_write_rpc.html index 81cbb4bb..2b8f2ce8 100644 --- a/docs/sphinx/_build/html/_modules/borea/process/p_format/p_write_rpc.html +++ b/docs/sphinx/_build/html/_modules/borea/process/p_format/p_write_rpc.html @@ -304,9 +304,6 @@

Source code for borea.process.p_format.p_write_rpc

parser.add_argument('-l', '--fact_rpc', type=float, default=None, help="Factor Rpc for pyproj convertion.") - parser.add_argument('-g', '--epsg_output', - type=int, default=None, - help="Code epsg of RPC") return parser
@@ -325,8 +322,7 @@

Source code for borea.process.p_format.p_write_rpc

print("Writing Rpc.") args_writing = {"order": args.order, "size_grid": args.size_grid, - "fact_rpc": args.fact_rpc, - "epsg_output": args.epsg_output} + "fact_rpc": args.fact_rpc} manager_writer("rpc", None, args.pathreturn, args_writing, work) print(f"File written in folder {args.pathreturn} .txt.")
diff --git a/docs/sphinx/_build/html/_modules/borea/process/p_func/p_spaceresection.html b/docs/sphinx/_build/html/_modules/borea/process/p_func/p_spaceresection.html index ea79eabe..eed59a98 100644 --- a/docs/sphinx/_build/html/_modules/borea/process/p_func/p_spaceresection.html +++ b/docs/sphinx/_build/html/_modules/borea/process/p_func/p_spaceresection.html @@ -323,8 +323,8 @@

Source code for borea.process.p_func.p_spaceresection

work = Worksite("Space_Resection") work = process_args_gen_param(args, work) work.set_type_z_shot(check_header_file(list(args.output_header.upper()))[1]) - pt2d = read_file_pt_dataframe(args.gcp2d, list(args.head_gcp2d.upper()), "pt2d") - pt3d = read_file_pt_dataframe(args.gcp3d, list(args.head_gcp3d.upper()), "pt3d") + pt2d, _ = read_file_pt_dataframe(args.gcp2d, list(args.head_gcp2d.upper()), "pt2d") + pt3d, _ = read_file_pt_dataframe(args.gcp3d, list(args.head_gcp3d.upper()), "pt3d") pinit = {"coor_init": np.array(args.point3d)} SpaceResection(work).space_resection_to_worksite(pt2d, pt3d, pinit) return work
diff --git a/docs/sphinx/_build/html/_modules/borea/process/p_func/p_tf_proj_pt.html b/docs/sphinx/_build/html/_modules/borea/process/p_func/p_tf_proj_pt.html new file mode 100644 index 00000000..76709380 --- /dev/null +++ b/docs/sphinx/_build/html/_modules/borea/process/p_func/p_tf_proj_pt.html @@ -0,0 +1,368 @@ + + + + + + + + borea.process.p_func.p_tf_proj_pt - Borea 1.0.0 documentation + + + + + + + + + + + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark, in light mode + + + + + + + + + + + + + + + Auto light/dark, in dark mode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Skip to content + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+
+

Source code for borea.process.p_func.p_tf_proj_pt

+"""
+Args of parser to transform projection of 3D points.
+"""
+import argparse
+
+from borea.process.p_add_data.p_file_gcp3d import args_gcp3d
+from borea.process.p_add_data.p_proj import args_proj_param
+from borea.process.p_add_data.p_write import args_writer
+from borea.reader.reader_point import read_file_pt_dataframe
+from borea.geodesy.proj_engine import ProjEngine
+from borea.writer.writer_df_to_txt import write_df_to_txt
+
+
+
+[docs] +def args_tf_proj_param(parser: argparse) -> argparse: + """ + Args for adding transform proj of points parameter. + + Args: + parser (argparse): Parser to add argument. + + Returns: + argsparse: Parser with argument. + """ + parser = args_gcp3d(parser) + parser = args_proj_param(parser) + parser.add_argument('--oz', '--z_output', + type=str, choices=[None, 'altitude', 'height'], default=None, + help="Output type of z. altitude or height") + parser = args_writer(parser) + return parser
+ + + +
+[docs] +def process_tf_proj_param(args: argparse) -> None: + """ + Processing args with data. + + Args: + args (argparse): Arg to apply on worksite (data). + """ + # Read file to Dataframe + df, type_z = read_file_pt_dataframe(args.gcp3d, args.head_gcp3d, "pt3d") + + # Setup Projection + ProjEngine().set_epsg([args.epsg, args.geog, args.geoc], args.pathgeoid, args.oe) + + # Change projection + new_df = ProjEngine().tf.transform_pt_proj(df, type_z, args.oz) + + # Write the new file + write_df_to_txt(args.namereturn, args.pathreturn, new_df)
+ +
+
+
+
+ + +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+ +
+
+ +
+
+ +
+
+ + + + + \ No newline at end of file diff --git a/docs/sphinx/_build/html/_modules/borea/reader/reader_point.html b/docs/sphinx/_build/html/_modules/borea/reader/reader_point.html index 01d91b9a..1941f5d0 100644 --- a/docs/sphinx/_build/html/_modules/borea/reader/reader_point.html +++ b/docs/sphinx/_build/html/_modules/borea/reader/reader_point.html @@ -332,7 +332,7 @@

Source code for borea.reader.reader_point

 
 
[docs] -def read_file_pt_dataframe(path: str, header: list, type_point: str) -> pd.DataFrame: +def read_file_pt_dataframe(path: str, header: list, type_point: str) -> tuple: """ Read file of points to save in Dataframe. @@ -342,12 +342,12 @@

Source code for borea.reader.reader_point

         type_point (str): Type of point is reading (pt2d, pt3d).
 
     Returns:
-        pd.Dataframe: Dataframe of data.
+        tuple: Dataframe of data and type of z in str.
     """
     if type_point not in ["pt2d", "pt3d"]:
         raise ValueError(f"type {type_point} in incorrect. ['pt2d', 'pt3d']")
 
-    header, _ = check_header_file(header, type_point)
+    header, type_z = check_header_file(header, type_point)
 
     id_pt = []
     ttype = []
@@ -389,7 +389,7 @@ 

Source code for borea.reader.reader_point

                            "id_shot": ttype,
                            "column": coor[:, 0],
                            "line": coor[:, 1]})
-    return df
+ return df, type_z
diff --git a/docs/sphinx/_build/html/_modules/borea/worksite/worksite.html b/docs/sphinx/_build/html/_modules/borea/worksite/worksite.html index fb6fff8d..2eff154b 100644 --- a/docs/sphinx/_build/html/_modules/borea/worksite/worksite.html +++ b/docs/sphinx/_build/html/_modules/borea/worksite/worksite.html @@ -467,10 +467,12 @@

Source code for borea.worksite.worksite

                 shot.set_z_nadir(z_nadir)
-
-[docs] - def set_unit_shot(self, type_z: str = None, unit_angle: str = None, - linear_alteration: bool = None, order_axe: str = None) -> None: + # pylint: disable-next=too-many-arguments too-many-positional-arguments +
+[docs] + def set_unit_output(self, type_z: str = None, unit_angle: str = None, + linear_alteration: bool = None, order_axe: str = None, + proj_output: bool = True) -> None: """ Allows you to change unit or parameter of shots. @@ -479,6 +481,7 @@

Source code for borea.worksite.worksite

             unit_angle (str): Unit angle you want.
             linear_alteration (bool): True if you want data corrected.
             order_axe (str): Order of rotation matrice you want in your angle.
+            proj_output (bool): True to change the projection of shot.
         """
         if unit_angle not in ["degree", "radian", None]:
             raise ValueError(f"unit_angle: {unit_angle} is not recognized,"
@@ -494,14 +497,16 @@ 

Source code for borea.worksite.worksite

             self.type_z_shot = type_z
 
         for shot in self.shots.values():
-            if unit_angle is not None:
+            if unit_angle:
                 shot.set_unit_angle(unit_angle)
-            if type_z is not None:
+            if type_z:
                 shot.set_type_z(type_z)
             if linear_alteration is not None:
                 shot.set_linear_alteration(linear_alteration)
-            if order_axe is not None:
-                shot.set_order_axe(order_axe)
+ if order_axe: + shot.set_order_axe(order_axe) + if self.epsg_output and proj_output: + shot.set_proj_pos()
diff --git a/docs/sphinx/_build/html/_modules/borea/writer/writer_con.html b/docs/sphinx/_build/html/_modules/borea/writer/writer_con.html index 997b6bd4..a61b9eb4 100644 --- a/docs/sphinx/_build/html/_modules/borea/writer/writer_con.html +++ b/docs/sphinx/_build/html/_modules/borea/writer/writer_con.html @@ -296,7 +296,14 @@

Source code for borea.writer.writer_con

         work (Worksite): The site to be recorded.
     """
     _, _ = name, param_con
-    geoview_proj = search_info("EPSG", str(ProjEngine().epsg[0]), "GEOVIEW")
+
+    if work.epsg_output:
+        epsg_output = ProjEngine().epsg_output
+    else:
+        epsg_output = ProjEngine().epsg[0]
+
+    work.set_unit_output(type_z="altitude", linear_alteration=True)
+    geoview_proj = search_info("EPSG", str(epsg_output), "GEOVIEW")
 
     for name_shot, shot in work.shots.items():
         cam = work.cameras[shot.name_cam]
diff --git a/docs/sphinx/_build/html/_modules/borea/writer/writer_opk.html b/docs/sphinx/_build/html/_modules/borea/writer/writer_opk.html
index ffbc4aaa..946db0b5 100644
--- a/docs/sphinx/_build/html/_modules/borea/writer/writer_opk.html
+++ b/docs/sphinx/_build/html/_modules/borea/writer/writer_opk.html
@@ -311,7 +311,7 @@ 

Source code for borea.writer.writer_opk

     if "S" in header:
         raise ValueError("Letter S doesn't existe in writing header opk.")
 
-    work.set_unit_shot(type_z, args["unit_angle"], args["linear_alteration"], args["order_axe"])
+    work.set_unit_output(type_z, args["unit_angle"], args["linear_alteration"], args["order_axe"])
 
     header_file = ""
     for i in header:
diff --git a/docs/sphinx/_build/html/_modules/borea/writer/writer_rpc.html b/docs/sphinx/_build/html/_modules/borea/writer/writer_rpc.html
index 0b65d53f..9b29e303 100644
--- a/docs/sphinx/_build/html/_modules/borea/writer/writer_rpc.html
+++ b/docs/sphinx/_build/html/_modules/borea/writer/writer_rpc.html
@@ -305,7 +305,9 @@ 

Source code for borea.writer.writer_rpc

             "SAMP_SCALE", "LAT_SCALE", "LONG_SCALE",
             "HEIGHT_SCALE"]
 
-    work.set_unit_shot(type_z=Dtm().type_dtm)
+    param_rpc["epsg_output"] = work.epsg_output
+
+    work.set_unit_output(type_z=Dtm().type_dtm, proj_output=False)
 
     for name_shot, shot in work.shots.items():
         cam = work.cameras[shot.name_cam]
diff --git a/docs/sphinx/_build/html/_modules/index.html b/docs/sphinx/_build/html/_modules/index.html
index 7cb2f820..c16e1542 100644
--- a/docs/sphinx/_build/html/_modules/index.html
+++ b/docs/sphinx/_build/html/_modules/index.html
@@ -289,6 +289,7 @@ 

All modules for which code is available

  • borea.process.p_add_data.p_file_gcp2d
  • borea.process.p_add_data.p_file_gcp3d
  • borea.process.p_add_data.p_gen_param
  • +
  • borea.process.p_add_data.p_proj
  • borea.process.p_add_data.p_pt2d
  • borea.process.p_add_data.p_pt3d
  • borea.process.p_add_data.p_unit_shot
  • @@ -300,6 +301,7 @@

    All modules for which code is available

  • borea.process.p_func.p_control
  • borea.process.p_func.p_image_world
  • borea.process.p_func.p_spaceresection
  • +
  • borea.process.p_func.p_tf_proj_pt
  • borea.process.p_func.p_world_image
  • borea.reader.orientation.manage_reader
  • borea.reader.orientation.reader_opk
  • diff --git a/docs/sphinx/_build/html/_sources/borea.process.p_add_data.rst.txt b/docs/sphinx/_build/html/_sources/borea.process.p_add_data.rst.txt index 9b05c973..a7f6cb8e 100644 --- a/docs/sphinx/_build/html/_sources/borea.process.p_add_data.rst.txt +++ b/docs/sphinx/_build/html/_sources/borea.process.p_add_data.rst.txt @@ -36,6 +36,14 @@ borea.process.p\_add\_data.p\_gen\_param module :undoc-members: :show-inheritance: +borea.process.p\_add\_data.p\_proj module +----------------------------------------- + +.. automodule:: borea.process.p_add_data.p_proj + :members: + :undoc-members: + :show-inheritance: + borea.process.p\_add\_data.p\_pt2d module ----------------------------------------- diff --git a/docs/sphinx/_build/html/_sources/borea.process.p_func.rst.txt b/docs/sphinx/_build/html/_sources/borea.process.p_func.rst.txt index f3ae399f..7671a8bf 100644 --- a/docs/sphinx/_build/html/_sources/borea.process.p_func.rst.txt +++ b/docs/sphinx/_build/html/_sources/borea.process.p_func.rst.txt @@ -28,6 +28,14 @@ borea.process.p\_func.p\_spaceresection module :undoc-members: :show-inheritance: +borea.process.p\_func.p\_tf\_proj\_pt module +-------------------------------------------- + +.. automodule:: borea.process.p_func.p_tf_proj_pt + :members: + :undoc-members: + :show-inheritance: + borea.process.p\_func.p\_world\_image module -------------------------------------------- diff --git a/docs/sphinx/_build/html/borea.datastruct.html b/docs/sphinx/_build/html/borea.datastruct.html index 1fe5dc1b..1fc860d1 100644 --- a/docs/sphinx/_build/html/borea.datastruct.html +++ b/docs/sphinx/_build/html/borea.datastruct.html @@ -573,6 +573,12 @@

    Submodules +
    +set_proj_pos() None[source]
    +

    Change the projection of the position shot with the epsg_output.

    +
    +
    set_rot_shot() ndarray[source]
    @@ -743,13 +749,14 @@

    Submodules
    -set_proj(epsg: list, path_geoid: list | None = None) None[source]
    +set_proj(epsg: list, path_geoid: list | None = None, epsg_output: int | None = None) None[source]

    Setup a projection system to the worksite.

    Parameters:
      -
    • epsg (list) – Code epsg of the porjection ex: 2154.

    • +
    • epsg (list) – Code epsg of the projection ex: [2154].

    • path_geoid (str) – List of GeoTIFF which represents the geoid in grid form.

    • +
    • epsg_output (int) – Code epsg of the output projection. If you want to change.

    @@ -882,6 +889,7 @@

    SubmodulesShot.set_linear_alteration()
  • Shot.set_order_axe()
  • Shot.set_param_eucli_shot()
  • +
  • Shot.set_proj_pos()
  • Shot.set_rot_shot()
  • Shot.set_type_z()
  • Shot.set_unit_angle()
  • diff --git a/docs/sphinx/_build/html/borea.format.html b/docs/sphinx/_build/html/borea.format.html index dd5772e4..36cf1b8f 100644 --- a/docs/sphinx/_build/html/borea.format.html +++ b/docs/sphinx/_build/html/borea.format.html @@ -313,14 +313,11 @@

    Submodules
    -save_conl(path_conical: Path, linalt: bool = True) None[source]
    +save_conl(path_conical: Path) None[source]

    Save the shot as light conical file.

    Parameters:
    -
      -
    • path_conical (Path) – path to the light conical file.

    • -
    • linalt (bool) – If you want z shot corrected by linear alteration.

    • -
    +

    path_conical (Path) – path to the light conical file.

    diff --git a/docs/sphinx/_build/html/borea.geodesy.html b/docs/sphinx/_build/html/borea.geodesy.html index 0ee59c9e..3f8eab12 100644 --- a/docs/sphinx/_build/html/borea.geodesy.html +++ b/docs/sphinx/_build/html/borea.geodesy.html @@ -629,30 +629,20 @@

    Submodules
    -set_epsg(epsg: list, geoid: list | None = None) None[source]
    +set_epsg(epsg: list, geoid: list | None = None, epsg_output: int | None = None) None[source]

    Setter of the class ProjEngine. Allows to init the class with data.

    Parameters:
      -
    • epsg (list) – Code epsg of the projection ex: 2154.

    • +
    • epsg (list) – Code epsg of the projection ex: [2154].

    • geoid (list) – List of geoid to use.

    • +
    • epsg_output (int) – Code epsg of the output projection. If you want to change.

    -
    -
    -set_epsg_tf_geog_output(epsg_output: int) None[source]
    -

    Create the pyproj Transformer from crs of worksite to crs geographic ask.

    -
    -
    Parameters:
    -

    epsg_out (int) – Code epsg of the output crs.

    -
    -
    -
    - @@ -661,7 +651,7 @@

    Submodules
    -class borea.geodesy.transform_geodesy.TransformGeodesy(epsg: list, geoid: list)[source]
    +class borea.geodesy.transform_geodesy.TransformGeodesy(epsg: list, geoid: list, epsg_output: int)[source]

    Bases: object

    This class provides functions to tranform coordinate system. Class parent of ProjEngine. @@ -670,7 +660,8 @@

    SubmodulesParameters:
    • geoid (list) – List of geoid to use.

    • -
    • crs (pyproj) – CRS pyproj of the worksite.

    • +
    • epsg (list) – Code epsg of the projection ex: [2154].

    • +
    • epsg_output (int) – Code epsg of the output projection. If you want to change.

    @@ -758,13 +749,16 @@

    Submodules -
    -tf_output(epsg_out: int | None = None) None[source]
    +
    +
    +property proj_to_proj_out: Transformer

    Create the pyproj Transformer from crs of worksite to crs geographic ask.

    -
    Parameters:
    -

    epsg_out (int) – Code epsg of the output crs.

    +
    Returns:
    +

    carto_to_geog_out

    +
    +
    Return type:
    +

    pyproj.Transformer

    @@ -803,6 +797,12 @@

    Submodules +
    +transform_pt_proj(df_pt: DataFrame, type_z_input: str | None = None, type_z_output: str | None = None) DataFrame[source]
    +

    Tranform the input projection to the output projection of points coordinates

    +
    +

    @@ -906,7 +906,6 @@

    SubmodulesProjEngine.get_meridian_convergence()
  • ProjEngine.get_scale_factor()
  • ProjEngine.set_epsg()
  • -
  • ProjEngine.set_epsg_tf_geog_output()
  • @@ -919,9 +918,10 @@

    SubmodulesTransformGeodesy.geog_to_carto
  • TransformGeodesy.geog_to_geoid
  • TransformGeodesy.geoid_to_geog
  • -
  • TransformGeodesy.tf_output()
  • +
  • TransformGeodesy.proj_to_proj_out
  • TransformGeodesy.tranform_altitude()
  • TransformGeodesy.tranform_height()
  • +
  • TransformGeodesy.transform_pt_proj()
  • diff --git a/docs/sphinx/_build/html/borea.html b/docs/sphinx/_build/html/borea.html index 84d7cdcf..53240306 100644 --- a/docs/sphinx/_build/html/borea.html +++ b/docs/sphinx/_build/html/borea.html @@ -326,6 +326,7 @@

    SubpackagesShot.set_linear_alteration()
  • Shot.set_order_axe()
  • Shot.set_param_eucli_shot()
  • +
  • Shot.set_proj_pos()
  • Shot.set_rot_shot()
  • Shot.set_type_z()
  • Shot.set_unit_angle()
  • @@ -429,7 +430,6 @@

    SubpackagesProjEngine.get_meridian_convergence()
  • ProjEngine.get_scale_factor()
  • ProjEngine.set_epsg()
  • -
  • ProjEngine.set_epsg_tf_geog_output()
  • @@ -442,9 +442,10 @@

    SubpackagesTransformGeodesy.geog_to_carto
  • TransformGeodesy.geog_to_geoid
  • TransformGeodesy.geoid_to_geog
  • -
  • TransformGeodesy.tf_output()
  • +
  • TransformGeodesy.proj_to_proj_out
  • TransformGeodesy.tranform_altitude()
  • TransformGeodesy.tranform_height()
  • +
  • TransformGeodesy.transform_pt_proj()
  • @@ -460,6 +461,7 @@

    Subpackagesborea.process.p_add_data.p_file_gcp2d module
  • borea.process.p_add_data.p_file_gcp3d module
  • borea.process.p_add_data.p_gen_param module
  • +
  • borea.process.p_add_data.p_proj module
  • borea.process.p_add_data.p_pt2d module
  • borea.process.p_add_data.p_pt3d module
  • borea.process.p_add_data.p_unit_shot module
  • @@ -481,6 +483,7 @@

    Subpackagesborea.process.p_func.p_control module
  • borea.process.p_func.p_image_world module
  • borea.process.p_func.p_spaceresection module
  • +
  • borea.process.p_func.p_tf_proj_pt module
  • borea.process.p_func.p_world_image module
  • Module contents
  • @@ -614,7 +617,7 @@

    SubpackagesWorksite.set_param_shot()
  • Worksite.set_point_image_dataframe()
  • Worksite.set_point_world_dataframe()
  • -
  • Worksite.set_unit_shot()
  • +
  • Worksite.set_unit_output()
  • diff --git a/docs/sphinx/_build/html/borea.process.html b/docs/sphinx/_build/html/borea.process.html index 841fe2a4..3bb945df 100644 --- a/docs/sphinx/_build/html/borea.process.html +++ b/docs/sphinx/_build/html/borea.process.html @@ -306,6 +306,11 @@

    Subpackagesprocess_args_gen_param() +
  • borea.process.p_add_data.p_proj module +
  • borea.process.p_add_data.p_pt2d module
  • +
  • borea.process.p_func.p_tf_proj_pt module +
  • borea.process.p_func.p_world_image module
    • args_world_image()
    • process_world_image()
    • diff --git a/docs/sphinx/_build/html/borea.process.p_add_data.html b/docs/sphinx/_build/html/borea.process.p_add_data.html index 82821b68..3326df78 100644 --- a/docs/sphinx/_build/html/borea.process.p_add_data.html +++ b/docs/sphinx/_build/html/borea.process.p_add_data.html @@ -443,6 +443,47 @@

      Submodules +

      borea.process.p_add_data.p_proj module

      +

      Args of parser for reading projection parameters

      +
      +
      +borea.process.p_add_data.p_proj.args_proj_param(parser: <module 'argparse' from '/usr/lib/python3.10/argparse.py'>) <module 'argparse' from '/usr/lib/python3.10/argparse.py'>[source]
      +

      Args for adding projection parameter.

      +
      +
      Parameters:
      +

      parser (argparse) – Parser to add argument.

      +
      +
      Returns:
      +

      Parser with argument.

      +
      +
      Return type:
      +

      argsparse

      +
      +
      +
      + +
      +
      +borea.process.p_add_data.p_proj.process_args_proj_param(args: <module 'argparse' from '/usr/lib/python3.10/argparse.py'>, work: ~borea.worksite.worksite.Worksite) Worksite[source]
      +

      Processing args with data.

      +
      +
      Parameters:
      +
        +
      • args (argparse) – Arg to apply on worksite (data).

      • +
      • work (Worksite) – Worksite to work on.

      • +
      +
      +
      Returns:
      +

      data

      +
      +
      Return type:
      +

      Worksite

      +
      +
      +
      +

      borea.process.p_add_data.p_pt2d module

      @@ -655,6 +696,11 @@

      Submodulesprocess_args_gen_param()

  • +
  • borea.process.p_add_data.p_proj module +
  • borea.process.p_add_data.p_pt2d module
    • args_add_pt2d()
    • process_image_world()
    • diff --git a/docs/sphinx/_build/html/borea.process.p_func.html b/docs/sphinx/_build/html/borea.process.p_func.html index 4a5a23d6..595a79a9 100644 --- a/docs/sphinx/_build/html/borea.process.p_func.html +++ b/docs/sphinx/_build/html/borea.process.p_func.html @@ -390,6 +390,38 @@

      Submodules +

      borea.process.p_func.p_tf_proj_pt module

      +

      Args of parser to transform projection of 3D points.

      +
      +
      +borea.process.p_func.p_tf_proj_pt.args_tf_proj_param(parser: <module 'argparse' from '/usr/lib/python3.10/argparse.py'>) <module 'argparse' from '/usr/lib/python3.10/argparse.py'>[source]
      +

      Args for adding transform proj of points parameter.

      +
      +
      Parameters:
      +

      parser (argparse) – Parser to add argument.

      +
      +
      Returns:
      +

      Parser with argument.

      +
      +
      Return type:
      +

      argsparse

      +
      +
      +
      + +
      +
      +borea.process.p_func.p_tf_proj_pt.process_tf_proj_param(args: <module 'argparse' from '/usr/lib/python3.10/argparse.py'>) None[source]
      +

      Processing args with data.

      +
      +
      Parameters:
      +

      args (argparse) – Arg to apply on worksite (data).

      +
      +
      +
      +

      borea.process.p_func.p_world_image module

      @@ -503,6 +535,11 @@

      Submodulesprocess_space_resection()

  • +
  • borea.process.p_func.p_tf_proj_pt module +
  • borea.process.p_func.p_world_image module
  • diff --git a/docs/sphinx/_build/html/genindex.html b/docs/sphinx/_build/html/genindex.html index 0cb2ca6b..5f4f68cb 100644 --- a/docs/sphinx/_build/html/genindex.html +++ b/docs/sphinx/_build/html/genindex.html @@ -303,10 +303,10 @@

    A

  • args_control() (in module borea.process.p_func.p_control)
  • - - + + +
    • borea.reader.orientation.manage_reader @@ -626,8 +646,6 @@

      B

    • module
    - -
  • process_space_resection() (in module borea.process.p_func.p_spaceresection) +
  • +
  • process_tf_proj_param() (in module borea.process.p_func.p_tf_proj_pt)
  • process_world_image() (in module borea.process.p_add_data.p_pt3d) @@ -1423,6 +1449,8 @@

    P

  • proj (borea.format.conl.Conl attribute) +
  • +
  • proj_to_proj_out (borea.geodesy.transform_geodesy.TransformGeodesy property)
  • ProjEngine (class in borea.geodesy.proj_engine)
  • @@ -1477,8 +1505,6 @@

    S

  • set_epsg() (borea.geodesy.proj_engine.ProjEngine method) -
  • -
  • set_epsg_tf_geog_output() (borea.geodesy.proj_engine.ProjEngine method)
  • set_geometry_xml() (borea.format.conl.Conl method)
  • @@ -1499,10 +1525,12 @@

    S

  • set_point_image_dataframe() (borea.worksite.worksite.Worksite method)
  • set_point_world_dataframe() (borea.worksite.worksite.Worksite method) +
  • +
  • set_proj() (borea.datastruct.workdata.Workdata method)
    • -
    • set_proj() (borea.datastruct.workdata.Workdata method) +
    • set_proj_pos() (borea.datastruct.shot.Shot method)
    • set_rot_shot() (borea.datastruct.shot.Shot method)
    • @@ -1514,7 +1542,7 @@

      S

    • set_unit_angle() (borea.datastruct.shot.Shot method)
    • -
    • set_unit_shot() (borea.worksite.worksite.Worksite method) +
    • set_unit_output() (borea.worksite.worksite.Worksite method)
    • set_z_nadir() (borea.datastruct.shot.Shot method)
    • @@ -1554,13 +1582,13 @@

      T

        -
      • tranform_altitude() (borea.geodesy.transform_geodesy.TransformGeodesy method) -
      • tranform_height() (borea.geodesy.transform_geodesy.TransformGeodesy method) +
      • +
      • transform_pt_proj() (borea.geodesy.transform_geodesy.TransformGeodesy method)
      • TransformGeodesy (class in borea.geodesy.transform_geodesy)
      • diff --git a/docs/sphinx/_build/html/objects.inv b/docs/sphinx/_build/html/objects.inv index a5d5a302..239f5984 100644 Binary files a/docs/sphinx/_build/html/objects.inv and b/docs/sphinx/_build/html/objects.inv differ diff --git a/docs/sphinx/_build/html/py-modindex.html b/docs/sphinx/_build/html/py-modindex.html index c9f10471..9e905ae1 100644 --- a/docs/sphinx/_build/html/py-modindex.html +++ b/docs/sphinx/_build/html/py-modindex.html @@ -427,6 +427,12 @@

        Python Module Index

        borea.process.p_add_data.p_gen_param + + +     + borea.process.p_add_data.p_proj + +     @@ -505,6 +511,12 @@

        Python Module Index

        borea.process.p_func.p_spaceresection + + +     + borea.process.p_func.p_tf_proj_pt + +     diff --git a/docs/sphinx/_build/html/searchindex.js b/docs/sphinx/_build/html/searchindex.js index aa56d9e3..80166d67 100644 --- a/docs/sphinx/_build/html/searchindex.js +++ b/docs/sphinx/_build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"Contents:": [[23, null]], "Indices and tables": [[23, "indices-and-tables"]], "Module contents": [[0, "module-borea"], [1, "module-borea.datastruct"], [2, "module-borea.format"], [3, "module-borea.geodesy"], [4, "module-borea.geodesy.projectionlist"], [5, "module-borea.process"], [6, "module-borea.process.p_add_data"], [7, "module-borea.process.p_format"], [8, "module-borea.process.p_func"], [9, "module-borea.reader"], [10, "module-borea.reader.orientation"], [11, "module-borea.stat"], [12, "module-borea.transform_world_image"], [13, "module-borea.transform_world_image.transform_dtm"], [14, "module-borea.transform_world_image.transform_shot"], [15, "module-borea.transform_world_image.transform_worksite"], [16, "module-borea.utils"], [17, "module-borea.utils.check"], [18, "module-borea.utils.miscellaneous"], [19, "module-borea.utils.singleton"], [20, "module-borea.utils.xml"], [21, "module-borea.worksite"], [22, "module-borea.writer"]], "Submodules": [[1, "submodules"], [2, "submodules"], [3, "submodules"], [4, "submodules"], [6, "submodules"], [7, "submodules"], [8, "submodules"], [9, "submodules"], [10, "submodules"], [11, "submodules"], [13, "submodules"], [14, "submodules"], [15, "submodules"], [17, "submodules"], [18, "submodules"], [19, "submodules"], [20, "submodules"], [21, "submodules"], [22, "submodules"]], "Subpackages": [[0, "subpackages"], [3, "subpackages"], [5, "subpackages"], [9, "subpackages"], [12, "subpackages"], [16, "subpackages"]], "Welcome to Pink_Lady\u2019s documentation!": [[23, null]], "borea": [[24, null]], "borea package": [[0, null]], "borea.datastruct package": [[1, null]], "borea.datastruct.camera module": [[1, "module-borea.datastruct.camera"]], "borea.datastruct.dtm module": [[1, "module-borea.datastruct.dtm"]], "borea.datastruct.gcp module": [[1, "module-borea.datastruct.gcp"]], "borea.datastruct.shot module": [[1, "module-borea.datastruct.shot"]], "borea.datastruct.workdata module": [[1, "module-borea.datastruct.workdata"]], "borea.format package": [[2, null]], "borea.format.conl module": [[2, "module-borea.format.conl"]], "borea.format.rpc module": [[2, "module-borea.format.rpc"]], "borea.geodesy package": [[3, null]], "borea.geodesy.approx_euclidean_proj module": [[3, "module-borea.geodesy.approx_euclidean_proj"]], "borea.geodesy.euclidean_proj module": [[3, "module-borea.geodesy.euclidean_proj"]], "borea.geodesy.local_euclidean_proj module": [[3, "module-borea.geodesy.local_euclidean_proj"]], "borea.geodesy.proj_engine module": [[3, "module-borea.geodesy.proj_engine"]], "borea.geodesy.projectionlist package": [[4, null]], "borea.geodesy.projectionlist.search_proj module": [[4, "module-borea.geodesy.projectionlist.search_proj"]], "borea.geodesy.transform_geodesy module": [[3, "module-borea.geodesy.transform_geodesy"]], "borea.process package": [[5, null]], "borea.process.p_add_data package": [[6, null]], "borea.process.p_add_data.p_add_shot module": [[6, "module-borea.process.p_add_data.p_add_shot"]], "borea.process.p_add_data.p_file_gcp2d module": [[6, "module-borea.process.p_add_data.p_file_gcp2d"]], "borea.process.p_add_data.p_file_gcp3d module": [[6, "module-borea.process.p_add_data.p_file_gcp3d"]], "borea.process.p_add_data.p_gen_param module": [[6, "module-borea.process.p_add_data.p_gen_param"]], "borea.process.p_add_data.p_pt2d module": [[6, "module-borea.process.p_add_data.p_pt2d"]], "borea.process.p_add_data.p_pt3d module": [[6, "module-borea.process.p_add_data.p_pt3d"]], "borea.process.p_add_data.p_unit_shot module": [[6, "module-borea.process.p_add_data.p_unit_shot"]], "borea.process.p_add_data.p_write module": [[6, "module-borea.process.p_add_data.p_write"]], "borea.process.p_format package": [[7, null]], "borea.process.p_format.p_read_opk module": [[7, "module-borea.process.p_format.p_read_opk"]], "borea.process.p_format.p_write_con module": [[7, "module-borea.process.p_format.p_write_con"]], "borea.process.p_format.p_write_opk module": [[7, "module-borea.process.p_format.p_write_opk"]], "borea.process.p_format.p_write_rpc module": [[7, "module-borea.process.p_format.p_write_rpc"]], "borea.process.p_func package": [[8, null]], "borea.process.p_func.p_control module": [[8, "module-borea.process.p_func.p_control"]], "borea.process.p_func.p_image_world module": [[8, "module-borea.process.p_func.p_image_world"]], "borea.process.p_func.p_spaceresection module": [[8, "module-borea.process.p_func.p_spaceresection"]], "borea.process.p_func.p_world_image module": [[8, "module-borea.process.p_func.p_world_image"]], "borea.reader package": [[9, null]], "borea.reader.orientation package": [[10, null]], "borea.reader.orientation.manage_reader module": [[10, "module-borea.reader.orientation.manage_reader"]], "borea.reader.orientation.reader_opk module": [[10, "module-borea.reader.orientation.reader_opk"]], "borea.reader.reader_camera module": [[9, "module-borea.reader.reader_camera"]], "borea.reader.reader_point module": [[9, "module-borea.reader.reader_point"]], "borea.stat package": [[11, null]], "borea.stat.statistics module": [[11, "module-borea.stat.statistics"]], "borea.transform_world_image package": [[12, null]], "borea.transform_world_image.transform_dtm package": [[13, null]], "borea.transform_world_image.transform_dtm.world_image_dtm module": [[13, "module-borea.transform_world_image.transform_dtm.world_image_dtm"]], "borea.transform_world_image.transform_shot package": [[14, null]], "borea.transform_world_image.transform_shot.conversion_coor_shot module": [[14, "module-borea.transform_world_image.transform_shot.conversion_coor_shot"]], "borea.transform_world_image.transform_shot.image_world_shot module": [[14, "module-borea.transform_world_image.transform_shot.image_world_shot"]], "borea.transform_world_image.transform_shot.world_image_shot module": [[14, "module-borea.transform_world_image.transform_shot.world_image_shot"]], "borea.transform_world_image.transform_worksite package": [[15, null]], "borea.transform_world_image.transform_worksite.image_world_intersection module": [[15, "module-borea.transform_world_image.transform_worksite.image_world_intersection"]], "borea.transform_world_image.transform_worksite.image_world_least_square module": [[15, "module-borea.transform_world_image.transform_worksite.image_world_least_square"]], "borea.transform_world_image.transform_worksite.image_world_work module": [[15, "module-borea.transform_world_image.transform_worksite.image_world_work"]], "borea.transform_world_image.transform_worksite.space_resection module": [[15, "module-borea.transform_world_image.transform_worksite.space_resection"]], "borea.transform_world_image.transform_worksite.world_image_work module": [[15, "module-borea.transform_world_image.transform_worksite.world_image_work"]], "borea.utils package": [[16, null]], "borea.utils.check package": [[17, null]], "borea.utils.check.check_args_opk module": [[17, "module-borea.utils.check.check_args_opk"]], "borea.utils.check.check_args_reader_pt module": [[17, "module-borea.utils.check.check_args_reader_pt"]], "borea.utils.check.check_array module": [[17, "module-borea.utils.check.check_array"]], "borea.utils.check.check_header module": [[17, "module-borea.utils.check.check_header"]], "borea.utils.check.check_order_axe module": [[17, "module-borea.utils.check.check_order_axe"]], "borea.utils.miscellaneous package": [[18, null]], "borea.utils.miscellaneous.miscellaneous module": [[18, "module-borea.utils.miscellaneous.miscellaneous"]], "borea.utils.miscellaneous.param_bundle module": [[18, "module-borea.utils.miscellaneous.param_bundle"]], "borea.utils.miscellaneous.sparse module": [[18, "module-borea.utils.miscellaneous.sparse"]], "borea.utils.singleton package": [[19, null]], "borea.utils.singleton.singleton module": [[19, "module-borea.utils.singleton.singleton"]], "borea.utils.xml package": [[20, null]], "borea.utils.xml.xml module": [[20, "module-borea.utils.xml.xml"]], "borea.worksite package": [[21, null]], "borea.worksite.worksite module": [[21, "module-borea.worksite.worksite"]], "borea.writer package": [[22, null]], "borea.writer.manage_writer module": [[22, "module-borea.writer.manage_writer"]], "borea.writer.writer_con module": [[22, "module-borea.writer.writer_con"]], "borea.writer.writer_df_to_txt module": [[22, "module-borea.writer.writer_df_to_txt"]], "borea.writer.writer_opk module": [[22, "module-borea.writer.writer_opk"]], "borea.writer.writer_rpc module": [[22, "module-borea.writer.writer_rpc"]]}, "docnames": ["borea", "borea.datastruct", "borea.format", "borea.geodesy", "borea.geodesy.projectionlist", "borea.process", "borea.process.p_add_data", "borea.process.p_format", "borea.process.p_func", "borea.reader", "borea.reader.orientation", "borea.stat", "borea.transform_world_image", "borea.transform_world_image.transform_dtm", "borea.transform_world_image.transform_shot", "borea.transform_world_image.transform_worksite", "borea.utils", "borea.utils.check", "borea.utils.miscellaneous", "borea.utils.singleton", "borea.utils.xml", "borea.worksite", "borea.writer", "index", "modules"], "envversion": {"sphinx": 63, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1}, "filenames": ["borea.rst", "borea.datastruct.rst", "borea.format.rst", "borea.geodesy.rst", "borea.geodesy.projectionlist.rst", "borea.process.rst", "borea.process.p_add_data.rst", "borea.process.p_format.rst", "borea.process.p_func.rst", "borea.reader.rst", "borea.reader.orientation.rst", "borea.stat.rst", "borea.transform_world_image.rst", "borea.transform_world_image.transform_dtm.rst", "borea.transform_world_image.transform_shot.rst", "borea.transform_world_image.transform_worksite.rst", "borea.utils.rst", "borea.utils.check.rst", "borea.utils.miscellaneous.rst", "borea.utils.singleton.rst", "borea.utils.xml.rst", "borea.worksite.rst", "borea.writer.rst", "index.rst", "modules.rst"], "indexentries": {"add_camera() (borea.datastruct.workdata.workdata method)": [[1, "borea.datastruct.workdata.Workdata.add_camera", false]], "add_co_point() (borea.datastruct.workdata.workdata method)": [[1, "borea.datastruct.workdata.Workdata.add_co_point", false]], "add_elem() (in module borea.utils.xml.xml)": [[20, "borea.utils.xml.xml.add_elem", false]], "add_gcp2d() (borea.datastruct.workdata.workdata method)": [[1, "borea.datastruct.workdata.Workdata.add_gcp2d", false]], "add_gcp3d() (borea.datastruct.workdata.workdata method)": [[1, "borea.datastruct.workdata.Workdata.add_gcp3d", false]], "add_shot() (borea.datastruct.workdata.workdata method)": [[1, "borea.datastruct.workdata.Workdata.add_shot", false]], "angle_degree_2vect() (in module borea.utils.miscellaneous.miscellaneous)": [[18, "borea.utils.miscellaneous.miscellaneous.angle_degree_2vect", false]], "approxeuclideanproj (class in borea.geodesy.approx_euclidean_proj)": [[3, "borea.geodesy.approx_euclidean_proj.ApproxEuclideanProj", false]], "args_add_pt2d() (in module borea.process.p_add_data.p_pt2d)": [[6, "borea.process.p_add_data.p_pt2d.args_add_pt2d", false]], "args_add_pt3d() (in module borea.process.p_add_data.p_pt3d)": [[6, "borea.process.p_add_data.p_pt3d.args_add_pt3d", false]], "args_add_shot() (in module borea.process.p_add_data.p_add_shot)": [[6, "borea.process.p_add_data.p_add_shot.args_add_shot", false]], "args_control() (in module borea.process.p_func.p_control)": [[8, "borea.process.p_func.p_control.args_control", false]], "args_gcp2d() (in module borea.process.p_add_data.p_file_gcp2d)": [[6, "borea.process.p_add_data.p_file_gcp2d.args_gcp2d", false]], "args_gcp3d() (in module borea.process.p_add_data.p_file_gcp3d)": [[6, "borea.process.p_add_data.p_file_gcp3d.args_gcp3d", false]], "args_general_param() (in module borea.process.p_add_data.p_gen_param)": [[6, "borea.process.p_add_data.p_gen_param.args_general_param", false]], "args_image_world() (in module borea.process.p_func.p_image_world)": [[8, "borea.process.p_func.p_image_world.args_image_world", false]], "args_input_shot() (in module borea.process.p_add_data.p_unit_shot)": [[6, "borea.process.p_add_data.p_unit_shot.args_input_shot", false]], "args_output_shot() (in module borea.process.p_add_data.p_unit_shot)": [[6, "borea.process.p_add_data.p_unit_shot.args_output_shot", false]], "args_reading_opk() (in module borea.process.p_format.p_read_opk)": [[7, "borea.process.p_format.p_read_opk.args_reading_opk", false]], "args_space_resection() (in module borea.process.p_func.p_spaceresection)": [[8, "borea.process.p_func.p_spaceresection.args_space_resection", false]], "args_world_image() (in module borea.process.p_func.p_world_image)": [[8, "borea.process.p_func.p_world_image.args_world_image", false]], "args_write_con() (in module borea.process.p_format.p_write_con)": [[7, "borea.process.p_format.p_write_con.args_write_con", false]], "args_writer() (in module borea.process.p_add_data.p_write)": [[6, "borea.process.p_add_data.p_write.args_writer", false]], "args_writing_opk() (in module borea.process.p_format.p_write_opk)": [[7, "borea.process.p_format.p_write_opk.args_writing_opk", false]], "args_writing_rpc() (in module borea.process.p_format.p_write_rpc)": [[7, "borea.process.p_format.p_write_rpc.args_writing_rpc", false]], "borea": [[0, "module-borea", false]], "borea.datastruct": [[1, "module-borea.datastruct", false]], "borea.datastruct.camera": [[1, "module-borea.datastruct.camera", false]], "borea.datastruct.dtm": [[1, "module-borea.datastruct.dtm", false]], "borea.datastruct.gcp": [[1, "module-borea.datastruct.gcp", false]], "borea.datastruct.shot": [[1, "module-borea.datastruct.shot", false]], "borea.datastruct.workdata": [[1, "module-borea.datastruct.workdata", false]], "borea.format": [[2, "module-borea.format", false]], "borea.format.conl": [[2, "module-borea.format.conl", false]], "borea.format.rpc": [[2, "module-borea.format.rpc", false]], "borea.geodesy": [[3, "module-borea.geodesy", false]], "borea.geodesy.approx_euclidean_proj": [[3, "module-borea.geodesy.approx_euclidean_proj", false]], "borea.geodesy.euclidean_proj": [[3, "module-borea.geodesy.euclidean_proj", false]], "borea.geodesy.local_euclidean_proj": [[3, "module-borea.geodesy.local_euclidean_proj", false]], "borea.geodesy.proj_engine": [[3, "module-borea.geodesy.proj_engine", false]], "borea.geodesy.projectionlist": [[4, "module-borea.geodesy.projectionlist", false]], "borea.geodesy.projectionlist.search_proj": [[4, "module-borea.geodesy.projectionlist.search_proj", false]], "borea.geodesy.transform_geodesy": [[3, "module-borea.geodesy.transform_geodesy", false]], "borea.process": [[5, "module-borea.process", false]], "borea.process.p_add_data": [[6, "module-borea.process.p_add_data", false]], "borea.process.p_add_data.p_add_shot": [[6, "module-borea.process.p_add_data.p_add_shot", false]], "borea.process.p_add_data.p_file_gcp2d": [[6, "module-borea.process.p_add_data.p_file_gcp2d", false]], "borea.process.p_add_data.p_file_gcp3d": [[6, "module-borea.process.p_add_data.p_file_gcp3d", false]], "borea.process.p_add_data.p_gen_param": [[6, "module-borea.process.p_add_data.p_gen_param", false]], "borea.process.p_add_data.p_pt2d": [[6, "module-borea.process.p_add_data.p_pt2d", false]], "borea.process.p_add_data.p_pt3d": [[6, "module-borea.process.p_add_data.p_pt3d", false]], "borea.process.p_add_data.p_unit_shot": [[6, "module-borea.process.p_add_data.p_unit_shot", false]], "borea.process.p_add_data.p_write": [[6, "module-borea.process.p_add_data.p_write", false]], "borea.process.p_format": [[7, "module-borea.process.p_format", false]], "borea.process.p_format.p_read_opk": [[7, "module-borea.process.p_format.p_read_opk", false]], "borea.process.p_format.p_write_con": [[7, "module-borea.process.p_format.p_write_con", false]], "borea.process.p_format.p_write_opk": [[7, "module-borea.process.p_format.p_write_opk", false]], "borea.process.p_format.p_write_rpc": [[7, "module-borea.process.p_format.p_write_rpc", false]], "borea.process.p_func": [[8, "module-borea.process.p_func", false]], "borea.process.p_func.p_control": [[8, "module-borea.process.p_func.p_control", false]], "borea.process.p_func.p_image_world": [[8, "module-borea.process.p_func.p_image_world", false]], "borea.process.p_func.p_spaceresection": [[8, "module-borea.process.p_func.p_spaceresection", false]], "borea.process.p_func.p_world_image": [[8, "module-borea.process.p_func.p_world_image", false]], "borea.reader": [[9, "module-borea.reader", false]], "borea.reader.orientation": [[10, "module-borea.reader.orientation", false]], "borea.reader.orientation.manage_reader": [[10, "module-borea.reader.orientation.manage_reader", false]], "borea.reader.orientation.reader_opk": [[10, "module-borea.reader.orientation.reader_opk", false]], "borea.reader.reader_camera": [[9, "module-borea.reader.reader_camera", false]], "borea.reader.reader_point": [[9, "module-borea.reader.reader_point", false]], "borea.stat": [[11, "module-borea.stat", false]], "borea.stat.statistics": [[11, "module-borea.stat.statistics", false]], "borea.transform_world_image": [[12, "module-borea.transform_world_image", false]], "borea.transform_world_image.transform_dtm": [[13, "module-borea.transform_world_image.transform_dtm", false]], "borea.transform_world_image.transform_dtm.world_image_dtm": [[13, "module-borea.transform_world_image.transform_dtm.world_image_dtm", false]], "borea.transform_world_image.transform_shot": [[14, "module-borea.transform_world_image.transform_shot", false]], "borea.transform_world_image.transform_shot.conversion_coor_shot": [[14, "module-borea.transform_world_image.transform_shot.conversion_coor_shot", false]], "borea.transform_world_image.transform_shot.image_world_shot": [[14, "module-borea.transform_world_image.transform_shot.image_world_shot", false]], "borea.transform_world_image.transform_shot.world_image_shot": [[14, "module-borea.transform_world_image.transform_shot.world_image_shot", false]], "borea.transform_world_image.transform_worksite": [[15, "module-borea.transform_world_image.transform_worksite", false]], "borea.transform_world_image.transform_worksite.image_world_intersection": [[15, "module-borea.transform_world_image.transform_worksite.image_world_intersection", false]], "borea.transform_world_image.transform_worksite.image_world_least_square": [[15, "module-borea.transform_world_image.transform_worksite.image_world_least_square", false]], "borea.transform_world_image.transform_worksite.image_world_work": [[15, "module-borea.transform_world_image.transform_worksite.image_world_work", false]], "borea.transform_world_image.transform_worksite.space_resection": [[15, "module-borea.transform_world_image.transform_worksite.space_resection", false]], "borea.transform_world_image.transform_worksite.world_image_work": [[15, "module-borea.transform_world_image.transform_worksite.world_image_work", false]], "borea.utils": [[16, "module-borea.utils", false]], "borea.utils.check": [[17, "module-borea.utils.check", false]], "borea.utils.check.check_args_opk": [[17, "module-borea.utils.check.check_args_opk", false]], "borea.utils.check.check_args_reader_pt": [[17, "module-borea.utils.check.check_args_reader_pt", false]], "borea.utils.check.check_array": [[17, "module-borea.utils.check.check_array", false]], "borea.utils.check.check_header": [[17, "module-borea.utils.check.check_header", false]], "borea.utils.check.check_order_axe": [[17, "module-borea.utils.check.check_order_axe", false]], "borea.utils.miscellaneous": [[18, "module-borea.utils.miscellaneous", false]], "borea.utils.miscellaneous.miscellaneous": [[18, "module-borea.utils.miscellaneous.miscellaneous", false]], "borea.utils.miscellaneous.param_bundle": [[18, "module-borea.utils.miscellaneous.param_bundle", false]], "borea.utils.miscellaneous.sparse": [[18, "module-borea.utils.miscellaneous.sparse", false]], "borea.utils.singleton": [[19, "module-borea.utils.singleton", false]], "borea.utils.singleton.singleton": [[19, "module-borea.utils.singleton.singleton", false]], "borea.utils.xml": [[20, "module-borea.utils.xml", false]], "borea.utils.xml.xml": [[20, "module-borea.utils.xml.xml", false]], "borea.worksite": [[21, "module-borea.worksite", false]], "borea.worksite.worksite": [[21, "module-borea.worksite.worksite", false]], "borea.writer": [[22, "module-borea.writer", false]], "borea.writer.manage_writer": [[22, "module-borea.writer.manage_writer", false]], "borea.writer.writer_con": [[22, "module-borea.writer.writer_con", false]], "borea.writer.writer_df_to_txt": [[22, "module-borea.writer.writer_df_to_txt", false]], "borea.writer.writer_opk": [[22, "module-borea.writer.writer_opk", false]], "borea.writer.writer_rpc": [[22, "module-borea.writer.writer_rpc", false]], "bundle_to_image() (borea.transform_world_image.transform_shot.world_image_shot.worldimageshot method)": [[14, "borea.transform_world_image.transform_shot.world_image_shot.WorldImageShot.bundle_to_image", false]], "calculate_barycentre() (borea.worksite.worksite.worksite method)": [[21, "borea.worksite.worksite.Worksite.calculate_barycentre", false]], "calculate_image_world_by_intersection() (borea.transform_world_image.transform_worksite.image_world_intersection.worldintersection method)": [[15, "borea.transform_world_image.transform_worksite.image_world_intersection.WorldIntersection.calculate_image_world_by_intersection", false]], "calculate_world_to_image() (borea.transform_world_image.transform_worksite.world_image_work.worldimagework method)": [[15, "borea.transform_world_image.transform_worksite.world_image_work.WorldImageWork.calculate_world_to_image", false]], "cam (borea.format.conl.conl attribute)": [[2, "borea.format.conl.Conl.cam", false]], "camera (class in borea.datastruct.camera)": [[1, "borea.datastruct.camera.Camera", false]], "camera_txt() (in module borea.reader.reader_camera)": [[9, "borea.reader.reader_camera.camera_txt", false]], "carto_to_geoc (borea.geodesy.transform_geodesy.transformgeodesy property)": [[3, "borea.geodesy.transform_geodesy.TransformGeodesy.carto_to_geoc", false]], "carto_to_geog (borea.geodesy.transform_geodesy.transformgeodesy property)": [[3, "borea.geodesy.transform_geodesy.TransformGeodesy.carto_to_geog", false]], "check_args_opk() (in module borea.utils.check.check_args_opk)": [[17, "borea.utils.check.check_args_opk.check_args_opk", false]], "check_array_transfo() (in module borea.utils.check.check_array)": [[17, "borea.utils.check.check_array.check_array_transfo", false]], "check_h_z() (in module borea.utils.check.check_header)": [[17, "borea.utils.check.check_header.check_h_z", false]], "check_head() (in module borea.utils.check.check_header)": [[17, "borea.utils.check.check_header.check_head", false]], "check_header_file() (in module borea.utils.check.check_args_opk)": [[17, "borea.utils.check.check_args_opk.check_header_file", false]], "check_header_file() (in module borea.utils.check.check_args_reader_pt)": [[17, "borea.utils.check.check_args_reader_pt.check_header_file", false]], "check_order_axe() (in module borea.utils.check.check_order_axe)": [[17, "borea.utils.check.check_order_axe.check_order_axe", false]], "clear() (borea.utils.singleton.singleton.singleton method)": [[19, "borea.utils.singleton.singleton.Singleton.clear", false]], "code (borea.datastruct.gcp.gcp attribute)": [[1, "borea.datastruct.gcp.GCP.code", false]], "comput_inter_in_2_more_distant_shot() (borea.transform_world_image.transform_worksite.image_world_intersection.worldintersection method)": [[15, "borea.transform_world_image.transform_worksite.image_world_intersection.WorldIntersection.comput_inter_in_2_more_distant_shot", false]], "compute_image_world_least_square() (borea.transform_world_image.transform_worksite.image_world_least_square.worldleastsquare method)": [[15, "borea.transform_world_image.transform_worksite.image_world_least_square.WorldLeastSquare.compute_image_world_least_square", false]], "conl (class in borea.format.conl)": [[2, "borea.format.conl.Conl", false]], "conv_output_z_type() (in module borea.transform_world_image.transform_shot.conversion_coor_shot)": [[14, "borea.transform_world_image.transform_shot.conversion_coor_shot.conv_output_z_type", false]], "conv_z_shot_to_z_data() (in module borea.transform_world_image.transform_shot.conversion_coor_shot)": [[14, "borea.transform_world_image.transform_shot.conversion_coor_shot.conv_z_shot_to_z_data", false]], "convert_line_list() (in module borea.geodesy.projectionlist.search_proj)": [[4, "borea.geodesy.projectionlist.search_proj.convert_line_list", false]], "convert_opk_to_xyz() (in module borea.utils.check.check_order_axe)": [[17, "borea.utils.check.check_order_axe.convert_opk_to_xyz", false]], "coor (borea.datastruct.gcp.gcp attribute)": [[1, "borea.datastruct.gcp.GCP.coor", false]], "create_grid_rpc() (borea.format.rpc.rpc method)": [[2, "borea.format.rpc.Rpc.create_grid_rpc", false]], "create_mat_a_and_vect_residu() (borea.transform_world_image.transform_worksite.image_world_least_square.worldleastsquare method)": [[15, "borea.transform_world_image.transform_worksite.image_world_least_square.WorldLeastSquare.create_mat_a_and_vect_residu", false]], "dist_2pts() (in module borea.utils.miscellaneous.miscellaneous)": [[18, "borea.utils.miscellaneous.miscellaneous.dist_2pts", false]], "dtm (class in borea.datastruct.dtm)": [[1, "borea.datastruct.dtm.Dtm", false]], "epsg (borea.geodesy.proj_engine.projengine attribute)": [[3, "borea.geodesy.proj_engine.ProjEngine.epsg", false]], "epsg_output (borea.geodesy.proj_engine.projengine attribute)": [[3, "borea.geodesy.proj_engine.ProjEngine.epsg_output", false]], "eucli_to_bundle() (borea.transform_world_image.transform_shot.world_image_shot.worldimageshot method)": [[14, "borea.transform_world_image.transform_shot.world_image_shot.WorldImageShot.eucli_to_bundle", false]], "eucli_to_image() (borea.transform_world_image.transform_shot.world_image_shot.worldimageshot method)": [[14, "borea.transform_world_image.transform_shot.world_image_shot.WorldImageShot.eucli_to_image", false]], "eucli_to_world() (borea.geodesy.approx_euclidean_proj.approxeuclideanproj method)": [[3, "borea.geodesy.approx_euclidean_proj.ApproxEuclideanProj.eucli_to_world", false]], "eucli_to_world() (borea.geodesy.local_euclidean_proj.localeuclideanproj method)": [[3, "borea.geodesy.local_euclidean_proj.LocalEuclideanProj.eucli_to_world", false]], "euclideanproj (class in borea.geodesy.euclidean_proj)": [[3, "borea.geodesy.euclidean_proj.EuclideanProj", false]], "focal (borea.datastruct.camera.camera attribute)": [[1, "borea.datastruct.camera.Camera.focal", false]], "format_xml() (in module borea.utils.xml.xml)": [[20, "borea.utils.xml.xml.format_xml", false]], "from_param_euclidean() (borea.datastruct.shot.shot class method)": [[1, "borea.datastruct.shot.Shot.from_param_euclidean", false]], "from_shot() (borea.format.rpc.rpc class method)": [[2, "borea.format.rpc.Rpc.from_shot", false]], "func_least_square() (borea.transform_world_image.transform_worksite.space_resection.spaceresection method)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection.func_least_square", false]], "gcp (class in borea.datastruct.gcp)": [[1, "borea.datastruct.gcp.GCP", false]], "geoc_to_carto (borea.geodesy.transform_geodesy.transformgeodesy property)": [[3, "borea.geodesy.transform_geodesy.TransformGeodesy.geoc_to_carto", false]], "geog_to_carto (borea.geodesy.transform_geodesy.transformgeodesy property)": [[3, "borea.geodesy.transform_geodesy.TransformGeodesy.geog_to_carto", false]], "geog_to_geoid (borea.geodesy.transform_geodesy.transformgeodesy property)": [[3, "borea.geodesy.transform_geodesy.TransformGeodesy.geog_to_geoid", false]], "geoid (borea.geodesy.proj_engine.projengine attribute)": [[3, "borea.geodesy.proj_engine.ProjEngine.geoid", false]], "geoid_to_geog (borea.geodesy.transform_geodesy.transformgeodesy property)": [[3, "borea.geodesy.transform_geodesy.TransformGeodesy.geoid_to_geog", false]], "get_attr_transfo_pt() (borea.worksite.worksite.worksite method)": [[21, "borea.worksite.worksite.Worksite.get_attr_transfo_pt", false]], "get_coor_pt_img_and_world() (borea.worksite.worksite.worksite method)": [[21, "borea.worksite.worksite.Worksite.get_coor_pt_img_and_world", false]], "get_meridian_convergence() (borea.geodesy.proj_engine.projengine method)": [[3, "borea.geodesy.proj_engine.ProjEngine.get_meridian_convergence", false]], "get_point_image_dataframe() (borea.worksite.worksite.worksite method)": [[21, "borea.worksite.worksite.Worksite.get_point_image_dataframe", false]], "get_point_world_dataframe() (borea.worksite.worksite.worksite method)": [[21, "borea.worksite.worksite.Worksite.get_point_world_dataframe", false]], "get_scale_factor() (borea.geodesy.proj_engine.projengine method)": [[3, "borea.geodesy.proj_engine.ProjEngine.get_scale_factor", false]], "get_type_z_and_header() (in module borea.utils.check.check_header)": [[17, "borea.utils.check.check_header.get_type_z_and_header", false]], "get_z_add_scale_factor() (borea.datastruct.shot.shot method)": [[1, "borea.datastruct.shot.Shot.get_z_add_scale_factor", false]], "get_z_remove_scale_factor() (borea.datastruct.shot.shot method)": [[1, "borea.datastruct.shot.Shot.get_z_remove_scale_factor", false]], "get_z_world() (borea.datastruct.dtm.dtm method)": [[1, "borea.datastruct.dtm.Dtm.get_z_world", false]], "height (borea.datastruct.camera.camera attribute)": [[1, "borea.datastruct.camera.Camera.height", false]], "image_to_bundle() (borea.transform_world_image.transform_shot.image_world_shot.imageworldshot method)": [[14, "borea.transform_world_image.transform_shot.image_world_shot.ImageWorldShot.image_to_bundle", false]], "image_to_world() (borea.transform_world_image.transform_dtm.world_image_dtm.worldimagedtm method)": [[13, "borea.transform_world_image.transform_dtm.world_image_dtm.WorldImageDtm.image_to_world", false]], "image_to_world() (borea.transform_world_image.transform_shot.image_world_shot.imageworldshot method)": [[14, "borea.transform_world_image.transform_shot.image_world_shot.ImageWorldShot.image_to_world", false]], "image_world_iter() (borea.transform_world_image.transform_shot.image_world_shot.imageworldshot method)": [[14, "borea.transform_world_image.transform_shot.image_world_shot.ImageWorldShot.image_world_iter", false]], "image_z_to_world() (borea.transform_world_image.transform_shot.image_world_shot.imageworldshot method)": [[14, "borea.transform_world_image.transform_shot.image_world_shot.ImageWorldShot.image_z_to_world", false]], "imageworldshot (class in borea.transform_world_image.transform_shot.image_world_shot)": [[14, "borea.transform_world_image.transform_shot.image_world_shot.ImageWorldShot", false]], "imageworldwork (class in borea.transform_world_image.transform_worksite.image_world_work)": [[15, "borea.transform_world_image.transform_worksite.image_world_work.ImageWorldWork", false]], "indent() (in module borea.utils.xml.xml)": [[20, "borea.utils.xml.xml.indent", false]], "init_eucli_points() (borea.transform_world_image.transform_worksite.image_world_least_square.worldleastsquare method)": [[15, "borea.transform_world_image.transform_worksite.image_world_least_square.WorldLeastSquare.init_eucli_points", false]], "init_kappa() (borea.transform_world_image.transform_worksite.space_resection.spaceresection method)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection.init_kappa", false]], "intersection_line_3d() (borea.transform_world_image.transform_worksite.image_world_intersection.worldintersection method)": [[15, "borea.transform_world_image.transform_worksite.image_world_intersection.WorldIntersection.intersection_line_3d", false]], "intersection_pt_in_2shot() (borea.transform_world_image.transform_worksite.image_world_intersection.worldintersection method)": [[15, "borea.transform_world_image.transform_worksite.image_world_intersection.WorldIntersection.intersection_pt_in_2shot", false]], "invert_diag_sparse_matrix_3_3() (in module borea.utils.miscellaneous.sparse)": [[18, "borea.utils.miscellaneous.sparse.invert_diag_sparse_matrix_3_3", false]], "least_square_intersect() (borea.transform_world_image.transform_worksite.image_world_least_square.worldleastsquare method)": [[15, "borea.transform_world_image.transform_worksite.image_world_least_square.WorldLeastSquare.least_square_intersect", false]], "least_square_rpc() (borea.format.rpc.rpc method)": [[2, "borea.format.rpc.Rpc.least_square_rpc", false]], "least_square_shot() (borea.transform_world_image.transform_worksite.space_resection.spaceresection method)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection.least_square_shot", false]], "local_to_eucli() (borea.transform_world_image.transform_shot.image_world_shot.imageworldshot method)": [[14, "borea.transform_world_image.transform_shot.image_world_shot.ImageWorldShot.local_to_eucli", false]], "localeuclideanproj (class in borea.geodesy.local_euclidean_proj)": [[3, "borea.geodesy.local_euclidean_proj.LocalEuclideanProj", false]], "main_stat_and_save() (borea.stat.statistics.stat method)": [[11, "borea.stat.statistics.Stat.main_stat_and_save", false]], "main_stat_image_to_world() (borea.stat.statistics.stat method)": [[11, "borea.stat.statistics.Stat.main_stat_image_to_world", false]], "main_stat_world_to_image() (borea.stat.statistics.stat method)": [[11, "borea.stat.statistics.Stat.main_stat_world_to_image", false]], "manage_image_world() (borea.transform_world_image.transform_worksite.image_world_work.imageworldwork method)": [[15, "borea.transform_world_image.transform_worksite.image_world_work.ImageWorldWork.manage_image_world", false]], "manager_writer() (in module borea.writer.manage_writer)": [[22, "borea.writer.manage_writer.manager_writer", false]], "mat_eucli_to_mat() (borea.geodesy.approx_euclidean_proj.approxeuclideanproj method)": [[3, "borea.geodesy.approx_euclidean_proj.ApproxEuclideanProj.mat_eucli_to_mat", false]], "mat_eucli_to_mat() (borea.geodesy.local_euclidean_proj.localeuclideanproj method)": [[3, "borea.geodesy.local_euclidean_proj.LocalEuclideanProj.mat_eucli_to_mat", false]], "mat_obs_axia() (borea.transform_world_image.transform_worksite.space_resection.spaceresection method)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection.mat_obs_axia", false]], "mat_rot_euclidean_local() (borea.geodesy.local_euclidean_proj.localeuclideanproj method)": [[3, "borea.geodesy.local_euclidean_proj.LocalEuclideanProj.mat_rot_euclidean_local", false]], "mat_to_mat_eucli() (borea.geodesy.approx_euclidean_proj.approxeuclideanproj method)": [[3, "borea.geodesy.approx_euclidean_proj.ApproxEuclideanProj.mat_to_mat_eucli", false]], "mat_to_mat_eucli() (borea.geodesy.local_euclidean_proj.localeuclideanproj method)": [[3, "borea.geodesy.local_euclidean_proj.LocalEuclideanProj.mat_to_mat_eucli", false]], "min_max_pt() (in module borea.utils.miscellaneous.miscellaneous)": [[18, "borea.utils.miscellaneous.miscellaneous.min_max_pt", false]], "module": [[0, "module-borea", false], [1, "module-borea.datastruct", false], [1, "module-borea.datastruct.camera", false], [1, "module-borea.datastruct.dtm", false], [1, "module-borea.datastruct.gcp", false], [1, "module-borea.datastruct.shot", false], [1, "module-borea.datastruct.workdata", false], [2, "module-borea.format", false], [2, "module-borea.format.conl", false], [2, "module-borea.format.rpc", false], [3, "module-borea.geodesy", false], [3, "module-borea.geodesy.approx_euclidean_proj", false], [3, "module-borea.geodesy.euclidean_proj", false], [3, "module-borea.geodesy.local_euclidean_proj", false], [3, "module-borea.geodesy.proj_engine", false], [3, "module-borea.geodesy.transform_geodesy", false], [4, "module-borea.geodesy.projectionlist", false], [4, "module-borea.geodesy.projectionlist.search_proj", false], [5, "module-borea.process", false], [6, "module-borea.process.p_add_data", false], [6, "module-borea.process.p_add_data.p_add_shot", false], [6, "module-borea.process.p_add_data.p_file_gcp2d", false], [6, "module-borea.process.p_add_data.p_file_gcp3d", false], [6, "module-borea.process.p_add_data.p_gen_param", false], [6, "module-borea.process.p_add_data.p_pt2d", false], [6, "module-borea.process.p_add_data.p_pt3d", false], [6, "module-borea.process.p_add_data.p_unit_shot", false], [6, "module-borea.process.p_add_data.p_write", false], [7, "module-borea.process.p_format", false], [7, "module-borea.process.p_format.p_read_opk", false], [7, "module-borea.process.p_format.p_write_con", false], [7, "module-borea.process.p_format.p_write_opk", false], [7, "module-borea.process.p_format.p_write_rpc", false], [8, "module-borea.process.p_func", false], [8, "module-borea.process.p_func.p_control", false], [8, "module-borea.process.p_func.p_image_world", false], [8, "module-borea.process.p_func.p_spaceresection", false], [8, "module-borea.process.p_func.p_world_image", false], [9, "module-borea.reader", false], [9, "module-borea.reader.reader_camera", false], [9, "module-borea.reader.reader_point", false], [10, "module-borea.reader.orientation", false], [10, "module-borea.reader.orientation.manage_reader", false], [10, "module-borea.reader.orientation.reader_opk", false], [11, "module-borea.stat", false], [11, "module-borea.stat.statistics", false], [12, "module-borea.transform_world_image", false], [13, "module-borea.transform_world_image.transform_dtm", false], [13, "module-borea.transform_world_image.transform_dtm.world_image_dtm", false], [14, "module-borea.transform_world_image.transform_shot", false], [14, "module-borea.transform_world_image.transform_shot.conversion_coor_shot", false], [14, "module-borea.transform_world_image.transform_shot.image_world_shot", false], [14, "module-borea.transform_world_image.transform_shot.world_image_shot", false], [15, "module-borea.transform_world_image.transform_worksite", false], [15, "module-borea.transform_world_image.transform_worksite.image_world_intersection", false], [15, "module-borea.transform_world_image.transform_worksite.image_world_least_square", false], [15, "module-borea.transform_world_image.transform_worksite.image_world_work", false], [15, "module-borea.transform_world_image.transform_worksite.space_resection", false], [15, "module-borea.transform_world_image.transform_worksite.world_image_work", false], [16, "module-borea.utils", false], [17, "module-borea.utils.check", false], [17, "module-borea.utils.check.check_args_opk", false], [17, "module-borea.utils.check.check_args_reader_pt", false], [17, "module-borea.utils.check.check_array", false], [17, "module-borea.utils.check.check_header", false], [17, "module-borea.utils.check.check_order_axe", false], [18, "module-borea.utils.miscellaneous", false], [18, "module-borea.utils.miscellaneous.miscellaneous", false], [18, "module-borea.utils.miscellaneous.param_bundle", false], [18, "module-borea.utils.miscellaneous.sparse", false], [19, "module-borea.utils.singleton", false], [19, "module-borea.utils.singleton.singleton", false], [20, "module-borea.utils.xml", false], [20, "module-borea.utils.xml.xml", false], [21, "module-borea.worksite", false], [21, "module-borea.worksite.worksite", false], [22, "module-borea.writer", false], [22, "module-borea.writer.manage_writer", false], [22, "module-borea.writer.writer_con", false], [22, "module-borea.writer.writer_df_to_txt", false], [22, "module-borea.writer.writer_opk", false], [22, "module-borea.writer.writer_rpc", false]], "name_camera (borea.datastruct.camera.camera attribute)": [[1, "borea.datastruct.camera.Camera.name_camera", false]], "name_gcp (borea.datastruct.gcp.gcp attribute)": [[1, "borea.datastruct.gcp.GCP.name_gcp", false]], "normalize() (in module borea.utils.miscellaneous.miscellaneous)": [[18, "borea.utils.miscellaneous.miscellaneous.normalize", false]], "normalize_data() (borea.format.rpc.rpc method)": [[2, "borea.format.rpc.Rpc.normalize_data", false]], "ppax (borea.datastruct.camera.camera attribute)": [[1, "borea.datastruct.camera.Camera.ppax", false]], "ppay (borea.datastruct.camera.camera attribute)": [[1, "borea.datastruct.camera.Camera.ppay", false]], "process_add_shot() (in module borea.process.p_add_data.p_add_shot)": [[6, "borea.process.p_add_data.p_add_shot.process_add_shot", false]], "process_args_control() (in module borea.process.p_func.p_control)": [[8, "borea.process.p_func.p_control.process_args_control", false]], "process_args_gen_param() (in module borea.process.p_add_data.p_gen_param)": [[6, "borea.process.p_add_data.p_gen_param.process_args_gen_param", false]], "process_args_read_opk() (in module borea.process.p_format.p_read_opk)": [[7, "borea.process.p_format.p_read_opk.process_args_read_opk", false]], "process_args_write_con() (in module borea.process.p_format.p_write_con)": [[7, "borea.process.p_format.p_write_con.process_args_write_con", false]], "process_args_write_opk() (in module borea.process.p_format.p_write_opk)": [[7, "borea.process.p_format.p_write_opk.process_args_write_opk", false]], "process_args_write_rpc() (in module borea.process.p_format.p_write_rpc)": [[7, "borea.process.p_format.p_write_rpc.process_args_write_rpc", false]], "process_gcp2d() (in module borea.process.p_add_data.p_file_gcp2d)": [[6, "borea.process.p_add_data.p_file_gcp2d.process_gcp2d", false]], "process_gcp3d() (in module borea.process.p_add_data.p_file_gcp3d)": [[6, "borea.process.p_add_data.p_file_gcp3d.process_gcp3d", false]], "process_image_world() (in module borea.process.p_add_data.p_pt2d)": [[6, "borea.process.p_add_data.p_pt2d.process_image_world", false]], "process_image_world() (in module borea.process.p_func.p_image_world)": [[8, "borea.process.p_func.p_image_world.process_image_world", false]], "process_space_resection() (in module borea.process.p_func.p_spaceresection)": [[8, "borea.process.p_func.p_spaceresection.process_space_resection", false]], "process_world_image() (in module borea.process.p_add_data.p_pt3d)": [[6, "borea.process.p_add_data.p_pt3d.process_world_image", false]], "process_world_image() (in module borea.process.p_func.p_world_image)": [[8, "borea.process.p_func.p_world_image.process_world_image", false]], "proj (borea.format.conl.conl attribute)": [[2, "borea.format.conl.Conl.proj", false]], "projengine (class in borea.geodesy.proj_engine)": [[3, "borea.geodesy.proj_engine.ProjEngine", false]], "read() (in module borea.reader.orientation.reader_opk)": [[10, "borea.reader.orientation.reader_opk.read", false]], "read_camera() (in module borea.reader.reader_camera)": [[9, "borea.reader.reader_camera.read_camera", false]], "read_file_pt() (in module borea.reader.reader_point)": [[9, "borea.reader.reader_point.read_file_pt", false]], "read_file_pt_dataframe() (in module borea.reader.reader_point)": [[9, "borea.reader.reader_point.read_file_pt_dataframe", false]], "reader_orientation() (in module borea.reader.orientation.manage_reader)": [[10, "borea.reader.orientation.manage_reader.reader_orientation", false]], "rpc (class in borea.format.rpc)": [[2, "borea.format.rpc.Rpc", false]], "save_conl() (borea.format.conl.conl method)": [[2, "borea.format.conl.Conl.save_conl", false]], "save_stat_txt() (borea.stat.statistics.stat method)": [[11, "borea.stat.statistics.Stat.save_stat_txt", false]], "search_info() (in module borea.geodesy.projectionlist.search_proj)": [[4, "borea.geodesy.projectionlist.search_proj.search_info", false]], "seed_20_point() (borea.transform_world_image.transform_worksite.space_resection.spaceresection method)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection.seed_20_point", false]], "set_approx_eucli_proj() (borea.datastruct.workdata.workdata method)": [[1, "borea.datastruct.workdata.Workdata.set_approx_eucli_proj", false]], "set_camera_xml() (borea.format.conl.conl method)": [[2, "borea.format.conl.Conl.set_camera_xml", false]], "set_cval() (borea.datastruct.dtm.dtm method)": [[1, "borea.datastruct.dtm.Dtm.set_cval", false]], "set_dtm() (borea.datastruct.dtm.dtm method)": [[1, "borea.datastruct.dtm.Dtm.set_dtm", false]], "set_dtm() (borea.datastruct.workdata.workdata method)": [[1, "borea.datastruct.workdata.Workdata.set_dtm", false]], "set_epsg() (borea.geodesy.proj_engine.projengine method)": [[3, "borea.geodesy.proj_engine.ProjEngine.set_epsg", false]], "set_epsg_tf_geog_output() (borea.geodesy.proj_engine.projengine method)": [[3, "borea.geodesy.proj_engine.ProjEngine.set_epsg_tf_geog_output", false]], "set_geometry_xml() (borea.format.conl.conl method)": [[2, "borea.format.conl.Conl.set_geometry_xml", false]], "set_keep_memory() (borea.datastruct.dtm.dtm method)": [[1, "borea.datastruct.dtm.Dtm.set_keep_memory", false]], "set_linear_alteration() (borea.datastruct.shot.shot method)": [[1, "borea.datastruct.shot.Shot.set_linear_alteration", false]], "set_order() (borea.datastruct.dtm.dtm method)": [[1, "borea.datastruct.dtm.Dtm.set_order", false]], "set_order_axe() (borea.datastruct.shot.shot method)": [[1, "borea.datastruct.shot.Shot.set_order_axe", false]], "set_param_bundle_diff() (in module borea.utils.miscellaneous.param_bundle)": [[18, "borea.utils.miscellaneous.param_bundle.set_param_bundle_diff", false]], "set_param_eucli_shot() (borea.datastruct.shot.shot method)": [[1, "borea.datastruct.shot.Shot.set_param_eucli_shot", false]], "set_param_shot() (borea.worksite.worksite.worksite method)": [[21, "borea.worksite.worksite.Worksite.set_param_shot", false]], "set_point_image_dataframe() (borea.worksite.worksite.worksite method)": [[21, "borea.worksite.worksite.Worksite.set_point_image_dataframe", false]], "set_point_world_dataframe() (borea.worksite.worksite.worksite method)": [[21, "borea.worksite.worksite.Worksite.set_point_world_dataframe", false]], "set_proj() (borea.datastruct.workdata.workdata method)": [[1, "borea.datastruct.workdata.Workdata.set_proj", false]], "set_rot_shot() (borea.datastruct.shot.shot method)": [[1, "borea.datastruct.shot.Shot.set_rot_shot", false]], "set_type_z() (borea.datastruct.shot.shot method)": [[1, "borea.datastruct.shot.Shot.set_type_z", false]], "set_type_z_data() (borea.datastruct.workdata.workdata method)": [[1, "borea.datastruct.workdata.Workdata.set_type_z_data", false]], "set_type_z_shot() (borea.datastruct.workdata.workdata method)": [[1, "borea.datastruct.workdata.Workdata.set_type_z_shot", false]], "set_unit_angle() (borea.datastruct.shot.shot method)": [[1, "borea.datastruct.shot.Shot.set_unit_angle", false]], "set_unit_shot() (borea.worksite.worksite.worksite method)": [[21, "borea.worksite.worksite.Worksite.set_unit_shot", false]], "set_z_nadir() (borea.datastruct.shot.shot method)": [[1, "borea.datastruct.shot.Shot.set_z_nadir", false]], "setup_matrix_obs_rpc() (borea.format.rpc.rpc method)": [[2, "borea.format.rpc.Rpc.setup_matrix_obs_rpc", false]], "shot (borea.format.conl.conl attribute)": [[2, "borea.format.conl.Conl.shot", false]], "shot (class in borea.datastruct.shot)": [[1, "borea.datastruct.shot.Shot", false]], "singleton (class in borea.utils.singleton.singleton)": [[19, "borea.utils.singleton.singleton.Singleton", false]], "space_resection_gap() (borea.transform_world_image.transform_worksite.space_resection.spaceresection method)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection.space_resection_gap", false]], "space_resection_on_worksite() (borea.transform_world_image.transform_worksite.space_resection.spaceresection method)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection.space_resection_on_worksite", false]], "space_resection_shot() (borea.transform_world_image.transform_worksite.space_resection.spaceresection method)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection.space_resection_shot", false]], "space_resection_to_worksite() (borea.transform_world_image.transform_worksite.space_resection.spaceresection method)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection.space_resection_to_worksite", false]], "spaceresection (class in borea.transform_world_image.transform_worksite.space_resection)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection", false]], "stat (class in borea.stat.statistics)": [[11, "borea.stat.statistics.Stat", false]], "stat_image_to_world() (borea.stat.statistics.stat method)": [[11, "borea.stat.statistics.Stat.stat_image_to_world", false]], "stat_list() (borea.stat.statistics.stat method)": [[11, "borea.stat.statistics.Stat.stat_list", false]], "stat_world_to_image() (borea.stat.statistics.stat method)": [[11, "borea.stat.statistics.Stat.stat_world_to_image", false]], "take_obs() (borea.transform_world_image.transform_worksite.space_resection.spaceresection method)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection.take_obs", false]], "tf_output() (borea.geodesy.transform_geodesy.transformgeodesy method)": [[3, "borea.geodesy.transform_geodesy.TransformGeodesy.tf_output", false]], "tranform_altitude() (borea.geodesy.transform_geodesy.transformgeodesy method)": [[3, "borea.geodesy.transform_geodesy.TransformGeodesy.tranform_altitude", false]], "tranform_height() (borea.geodesy.transform_geodesy.transformgeodesy method)": [[3, "borea.geodesy.transform_geodesy.TransformGeodesy.tranform_height", false]], "transformgeodesy (class in borea.geodesy.transform_geodesy)": [[3, "borea.geodesy.transform_geodesy.TransformGeodesy", false]], "width (borea.datastruct.camera.camera attribute)": [[1, "borea.datastruct.camera.Camera.width", false]], "work (borea.transform_world_image.transform_worksite.image_world_intersection.worldintersection attribute)": [[15, "borea.transform_world_image.transform_worksite.image_world_intersection.WorldIntersection.work", false]], "work (borea.transform_world_image.transform_worksite.image_world_least_square.worldleastsquare attribute)": [[15, "borea.transform_world_image.transform_worksite.image_world_least_square.WorldLeastSquare.work", false]], "work (borea.transform_world_image.transform_worksite.image_world_work.imageworldwork attribute)": [[15, "borea.transform_world_image.transform_worksite.image_world_work.ImageWorldWork.work", false]], "work (borea.transform_world_image.transform_worksite.world_image_work.worldimagework attribute)": [[15, "borea.transform_world_image.transform_worksite.world_image_work.WorldImageWork.work", false]], "workdata (class in borea.datastruct.workdata)": [[1, "borea.datastruct.workdata.Workdata", false]], "worksite (class in borea.worksite.worksite)": [[21, "borea.worksite.worksite.Worksite", false]], "world_to_eucli() (borea.geodesy.approx_euclidean_proj.approxeuclideanproj method)": [[3, "borea.geodesy.approx_euclidean_proj.ApproxEuclideanProj.world_to_eucli", false]], "world_to_eucli() (borea.geodesy.local_euclidean_proj.localeuclideanproj method)": [[3, "borea.geodesy.local_euclidean_proj.LocalEuclideanProj.world_to_eucli", false]], "world_to_image() (borea.transform_world_image.transform_dtm.world_image_dtm.worldimagedtm method)": [[13, "borea.transform_world_image.transform_dtm.world_image_dtm.WorldImageDtm.world_to_image", false]], "world_to_image() (borea.transform_world_image.transform_shot.world_image_shot.worldimageshot method)": [[14, "borea.transform_world_image.transform_shot.world_image_shot.WorldImageShot.world_to_image", false]], "worldimagedtm (class in borea.transform_world_image.transform_dtm.world_image_dtm)": [[13, "borea.transform_world_image.transform_dtm.world_image_dtm.WorldImageDtm", false]], "worldimageshot (class in borea.transform_world_image.transform_shot.world_image_shot)": [[14, "borea.transform_world_image.transform_shot.world_image_shot.WorldImageShot", false]], "worldimagework (class in borea.transform_world_image.transform_worksite.world_image_work)": [[15, "borea.transform_world_image.transform_worksite.world_image_work.WorldImageWork", false]], "worldintersection (class in borea.transform_world_image.transform_worksite.image_world_intersection)": [[15, "borea.transform_world_image.transform_worksite.image_world_intersection.WorldIntersection", false]], "worldleastsquare (class in borea.transform_world_image.transform_worksite.image_world_least_square)": [[15, "borea.transform_world_image.transform_worksite.image_world_least_square.WorldLeastSquare", false]], "write() (in module borea.writer.writer_con)": [[22, "borea.writer.writer_con.write", false]], "write() (in module borea.writer.writer_opk)": [[22, "borea.writer.writer_opk.write", false]], "write() (in module borea.writer.writer_rpc)": [[22, "borea.writer.writer_rpc.write", false]], "write_df_to_txt() (in module borea.writer.writer_df_to_txt)": [[22, "borea.writer.writer_df_to_txt.write_df_to_txt", false]], "write_stat() (borea.stat.statistics.stat method)": [[11, "borea.stat.statistics.Stat.write_stat", false]], "x_central (borea.geodesy.euclidean_proj.euclideanproj attribute)": [[3, "borea.geodesy.euclidean_proj.EuclideanProj.x_central", false]], "y_central (borea.geodesy.euclidean_proj.euclideanproj attribute)": [[3, "borea.geodesy.euclidean_proj.EuclideanProj.y_central", false]]}, "objects": {"": [[0, 0, 0, "-", "borea"]], "borea": [[1, 0, 0, "-", "datastruct"], [2, 0, 0, "-", "format"], [3, 0, 0, "-", "geodesy"], [5, 0, 0, "-", "process"], [9, 0, 0, "-", "reader"], [11, 0, 0, "-", "stat"], [12, 0, 0, "-", "transform_world_image"], [16, 0, 0, "-", "utils"], [21, 0, 0, "-", "worksite"], [22, 0, 0, "-", "writer"]], "borea.datastruct": [[1, 0, 0, "-", "camera"], [1, 0, 0, "-", "dtm"], [1, 0, 0, "-", "gcp"], [1, 0, 0, "-", "shot"], [1, 0, 0, "-", "workdata"]], "borea.datastruct.camera": [[1, 1, 1, "", "Camera"]], "borea.datastruct.camera.Camera": [[1, 2, 1, "", "focal"], [1, 2, 1, "", "height"], [1, 2, 1, "", "name_camera"], [1, 2, 1, "", "ppax"], [1, 2, 1, "", "ppay"], [1, 2, 1, "", "width"]], "borea.datastruct.dtm": [[1, 1, 1, "", "Dtm"]], "borea.datastruct.dtm.Dtm": [[1, 3, 1, "", "get_z_world"], [1, 3, 1, "", "set_cval"], [1, 3, 1, "", "set_dtm"], [1, 3, 1, "", "set_keep_memory"], [1, 3, 1, "", "set_order"]], "borea.datastruct.gcp": [[1, 1, 1, "", "GCP"]], "borea.datastruct.gcp.GCP": [[1, 2, 1, "", "code"], [1, 2, 1, "", "coor"], [1, 2, 1, "", "name_gcp"]], "borea.datastruct.shot": [[1, 1, 1, "", "Shot"]], "borea.datastruct.shot.Shot": [[1, 3, 1, "", "from_param_euclidean"], [1, 3, 1, "", "get_z_add_scale_factor"], [1, 3, 1, "", "get_z_remove_scale_factor"], [1, 3, 1, "", "set_linear_alteration"], [1, 3, 1, "", "set_order_axe"], [1, 3, 1, "", "set_param_eucli_shot"], [1, 3, 1, "", "set_rot_shot"], [1, 3, 1, "", "set_type_z"], [1, 3, 1, "", "set_unit_angle"], [1, 3, 1, "", "set_z_nadir"]], "borea.datastruct.workdata": [[1, 1, 1, "", "Workdata"]], "borea.datastruct.workdata.Workdata": [[1, 3, 1, "", "add_camera"], [1, 3, 1, "", "add_co_point"], [1, 3, 1, "", "add_gcp2d"], [1, 3, 1, "", "add_gcp3d"], [1, 3, 1, "", "add_shot"], [1, 3, 1, "", "set_approx_eucli_proj"], [1, 3, 1, "", "set_dtm"], [1, 3, 1, "", "set_proj"], [1, 3, 1, "", "set_type_z_data"], [1, 3, 1, "", "set_type_z_shot"]], "borea.format": [[2, 0, 0, "-", "conl"], [2, 0, 0, "-", "rpc"]], "borea.format.conl": [[2, 1, 1, "", "Conl"]], "borea.format.conl.Conl": [[2, 2, 1, "", "cam"], [2, 2, 1, "", "proj"], [2, 3, 1, "", "save_conl"], [2, 3, 1, "", "set_camera_xml"], [2, 3, 1, "", "set_geometry_xml"], [2, 2, 1, "", "shot"]], "borea.format.rpc": [[2, 1, 1, "", "Rpc"]], "borea.format.rpc.Rpc": [[2, 3, 1, "", "create_grid_rpc"], [2, 3, 1, "", "from_shot"], [2, 3, 1, "", "least_square_rpc"], [2, 3, 1, "", "normalize_data"], [2, 3, 1, "", "setup_matrix_obs_rpc"]], "borea.geodesy": [[3, 0, 0, "-", "approx_euclidean_proj"], [3, 0, 0, "-", "euclidean_proj"], [3, 0, 0, "-", "local_euclidean_proj"], [3, 0, 0, "-", "proj_engine"], [4, 0, 0, "-", "projectionlist"], [3, 0, 0, "-", "transform_geodesy"]], "borea.geodesy.approx_euclidean_proj": [[3, 1, 1, "", "ApproxEuclideanProj"]], "borea.geodesy.approx_euclidean_proj.ApproxEuclideanProj": [[3, 3, 1, "", "eucli_to_world"], [3, 3, 1, "", "mat_eucli_to_mat"], [3, 3, 1, "", "mat_to_mat_eucli"], [3, 3, 1, "", "world_to_eucli"]], "borea.geodesy.euclidean_proj": [[3, 1, 1, "", "EuclideanProj"]], "borea.geodesy.euclidean_proj.EuclideanProj": [[3, 2, 1, "", "x_central"], [3, 2, 1, "", "y_central"]], "borea.geodesy.local_euclidean_proj": [[3, 1, 1, "", "LocalEuclideanProj"]], "borea.geodesy.local_euclidean_proj.LocalEuclideanProj": [[3, 3, 1, "", "eucli_to_world"], [3, 3, 1, "", "mat_eucli_to_mat"], [3, 3, 1, "", "mat_rot_euclidean_local"], [3, 3, 1, "", "mat_to_mat_eucli"], [3, 3, 1, "", "world_to_eucli"]], "borea.geodesy.proj_engine": [[3, 1, 1, "", "ProjEngine"]], "borea.geodesy.proj_engine.ProjEngine": [[3, 2, 1, "", "epsg"], [3, 2, 1, "", "epsg_output"], [3, 2, 1, "", "geoid"], [3, 3, 1, "", "get_meridian_convergence"], [3, 3, 1, "", "get_scale_factor"], [3, 3, 1, "", "set_epsg"], [3, 3, 1, "", "set_epsg_tf_geog_output"]], "borea.geodesy.projectionlist": [[4, 0, 0, "-", "search_proj"]], "borea.geodesy.projectionlist.search_proj": [[4, 4, 1, "", "convert_line_list"], [4, 4, 1, "", "search_info"]], "borea.geodesy.transform_geodesy": [[3, 1, 1, "", "TransformGeodesy"]], "borea.geodesy.transform_geodesy.TransformGeodesy": [[3, 5, 1, "", "carto_to_geoc"], [3, 5, 1, "", "carto_to_geog"], [3, 5, 1, "", "geoc_to_carto"], [3, 5, 1, "", "geog_to_carto"], [3, 5, 1, "", "geog_to_geoid"], [3, 5, 1, "", "geoid_to_geog"], [3, 3, 1, "", "tf_output"], [3, 3, 1, "", "tranform_altitude"], [3, 3, 1, "", "tranform_height"]], "borea.process": [[6, 0, 0, "-", "p_add_data"], [7, 0, 0, "-", "p_format"], [8, 0, 0, "-", "p_func"]], "borea.process.p_add_data": [[6, 0, 0, "-", "p_add_shot"], [6, 0, 0, "-", "p_file_gcp2d"], [6, 0, 0, "-", "p_file_gcp3d"], [6, 0, 0, "-", "p_gen_param"], [6, 0, 0, "-", "p_pt2d"], [6, 0, 0, "-", "p_pt3d"], [6, 0, 0, "-", "p_unit_shot"], [6, 0, 0, "-", "p_write"]], "borea.process.p_add_data.p_add_shot": [[6, 4, 1, "", "args_add_shot"], [6, 4, 1, "", "process_add_shot"]], "borea.process.p_add_data.p_file_gcp2d": [[6, 4, 1, "", "args_gcp2d"], [6, 4, 1, "", "process_gcp2d"]], "borea.process.p_add_data.p_file_gcp3d": [[6, 4, 1, "", "args_gcp3d"], [6, 4, 1, "", "process_gcp3d"]], "borea.process.p_add_data.p_gen_param": [[6, 4, 1, "", "args_general_param"], [6, 4, 1, "", "process_args_gen_param"]], "borea.process.p_add_data.p_pt2d": [[6, 4, 1, "", "args_add_pt2d"], [6, 4, 1, "", "process_image_world"]], "borea.process.p_add_data.p_pt3d": [[6, 4, 1, "", "args_add_pt3d"], [6, 4, 1, "", "process_world_image"]], "borea.process.p_add_data.p_unit_shot": [[6, 4, 1, "", "args_input_shot"], [6, 4, 1, "", "args_output_shot"]], "borea.process.p_add_data.p_write": [[6, 4, 1, "", "args_writer"]], "borea.process.p_format": [[7, 0, 0, "-", "p_read_opk"], [7, 0, 0, "-", "p_write_con"], [7, 0, 0, "-", "p_write_opk"], [7, 0, 0, "-", "p_write_rpc"]], "borea.process.p_format.p_read_opk": [[7, 4, 1, "", "args_reading_opk"], [7, 4, 1, "", "process_args_read_opk"]], "borea.process.p_format.p_write_con": [[7, 4, 1, "", "args_write_con"], [7, 4, 1, "", "process_args_write_con"]], "borea.process.p_format.p_write_opk": [[7, 4, 1, "", "args_writing_opk"], [7, 4, 1, "", "process_args_write_opk"]], "borea.process.p_format.p_write_rpc": [[7, 4, 1, "", "args_writing_rpc"], [7, 4, 1, "", "process_args_write_rpc"]], "borea.process.p_func": [[8, 0, 0, "-", "p_control"], [8, 0, 0, "-", "p_image_world"], [8, 0, 0, "-", "p_spaceresection"], [8, 0, 0, "-", "p_world_image"]], "borea.process.p_func.p_control": [[8, 4, 1, "", "args_control"], [8, 4, 1, "", "process_args_control"]], "borea.process.p_func.p_image_world": [[8, 4, 1, "", "args_image_world"], [8, 4, 1, "", "process_image_world"]], "borea.process.p_func.p_spaceresection": [[8, 4, 1, "", "args_space_resection"], [8, 4, 1, "", "process_space_resection"]], "borea.process.p_func.p_world_image": [[8, 4, 1, "", "args_world_image"], [8, 4, 1, "", "process_world_image"]], "borea.reader": [[10, 0, 0, "-", "orientation"], [9, 0, 0, "-", "reader_camera"], [9, 0, 0, "-", "reader_point"]], "borea.reader.orientation": [[10, 0, 0, "-", "manage_reader"], [10, 0, 0, "-", "reader_opk"]], "borea.reader.orientation.manage_reader": [[10, 4, 1, "", "reader_orientation"]], "borea.reader.orientation.reader_opk": [[10, 4, 1, "", "read"]], "borea.reader.reader_camera": [[9, 4, 1, "", "camera_txt"], [9, 4, 1, "", "read_camera"]], "borea.reader.reader_point": [[9, 4, 1, "", "read_file_pt"], [9, 4, 1, "", "read_file_pt_dataframe"]], "borea.stat": [[11, 0, 0, "-", "statistics"]], "borea.stat.statistics": [[11, 1, 1, "", "Stat"]], "borea.stat.statistics.Stat": [[11, 3, 1, "", "main_stat_and_save"], [11, 3, 1, "", "main_stat_image_to_world"], [11, 3, 1, "", "main_stat_world_to_image"], [11, 3, 1, "", "save_stat_txt"], [11, 3, 1, "", "stat_image_to_world"], [11, 3, 1, "", "stat_list"], [11, 3, 1, "", "stat_world_to_image"], [11, 3, 1, "", "write_stat"]], "borea.transform_world_image": [[13, 0, 0, "-", "transform_dtm"], [14, 0, 0, "-", "transform_shot"], [15, 0, 0, "-", "transform_worksite"]], "borea.transform_world_image.transform_dtm": [[13, 0, 0, "-", "world_image_dtm"]], "borea.transform_world_image.transform_dtm.world_image_dtm": [[13, 1, 1, "", "WorldImageDtm"]], "borea.transform_world_image.transform_dtm.world_image_dtm.WorldImageDtm": [[13, 3, 1, "", "image_to_world"], [13, 3, 1, "", "world_to_image"]], "borea.transform_world_image.transform_shot": [[14, 0, 0, "-", "conversion_coor_shot"], [14, 0, 0, "-", "image_world_shot"], [14, 0, 0, "-", "world_image_shot"]], "borea.transform_world_image.transform_shot.conversion_coor_shot": [[14, 4, 1, "", "conv_output_z_type"], [14, 4, 1, "", "conv_z_shot_to_z_data"]], "borea.transform_world_image.transform_shot.image_world_shot": [[14, 1, 1, "", "ImageWorldShot"]], "borea.transform_world_image.transform_shot.image_world_shot.ImageWorldShot": [[14, 3, 1, "", "image_to_bundle"], [14, 3, 1, "", "image_to_world"], [14, 3, 1, "", "image_world_iter"], [14, 3, 1, "", "image_z_to_world"], [14, 3, 1, "", "local_to_eucli"]], "borea.transform_world_image.transform_shot.world_image_shot": [[14, 1, 1, "", "WorldImageShot"]], "borea.transform_world_image.transform_shot.world_image_shot.WorldImageShot": [[14, 3, 1, "", "bundle_to_image"], [14, 3, 1, "", "eucli_to_bundle"], [14, 3, 1, "", "eucli_to_image"], [14, 3, 1, "", "world_to_image"]], "borea.transform_world_image.transform_worksite": [[15, 0, 0, "-", "image_world_intersection"], [15, 0, 0, "-", "image_world_least_square"], [15, 0, 0, "-", "image_world_work"], [15, 0, 0, "-", "space_resection"], [15, 0, 0, "-", "world_image_work"]], "borea.transform_world_image.transform_worksite.image_world_intersection": [[15, 1, 1, "", "WorldIntersection"]], "borea.transform_world_image.transform_worksite.image_world_intersection.WorldIntersection": [[15, 3, 1, "", "calculate_image_world_by_intersection"], [15, 3, 1, "", "comput_inter_in_2_more_distant_shot"], [15, 3, 1, "", "intersection_line_3d"], [15, 3, 1, "", "intersection_pt_in_2shot"], [15, 2, 1, "", "work"]], "borea.transform_world_image.transform_worksite.image_world_least_square": [[15, 1, 1, "", "WorldLeastSquare"]], "borea.transform_world_image.transform_worksite.image_world_least_square.WorldLeastSquare": [[15, 3, 1, "", "compute_image_world_least_square"], [15, 3, 1, "", "create_mat_a_and_vect_residu"], [15, 3, 1, "", "init_eucli_points"], [15, 3, 1, "", "least_square_intersect"], [15, 2, 1, "", "work"]], "borea.transform_world_image.transform_worksite.image_world_work": [[15, 1, 1, "", "ImageWorldWork"]], "borea.transform_world_image.transform_worksite.image_world_work.ImageWorldWork": [[15, 3, 1, "", "manage_image_world"], [15, 2, 1, "", "work"]], "borea.transform_world_image.transform_worksite.space_resection": [[15, 1, 1, "", "SpaceResection"]], "borea.transform_world_image.transform_worksite.space_resection.SpaceResection": [[15, 3, 1, "", "func_least_square"], [15, 3, 1, "", "init_kappa"], [15, 3, 1, "", "least_square_shot"], [15, 3, 1, "", "mat_obs_axia"], [15, 3, 1, "", "seed_20_point"], [15, 3, 1, "", "space_resection_gap"], [15, 3, 1, "", "space_resection_on_worksite"], [15, 3, 1, "", "space_resection_shot"], [15, 3, 1, "", "space_resection_to_worksite"], [15, 3, 1, "", "take_obs"]], "borea.transform_world_image.transform_worksite.world_image_work": [[15, 1, 1, "", "WorldImageWork"]], "borea.transform_world_image.transform_worksite.world_image_work.WorldImageWork": [[15, 3, 1, "", "calculate_world_to_image"], [15, 2, 1, "", "work"]], "borea.utils": [[17, 0, 0, "-", "check"], [18, 0, 0, "-", "miscellaneous"], [19, 0, 0, "-", "singleton"], [20, 0, 0, "-", "xml"]], "borea.utils.check": [[17, 0, 0, "-", "check_args_opk"], [17, 0, 0, "-", "check_args_reader_pt"], [17, 0, 0, "-", "check_array"], [17, 0, 0, "-", "check_header"], [17, 0, 0, "-", "check_order_axe"]], "borea.utils.check.check_args_opk": [[17, 4, 1, "", "check_args_opk"], [17, 4, 1, "", "check_header_file"]], "borea.utils.check.check_args_reader_pt": [[17, 4, 1, "", "check_header_file"]], "borea.utils.check.check_array": [[17, 4, 1, "", "check_array_transfo"]], "borea.utils.check.check_header": [[17, 4, 1, "", "check_h_z"], [17, 4, 1, "", "check_head"], [17, 4, 1, "", "get_type_z_and_header"]], "borea.utils.check.check_order_axe": [[17, 4, 1, "", "check_order_axe"], [17, 4, 1, "", "convert_opk_to_xyz"]], "borea.utils.miscellaneous": [[18, 0, 0, "-", "miscellaneous"], [18, 0, 0, "-", "param_bundle"], [18, 0, 0, "-", "sparse"]], "borea.utils.miscellaneous.miscellaneous": [[18, 4, 1, "", "angle_degree_2vect"], [18, 4, 1, "", "dist_2pts"], [18, 4, 1, "", "min_max_pt"], [18, 4, 1, "", "normalize"]], "borea.utils.miscellaneous.param_bundle": [[18, 4, 1, "", "set_param_bundle_diff"]], "borea.utils.miscellaneous.sparse": [[18, 4, 1, "", "invert_diag_sparse_matrix_3_3"]], "borea.utils.singleton": [[19, 0, 0, "-", "singleton"]], "borea.utils.singleton.singleton": [[19, 1, 1, "", "Singleton"]], "borea.utils.singleton.singleton.Singleton": [[19, 3, 1, "", "clear"]], "borea.utils.xml": [[20, 0, 0, "-", "xml"]], "borea.utils.xml.xml": [[20, 4, 1, "", "add_elem"], [20, 4, 1, "", "format_xml"], [20, 4, 1, "", "indent"]], "borea.worksite": [[21, 0, 0, "-", "worksite"]], "borea.worksite.worksite": [[21, 1, 1, "", "Worksite"]], "borea.worksite.worksite.Worksite": [[21, 3, 1, "", "calculate_barycentre"], [21, 3, 1, "", "get_attr_transfo_pt"], [21, 3, 1, "", "get_coor_pt_img_and_world"], [21, 3, 1, "", "get_point_image_dataframe"], [21, 3, 1, "", "get_point_world_dataframe"], [21, 3, 1, "", "set_param_shot"], [21, 3, 1, "", "set_point_image_dataframe"], [21, 3, 1, "", "set_point_world_dataframe"], [21, 3, 1, "", "set_unit_shot"]], "borea.writer": [[22, 0, 0, "-", "manage_writer"], [22, 0, 0, "-", "writer_con"], [22, 0, 0, "-", "writer_df_to_txt"], [22, 0, 0, "-", "writer_opk"], [22, 0, 0, "-", "writer_rpc"]], "borea.writer.manage_writer": [[22, 4, 1, "", "manager_writer"]], "borea.writer.writer_con": [[22, 4, 1, "", "write"]], "borea.writer.writer_df_to_txt": [[22, 4, 1, "", "write_df_to_txt"]], "borea.writer.writer_opk": [[22, 4, 1, "", "write"]], "borea.writer.writer_rpc": [[22, 4, 1, "", "write"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "function", "Python function"], "5": ["py", "property", "Python property"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:function", "5": "py:property"}, "terms": {"": [11, 15, 18, 19], "0": [1, 14, 15, 18, 20], "1": [1, 2, 10, 15, 17], "10": [2, 6, 7, 8, 20], "100": 2, "11": 1, "12": 1, "13": 1, "2": [1, 2, 15, 18], "20": 15, "2154": [1, 3], "2d": [1, 6, 13, 18], "3": [1, 2, 15], "3d": [6, 15], "5": 1, "5f": 20, "6": [8, 15], "A": [1, 2, 3, 10, 15, 17, 18], "And": 1, "For": 15, "If": [1, 2, 15], "It": 19, "NOT": [1, 14], "One": [1, 4], "The": [1, 2, 3, 10, 14, 15, 18, 20, 21, 22], "To": [14, 15], "absolut": 11, "account": [10, 17], "acquisit": [1, 2, 15], "ad": [1, 6, 15], "add": [1, 2, 6, 7, 8, 10, 15, 20], "add_camera": [0, 1], "add_co_point": [0, 1], "add_elem": [16, 20], "add_gcp2d": [0, 1], "add_gcp3d": [0, 1], "add_pixel": 15, "add_shot": [0, 1], "adjust": 15, "after": 1, "agr": [1, 9], "aim": 19, "all": [1, 4, 11, 15, 17, 21], "allow": [1, 3, 21], "alter": [1, 2, 10, 14, 17, 22], "altitud": [1, 3, 14, 17], "alwai": [1, 2], "an": [1, 3, 10, 14, 15, 17, 18, 22], "angl": [1, 10, 15, 17, 18, 21, 22], "angle_degree_2vect": [16, 18], "ani": [1, 20], "app": 9, "appear": 15, "appli": [6, 7, 8], "approx": [1, 14, 21], "approx_euclidean_proj": [0, 24], "approxeucli": 1, "approxeuclideanproj": [0, 3], "approxim": 3, "apprx": 1, "ar": [1, 3, 17], "aren": 15, "arg": [1, 3, 6, 7, 8, 10, 17, 22], "argpars": [6, 7, 8], "args_add_pt2d": [5, 6], "args_add_pt3d": [5, 6], "args_add_shot": [5, 6], "args_control": [5, 8], "args_gcp2d": [5, 6], "args_gcp3d": [5, 6], "args_general_param": [5, 6], "args_image_world": [5, 8], "args_input_shot": [5, 6], "args_output_shot": [5, 6], "args_reading_opk": [5, 7], "args_space_resect": [5, 8], "args_world_imag": [5, 8], "args_writ": [5, 6], "args_write_con": [5, 7], "args_writing_opk": [5, 7], "args_writing_rpc": [5, 7], "argspars": [6, 7, 8], "argument": [6, 7, 8], "arithmet": 11, "around": 2, "arrai": [1, 2, 3, 13, 14, 15, 17, 18, 21], "arrang": 9, "ask": [3, 14], "attribut": [1, 21], "ax": [1, 10, 17, 22], "axiat": 15, "b": 15, "bad_head": 17, "balis": [2, 20], "barycentr": 21, "base": [1, 2, 3, 11, 13, 14, 15, 19, 21], "bdortho": 4, "beam": 18, "befor": 3, "begin": 22, "belong": 19, "between": [1, 3, 15, 17, 18], "bilinear": 1, "block": 18, "bool": [1, 2, 10, 14, 17, 21, 22], "boolean": [1, 17], "borea": 23, "buffer": 2, "build": 1, "bundl": [14, 15, 18], "bundle_to_imag": [12, 14], "c": [2, 14], "c_ob": 15, "calcul": [2, 6, 8, 11, 14, 15, 18, 21, 22], "calculate_barycentr": [0, 21], "calculate_image_world_by_intersect": [12, 15], "calculate_world_to_imag": [12, 15], "calcult": 15, "cam": [0, 2, 14, 15], "camera": [0, 2, 9, 14, 15, 24], "camera_txt": [0, 9], "carto_to_geoc": [0, 3], "carto_to_geog": [0, 3], "cartograph": 3, "cartographiqu": 14, "categori": 19, "center": 1, "centr": 3, "central": 3, "chang": [1, 15, 21], "check": [0, 15, 16], "check_args_opk": [0, 16], "check_args_reader_pt": [0, 16], "check_arrai": [0, 16], "check_array_transfo": [16, 17], "check_h_z": [16, 17], "check_head": [0, 16], "check_header_fil": [16, 17], "check_lett": 17, "check_order_ax": [0, 16], "class": [1, 2, 3, 11, 13, 14, 15, 19, 21, 22], "classmethod": [1, 2], "clear": [16, 19], "co": 15, "co_point": [1, 9, 15, 17, 21], "code": [0, 1, 3, 15, 17, 22], "code_gcp": 1, "coeffici": 2, "col": [2, 14], "collinear": 3, "column": [1, 2, 9, 10, 13, 15, 17, 21, 22], "combin": 17, "comput": [2, 3, 13], "comput_inter_in_2_more_distant_shot": [12, 15], "compute_image_world_least_squar": [12, 15], "con": 22, "condit": 1, "conic": [2, 7, 22], "conl": [0, 24], "connect": [1, 9, 15], "construct": 1, "contain": [1, 17], "content": 24, "control": [1, 8, 11, 15, 21], "control_typ": [15, 21], "conv_output_z_typ": [12, 14], "conv_z_shot_to_z_data": [12, 14], "converg": [3, 15], "convers": [14, 17], "conversion_coor_shot": [0, 12], "convert": [2, 3, 4, 14, 17, 22], "convert_line_list": [3, 4], "convert_opk_to_xyz": [16, 17], "coodin": 14, "coor": [0, 1, 3, 14], "coor2d": 1, "coor_2d": 1, "coor_eucli": [3, 18], "coor_gcp": 1, "coor_img": 13, "coor_init": 15, "coor_world": [3, 13, 14], "coordin": [1, 2, 3, 6, 8, 13, 14, 15, 18, 22], "coordinn": 18, "coordonne": 15, "copoint": 15, "correct": [1, 2, 10, 17, 21, 22], "correspond": 15, "cr": 3, "creat": [2, 3], "create_grid_rpc": [0, 2], "create_mat_a_and_vect_residu": [12, 15], "creation": [2, 15, 19], "cubic": 1, "cval": 1, "data": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 14, 15, 17, 18, 21, 22], "data_input": 4, "data_list": 11, "datafram": [9, 15, 21, 22], "datastruct": [0, 24], "de": 1, "definit": 1, "degre": [1, 2, 3, 10, 17, 18, 22], "depend": [15, 21], "describ": 2, "design": 19, "df": 22, "dfpt": 15, "dict": [1, 2, 10, 11, 15, 17, 22], "dictionari": [2, 11, 22], "dictionnari": 15, "diff": 17, "differ": 21, "differenti": [1, 18], "digit": 1, "dim": [17, 18], "dimens": 17, "direct": 15, "dist_2pt": [16, 18], "distanc": [15, 18], "distant": 15, "distort": 1, "do": 15, "dtm": [0, 13, 19, 24], "du": 14, "dx": 15, "d\u00e9fault": 14, "e": [10, 17], "each": 15, "edg": 1, "elem": 20, "element": [4, 15, 17, 20], "elementtre": [2, 20], "elev": 1, "enough": 15, "epsg": [0, 1, 3, 4, 22], "epsg_out": 3, "epsg_output": [0, 3, 22], "equat": [3, 15], "error": [1, 17], "et": [2, 20], "etre": [2, 20], "eucli": 15, "eucli_to_bundl": [12, 14], "eucli_to_imag": [12, 14], "eucli_to_world": [0, 3], "euclidean": [1, 3, 14, 15, 18, 21], "euclidean_proj": [0, 24], "euclideanproj": [0, 3], "euclidian": 3, "euclidien": 15, "ex": [1, 3], "extern": [8, 15], "externa": 15, "extract": [1, 3], "fact_rpc": [2, 22], "factor": [1, 2, 3, 15, 22], "fals": [14, 17, 21], "field": 15, "file": [1, 2, 4, 6, 7, 8, 9, 10, 11, 17, 20, 22], "fill": 1, "first": [15, 18], "fisrt": 18, "fix": 15, "flaot": 1, "flip": 18, "float": [1, 3, 14, 15, 17, 18], "focal": [0, 1], "folder": 22, "folder_con": 22, "folder_rpc": 22, "form": 1, "formal": 17, "format": [0, 1, 9, 17, 20, 22, 24], "format_xml": [16, 20], "frame": 18, "frist": 15, "from": [2, 3, 6, 7, 8, 13, 15, 20], "from_param_euclidean": [0, 1], "from_shot": [0, 2], "func_least_squar": [12, 15], "function": [3, 10, 11, 13, 14, 17, 18, 20, 22], "g": [10, 17], "gcp": [0, 6, 15, 21, 24], "gcp2d": [1, 9, 15, 17, 21], "gcp3d": [9, 15, 17], "gdal": 1, "gener": 6, "geoc_to_carto": [0, 3], "geodesi": [0, 24], "geog_to_carto": [0, 3], "geog_to_geoid": [0, 3], "geograph": [2, 3], "geoid": [0, 1, 3], "geoid_to_geog": [0, 3], "geometri": 2, "georeferenc": 1, "geotiff": 1, "geoview": [2, 4, 7], "get": [1, 18, 21], "get_attr_transfo_pt": [0, 21], "get_coor_pt_img_and_world": [0, 21], "get_meridian_converg": [0, 3], "get_point_image_datafram": [0, 21], "get_point_world_datafram": [0, 21], "get_scale_factor": [0, 3], "get_type_z_and_head": [16, 17], "get_z_add_scale_factor": [0, 1], "get_z_remove_scale_factor": [0, 1], "get_z_world": [0, 1], "give": 1, "given": [14, 15], "good": 17, "grid": [1, 2], "grid_img": 2, "grid_world": 2, "ground": [1, 6, 11, 14, 15], "gt": 13, "h": [1, 17], "head": 17, "header": [4, 9, 10, 17, 22], "height": [0, 1, 3, 14, 15, 17], "i": [1, 2, 3, 9, 10, 14, 15, 17, 19, 20, 21, 22], "id_img": [15, 21], "id_pt": [15, 21], "ign": [1, 2, 7], "imag": [1, 2, 6, 8, 11, 13, 14, 15, 18, 21], "image_to_bundl": [12, 14], "image_to_world": [12, 13, 14], "image_world_intersect": [0, 12], "image_world_it": [12, 14], "image_world_least_squar": [0, 12], "image_world_shot": [0, 12], "image_world_work": [0, 12], "image_z_to_world": [12, 14], "imageworldshot": [12, 14], "imageworldwork": [12, 15], "imc_adjust": 15, "img_coor": 14, "img_norm": 2, "implement": [3, 20], "indent": [16, 20], "index": [18, 23], "inform": [1, 10, 17, 22], "init": 3, "init_eucli_point": [12, 15], "init_kappa": [12, 15], "initi": 15, "input": [4, 14], "instanc": 19, "instanti": [3, 19], "int": [1, 2, 3, 15, 20], "inter": 15, "interpol": 1, "intersect": 15, "intersection_line_3d": [12, 15], "intersection_pt_in_2shot": [12, 15], "interv": [10, 17], "invers": 18, "invert_diag_sparse_matrix_3_3": [16, 18], "io": 11, "item": 20, "its": 15, "j": [10, 17], "kappa": [1, 15], "keep_in_memori": 1, "keep_memori": 1, "kei": [1, 2, 10, 17, 22], "known": 3, "kwarg": [1, 3], "l": [2, 14], "l_ob": 15, "la": 14, "lcode": 15, "least": [2, 15], "least_square_intersect": [12, 15], "least_square_rpc": [0, 2], "least_square_shot": [12, 15], "letter": 17, "level": 20, "lib": [2, 6, 7, 8, 20], "light": 2, "linalt": 2, "line": [1, 2, 4, 10, 13, 14, 15, 17, 21], "linear": [1, 2, 10, 14, 17, 22], "linear_alter": [1, 10, 17, 21, 22], "link": [1, 21], "list": [1, 3, 4, 9, 10, 11, 15, 17, 20, 21, 22], "list_data": 4, "list_lett": 17, "list_shot": 15, "local": [3, 14], "local_euclidean_proj": [0, 24], "local_to_eucli": [12, 14], "localeuclideanproj": [0, 3], "m": 18, "maco": 2, "main": 21, "main_stat_and_sav": [0, 11], "main_stat_image_to_world": [0, 11], "main_stat_world_to_imag": [0, 11], "make": 15, "manag": [9, 17], "manage_image_world": [12, 15], "manage_read": [0, 9], "manage_writ": [0, 24], "manager_writ": [0, 22], "manipul": [1, 3], "mapinfo": 4, "marker": 15, "mat": [3, 18], "mat_a": 15, "mat_eucli": 3, "mat_eucli_to_mat": [0, 3], "mat_inv": 18, "mat_obs_axia": [12, 15], "mat_ori_eucli": 1, "mat_rot_eucli": 1, "mat_rot_euclidean_loc": [0, 3], "mat_to_mat_eucli": [0, 3], "math": 18, "matric": [1, 21], "matrix": [1, 2, 3, 10, 15, 17, 18, 22], "max": [11, 18], "me": 9, "mean": [1, 11, 15], "median": 11, "memori": 1, "meridian": 3, "messag": 17, "method": [1, 2, 15], "min": [11, 18], "min_max_pt": [16, 18], "miscellan": [0, 16], "misss": 17, "model": 1, "modifi": [1, 14], "modul": [23, 24], "most": 15, "ms_error": 17, "ms_error_lett": 17, "must": [1, 3, 17], "n": [17, 18], "nadir": [1, 14], "name": [1, 15, 20, 21, 22], "name_cam": 1, "name_camera": [0, 1], "name_gcp": [0, 1], "name_opk": 22, "name_point": [1, 15], "name_pt": 15, "name_shot": [1, 15, 21], "nbr_inc": 15, "nbr_ob": 15, "ndarrai": [1, 2, 3, 13, 14, 15, 17, 18, 21], "nearest": 1, "need": 9, "new": [1, 3], "nodata": 1, "nonadir": 14, "none": [1, 2, 3, 6, 7, 8, 9, 10, 11, 15, 17, 20, 21, 22], "normal": [2, 16, 18], "normalize_data": [0, 2], "np": [1, 2, 3, 13, 14, 15, 17, 18, 21], "number": [15, 20], "numpi": 1, "ob": 15, "object": [1, 2, 3, 4, 10, 11, 13, 14, 15, 19], "obs_imag": [15, 21], "observ": [2, 15], "offset": 18, "omega": [1, 15], "one": [1, 2, 6, 18], "oopk": 17, "opk": [6, 7, 10, 17, 22], "order": [1, 2, 10, 17, 21, 22], "order_ax": [1, 10, 17, 21, 22], "ori": 2, "ori_shot": 1, "orient": [0, 1, 9, 15], "other": [10, 22], "output": [3, 4, 14, 17, 22], "outsid": 1, "p_add_data": [0, 5], "p_add_shot": [0, 5], "p_bundl": 14, "p_control": [0, 5], "p_eucli": 14, "p_file_gcp2d": [0, 5], "p_file_gcp3d": [0, 5], "p_format": [0, 5], "p_func": [0, 5], "p_gen_param": [0, 5], "p_image_world": [0, 5], "p_pt2d": [0, 5], "p_pt3d": [0, 5], "p_read_opk": [0, 5], "p_spaceresect": [0, 5], "p_unit_shot": [0, 5], "p_world_imag": [0, 5], "p_write": [0, 5], "p_write_con": [0, 5], "p_write_opk": [0, 5], "p_write_rpc": [0, 5], "packag": [23, 24], "page": 23, "panda": 21, "par": 14, "param_bundl": [0, 16], "param_con": 22, "param_rpc": [2, 22], "paramet": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 20, 21, 22], "parent": [3, 13], "parser": [6, 7, 8], "part": 1, "past": 1, "path": [1, 2, 9, 10, 22], "path_con": 2, "path_dtm": 1, "path_geoid": 1, "path_opk": 22, "pathoutput": 11, "pathreturn": 22, "pattern": 19, "pd": [9, 15, 21, 22], "pd_me": [15, 21], "pd_mes_temp": 15, "pd_pnt": 15, "percentag": 15, "perform": 1, "phi": [1, 15], "photogrametriqu": 8, "photogrammetr": [10, 22], "photogrammetri": [10, 22], "pinit": 15, "pixel": [1, 15], "point": [1, 2, 3, 6, 9, 11, 14, 15, 17, 18, 21], "point1": 15, "point2": 15, "polynom": [2, 22], "polynomi": 2, "polynomial_degre": 2, "porject": 1, "pos_eucli": [1, 14], "pos_shot": 1, "pos_shot_eucli": 1, "posit": [1, 14, 15, 18], "possibl": 17, "ppai": [0, 1], "ppax": [0, 1], "prec": 20, "precis": [1, 20], "process": [0, 14, 15, 24], "process_add_shot": [5, 6], "process_args_control": [5, 8], "process_args_gen_param": [5, 6], "process_args_read_opk": [5, 7], "process_args_write_con": [5, 7], "process_args_write_opk": [5, 7], "process_args_write_rpc": [5, 7], "process_gcp2d": [5, 6], "process_gcp3d": [5, 6], "process_image_world": [5, 6, 8], "process_space_resect": [5, 8], "process_world_imag": [5, 6, 8], "proj": [0, 2], "proj4": 4, "proj_engin": [0, 24], "project": [1, 2, 3, 22], "projectionlist": [0, 3], "projengin": [0, 1, 3, 19], "projeucli": 1, "properti": 3, "provid": 3, "pt1": 18, "pt2": 18, "pt2d": [9, 15], "pt3d": [9, 15], "pt_bundl": 14, "pt_eucli": 15, "pt_img": 15, "pt_world": [15, 21], "put": 20, "py": [2, 6, 7, 8, 20], "pyproj": 3, "python3": [2, 6, 7, 8, 20], "quintic": 1, "r": 18, "radian": [1, 10, 17, 22], "rais": 1, "random": 15, "ratat": 17, "read": [1, 2, 6, 7, 9, 10, 17], "read_camera": [0, 9], "read_file_pt": [0, 9], "read_file_pt_datafram": [0, 9], "reader": [0, 17, 24], "reader_camera": [0, 24], "reader_opk": [0, 9], "reader_orient": [9, 10], "reader_point": [0, 24], "recalcul": 15, "recalcult": 15, "record": 22, "recov": 21, "refer": [3, 4, 18], "registr": 22, "remov": 1, "replac": 17, "repres": [1, 3], "request": 21, "research": 4, "resect": 15, "residu": [11, 15], "ressourc": 21, "restrict": 19, "result": [1, 15], "retriev": 21, "retun": 17, "return": [1, 2, 3, 4, 6, 7, 8, 9, 10, 13, 14, 15, 17, 18, 20, 21], "rotat": [1, 3, 10, 17, 18, 21, 22], "rpc": [0, 7, 22, 24], "same": 17, "save": [2, 9, 11, 21, 22], "save_conl": [0, 2], "save_stat_txt": [0, 11], "scale": [1, 3, 18], "scipi": 17, "script": [9, 10, 17], "sd": 4, "search": [15, 23], "search_info": [3, 4], "search_proj": [0, 3], "second": [15, 18], "seed_20_point": [12, 15], "self": [1, 13], "set": [1, 15, 17, 18, 21], "set_approx_eucli_proj": [0, 1], "set_camera_xml": [0, 2], "set_cval": [0, 1], "set_dtm": [0, 1], "set_epsg": [0, 3], "set_epsg_tf_geog_output": [0, 3], "set_geometry_xml": [0, 2], "set_keep_memori": [0, 1], "set_linear_alter": [0, 1], "set_ord": [0, 1], "set_order_ax": [0, 1], "set_param_bundle_diff": [16, 18], "set_param_eucli_shot": [0, 1], "set_param_shot": [0, 21], "set_point_image_datafram": [0, 21], "set_point_world_datafram": [0, 21], "set_proj": [0, 1], "set_rot_shot": [0, 1], "set_type_z": [0, 1], "set_type_z_data": [0, 1], "set_type_z_shot": [0, 1], "set_unit_angl": [0, 1], "set_unit_shot": [0, 21], "set_z_nadir": [0, 1], "setter": 3, "setup": [1, 2], "setup_matrix_obs_rpc": [0, 2], "shoot": 15, "shot": [0, 2, 6, 8, 10, 14, 15, 17, 18, 21, 24], "shot1": 15, "shot2": 15, "shot_adjust": 15, "sigma": 11, "singl": 19, "singleton": [0, 16], "site": [10, 11, 22], "size": 2, "size_grid": 2, "slinear": 1, "softwar": 2, "solv": 15, "sourc": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 21, 22], "space": 15, "space_resect": [0, 12], "space_resection_gap": [12, 15], "space_resection_on_worksit": [12, 15], "space_resection_shot": [12, 15], "space_resection_to_worksit": [12, 15], "spaceresect": [12, 15], "spars": [0, 16], "squar": [2, 15], "src": [2, 22], "stat": [0, 24], "stat_image_to_world": [0, 11], "stat_list": [0, 11], "stat_world_to_imag": [0, 11], "statist": [0, 24], "store": 1, "str": [1, 2, 4, 9, 10, 11, 14, 15, 17, 18, 20, 21, 22], "string": 21, "structur": 20, "submodul": [0, 5, 12, 16, 24], "subpackag": 24, "support": 1, "symbol": 17, "system": [1, 3, 14, 15, 21], "t": 15, "ta": 4, "tabl": [15, 21], "take": [14, 15, 21], "take_ob": [12, 15], "taken": [10, 17], "terrain": [14, 21], "textiowrapp": 11, "tf_output": [0, 3], "thei": [15, 17], "thi": 3, "tool": 21, "topaero": 4, "tranform": 3, "tranform_altitud": [0, 3], "tranform_height": [0, 3], "transform": [2, 3, 10, 13, 14, 15, 21], "transform_dtm": [0, 12], "transform_geodesi": [0, 24], "transform_shot": [0, 12], "transform_worksit": [0, 12], "transform_world_imag": [0, 24], "transformgeodesi": [0, 3], "transit": 3, "true": [1, 2, 10, 14, 17, 21, 22], "tubl": 15, "tupl": [2, 13, 15, 17, 18, 21], "two": [1, 15, 18], "txt": [4, 9, 11, 22], "type": [1, 2, 3, 4, 6, 7, 8, 9, 10, 13, 14, 15, 17, 18, 19, 20, 21, 22], "type_dtm": 1, "type_input": 4, "type_m": 18, "type_output": 4, "type_point": [9, 11, 15, 21], "type_process": 15, "type_pt": 17, "type_z": [1, 17, 21], "type_z_data": [1, 14], "type_z_input": 14, "type_z_output": 14, "type_z_shot": [1, 14], "u": 18, "u1": 18, "u2": 18, "u3": 18, "union": [3, 14, 17], "unit": [1, 6, 10, 17, 21, 22], "unit_angl": [1, 10, 17, 21, 22], "unit_data": 2, "unit_z_data": 2, "unit_z_shot": 2, "uniti": 2, "up": [1, 15, 18, 21], "us": [1, 3, 15, 21], "usr": [2, 6, 7, 8, 20], "util": [0, 24], "v": 18, "val": 20, "valid": 3, "valu": [1, 3, 15], "var": 11, "variabl": 17, "variat": 15, "variou": 17, "vect1": 15, "vect2": 15, "vector": [15, 17, 18], "verif": 17, "visibl": 15, "want": [1, 2, 14, 15, 21], "we": 18, "wgs84": [2, 22], "what": [15, 21], "when": [2, 22], "where": [15, 21], "which": [1, 3, 9, 15, 18], "whit": 1, "whose": 19, "width": [0, 1, 15], "without": [1, 17], "wkt": 4, "woksit": 15, "work": [6, 7, 8, 9, 10, 11, 12, 15, 18, 22], "workdata": [0, 21, 24], "worksid": 10, "worksit": [0, 1, 3, 6, 7, 8, 9, 10, 11, 14, 15, 22, 24], "world": [1, 2, 3, 6, 8, 11, 13, 14, 15, 21, 22], "world_image_dtm": [0, 12], "world_image_shot": [0, 12], "world_image_work": [0, 12], "world_norm": 2, "world_to_eucli": [0, 3], "world_to_imag": [12, 13, 14], "worldimagedtm": [1, 12, 13], "worldimageshot": [12, 14], "worldimagework": [12, 15], "worldintersect": [12, 15], "worldleastsquar": [12, 15], "write": [0, 2, 6, 7, 11, 20, 22], "write_df_to_txt": [0, 22], "write_stat": [0, 11], "writer": [0, 24], "writer_con": [0, 24], "writer_df_to_txt": [0, 24], "writer_opk": [0, 24], "writer_rpc": [0, 24], "x": [1, 2, 3, 13, 14, 15, 17, 21], "x_carto": 3, "x_central": [0, 3], "x_col": 14, "xml": [0, 2, 9, 16], "y": [1, 2, 3, 13, 14, 15, 17, 21], "y_carto": 3, "y_central": [0, 3], "y_line": 14, "you": [1, 2, 14, 15, 21], "your": 21, "z": [1, 2, 3, 14, 15, 17, 21], "z_nadir": 1}, "titles": ["borea package", "borea.datastruct package", "borea.format package", "borea.geodesy package", "borea.geodesy.projectionlist package", "borea.process package", "borea.process.p_add_data package", "borea.process.p_format package", "borea.process.p_func package", "borea.reader package", "borea.reader.orientation package", "borea.stat package", "borea.transform_world_image package", "borea.transform_world_image.transform_dtm package", "borea.transform_world_image.transform_shot package", "borea.transform_world_image.transform_worksite package", "borea.utils package", "borea.utils.check package", "borea.utils.miscellaneous package", "borea.utils.singleton package", "borea.utils.xml package", "borea.worksite package", "borea.writer package", "Welcome to Pink_Lady\u2019s documentation!", "borea"], "titleterms": {"": 23, "approx_euclidean_proj": 3, "borea": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24], "camera": 1, "check": 17, "check_args_opk": 17, "check_args_reader_pt": 17, "check_arrai": 17, "check_head": 17, "check_order_ax": 17, "conl": 2, "content": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "conversion_coor_shot": 14, "datastruct": 1, "document": 23, "dtm": 1, "euclidean_proj": 3, "format": 2, "gcp": 1, "geodesi": [3, 4], "image_world_intersect": 15, "image_world_least_squar": 15, "image_world_shot": 14, "image_world_work": 15, "indic": 23, "local_euclidean_proj": 3, "manage_read": 10, "manage_writ": 22, "miscellan": 18, "modul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "orient": 10, "p_add_data": 6, "p_add_shot": 6, "p_control": 8, "p_file_gcp2d": 6, "p_file_gcp3d": 6, "p_format": 7, "p_func": 8, "p_gen_param": 6, "p_image_world": 8, "p_pt2d": 6, "p_pt3d": 6, "p_read_opk": 7, "p_spaceresect": 8, "p_unit_shot": 6, "p_world_imag": 8, "p_write": 6, "p_write_con": 7, "p_write_opk": 7, "p_write_rpc": 7, "packag": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "param_bundl": 18, "pink_ladi": 23, "process": [5, 6, 7, 8], "proj_engin": 3, "projectionlist": 4, "reader": [9, 10], "reader_camera": 9, "reader_opk": 10, "reader_point": 9, "rpc": 2, "search_proj": 4, "shot": 1, "singleton": 19, "space_resect": 15, "spars": 18, "stat": 11, "statist": 11, "submodul": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 21, 22], "subpackag": [0, 3, 5, 9, 12, 16], "tabl": 23, "transform_dtm": 13, "transform_geodesi": 3, "transform_shot": 14, "transform_worksit": 15, "transform_world_imag": [12, 13, 14, 15], "util": [16, 17, 18, 19, 20], "welcom": 23, "workdata": 1, "worksit": 21, "world_image_dtm": 13, "world_image_shot": 14, "world_image_work": 15, "writer": 22, "writer_con": 22, "writer_df_to_txt": 22, "writer_opk": 22, "writer_rpc": 22, "xml": 20}}) \ No newline at end of file +Search.setIndex({"alltitles": {"Contents:": [[23, null]], "Indices and tables": [[23, "indices-and-tables"]], "Module contents": [[0, "module-borea"], [1, "module-borea.datastruct"], [2, "module-borea.format"], [3, "module-borea.geodesy"], [4, "module-borea.geodesy.projectionlist"], [5, "module-borea.process"], [6, "module-borea.process.p_add_data"], [7, "module-borea.process.p_format"], [8, "module-borea.process.p_func"], [9, "module-borea.reader"], [10, "module-borea.reader.orientation"], [11, "module-borea.stat"], [12, "module-borea.transform_world_image"], [13, "module-borea.transform_world_image.transform_dtm"], [14, "module-borea.transform_world_image.transform_shot"], [15, "module-borea.transform_world_image.transform_worksite"], [16, "module-borea.utils"], [17, "module-borea.utils.check"], [18, "module-borea.utils.miscellaneous"], [19, "module-borea.utils.singleton"], [20, "module-borea.utils.xml"], [21, "module-borea.worksite"], [22, "module-borea.writer"]], "Submodules": [[1, "submodules"], [2, "submodules"], [3, "submodules"], [4, "submodules"], [6, "submodules"], [7, "submodules"], [8, "submodules"], [9, "submodules"], [10, "submodules"], [11, "submodules"], [13, "submodules"], [14, "submodules"], [15, "submodules"], [17, "submodules"], [18, "submodules"], [19, "submodules"], [20, "submodules"], [21, "submodules"], [22, "submodules"]], "Subpackages": [[0, "subpackages"], [3, "subpackages"], [5, "subpackages"], [9, "subpackages"], [12, "subpackages"], [16, "subpackages"]], "Welcome to Pink_Lady\u2019s documentation!": [[23, null]], "borea": [[24, null]], "borea package": [[0, null]], "borea.datastruct package": [[1, null]], "borea.datastruct.camera module": [[1, "module-borea.datastruct.camera"]], "borea.datastruct.dtm module": [[1, "module-borea.datastruct.dtm"]], "borea.datastruct.gcp module": [[1, "module-borea.datastruct.gcp"]], "borea.datastruct.shot module": [[1, "module-borea.datastruct.shot"]], "borea.datastruct.workdata module": [[1, "module-borea.datastruct.workdata"]], "borea.format package": [[2, null]], "borea.format.conl module": [[2, "module-borea.format.conl"]], "borea.format.rpc module": [[2, "module-borea.format.rpc"]], "borea.geodesy package": [[3, null]], "borea.geodesy.approx_euclidean_proj module": [[3, "module-borea.geodesy.approx_euclidean_proj"]], "borea.geodesy.euclidean_proj module": [[3, "module-borea.geodesy.euclidean_proj"]], "borea.geodesy.local_euclidean_proj module": [[3, "module-borea.geodesy.local_euclidean_proj"]], "borea.geodesy.proj_engine module": [[3, "module-borea.geodesy.proj_engine"]], "borea.geodesy.projectionlist package": [[4, null]], "borea.geodesy.projectionlist.search_proj module": [[4, "module-borea.geodesy.projectionlist.search_proj"]], "borea.geodesy.transform_geodesy module": [[3, "module-borea.geodesy.transform_geodesy"]], "borea.process package": [[5, null]], "borea.process.p_add_data package": [[6, null]], "borea.process.p_add_data.p_add_shot module": [[6, "module-borea.process.p_add_data.p_add_shot"]], "borea.process.p_add_data.p_file_gcp2d module": [[6, "module-borea.process.p_add_data.p_file_gcp2d"]], "borea.process.p_add_data.p_file_gcp3d module": [[6, "module-borea.process.p_add_data.p_file_gcp3d"]], "borea.process.p_add_data.p_gen_param module": [[6, "module-borea.process.p_add_data.p_gen_param"]], "borea.process.p_add_data.p_proj module": [[6, "module-borea.process.p_add_data.p_proj"]], "borea.process.p_add_data.p_pt2d module": [[6, "module-borea.process.p_add_data.p_pt2d"]], "borea.process.p_add_data.p_pt3d module": [[6, "module-borea.process.p_add_data.p_pt3d"]], "borea.process.p_add_data.p_unit_shot module": [[6, "module-borea.process.p_add_data.p_unit_shot"]], "borea.process.p_add_data.p_write module": [[6, "module-borea.process.p_add_data.p_write"]], "borea.process.p_format package": [[7, null]], "borea.process.p_format.p_read_opk module": [[7, "module-borea.process.p_format.p_read_opk"]], "borea.process.p_format.p_write_con module": [[7, "module-borea.process.p_format.p_write_con"]], "borea.process.p_format.p_write_opk module": [[7, "module-borea.process.p_format.p_write_opk"]], "borea.process.p_format.p_write_rpc module": [[7, "module-borea.process.p_format.p_write_rpc"]], "borea.process.p_func package": [[8, null]], "borea.process.p_func.p_control module": [[8, "module-borea.process.p_func.p_control"]], "borea.process.p_func.p_image_world module": [[8, "module-borea.process.p_func.p_image_world"]], "borea.process.p_func.p_spaceresection module": [[8, "module-borea.process.p_func.p_spaceresection"]], "borea.process.p_func.p_tf_proj_pt module": [[8, "module-borea.process.p_func.p_tf_proj_pt"]], "borea.process.p_func.p_world_image module": [[8, "module-borea.process.p_func.p_world_image"]], "borea.reader package": [[9, null]], "borea.reader.orientation package": [[10, null]], "borea.reader.orientation.manage_reader module": [[10, "module-borea.reader.orientation.manage_reader"]], "borea.reader.orientation.reader_opk module": [[10, "module-borea.reader.orientation.reader_opk"]], "borea.reader.reader_camera module": [[9, "module-borea.reader.reader_camera"]], "borea.reader.reader_point module": [[9, "module-borea.reader.reader_point"]], "borea.stat package": [[11, null]], "borea.stat.statistics module": [[11, "module-borea.stat.statistics"]], "borea.transform_world_image package": [[12, null]], "borea.transform_world_image.transform_dtm package": [[13, null]], "borea.transform_world_image.transform_dtm.world_image_dtm module": [[13, "module-borea.transform_world_image.transform_dtm.world_image_dtm"]], "borea.transform_world_image.transform_shot package": [[14, null]], "borea.transform_world_image.transform_shot.conversion_coor_shot module": [[14, "module-borea.transform_world_image.transform_shot.conversion_coor_shot"]], "borea.transform_world_image.transform_shot.image_world_shot module": [[14, "module-borea.transform_world_image.transform_shot.image_world_shot"]], "borea.transform_world_image.transform_shot.world_image_shot module": [[14, "module-borea.transform_world_image.transform_shot.world_image_shot"]], "borea.transform_world_image.transform_worksite package": [[15, null]], "borea.transform_world_image.transform_worksite.image_world_intersection module": [[15, "module-borea.transform_world_image.transform_worksite.image_world_intersection"]], "borea.transform_world_image.transform_worksite.image_world_least_square module": [[15, "module-borea.transform_world_image.transform_worksite.image_world_least_square"]], "borea.transform_world_image.transform_worksite.image_world_work module": [[15, "module-borea.transform_world_image.transform_worksite.image_world_work"]], "borea.transform_world_image.transform_worksite.space_resection module": [[15, "module-borea.transform_world_image.transform_worksite.space_resection"]], "borea.transform_world_image.transform_worksite.world_image_work module": [[15, "module-borea.transform_world_image.transform_worksite.world_image_work"]], "borea.utils package": [[16, null]], "borea.utils.check package": [[17, null]], "borea.utils.check.check_args_opk module": [[17, "module-borea.utils.check.check_args_opk"]], "borea.utils.check.check_args_reader_pt module": [[17, "module-borea.utils.check.check_args_reader_pt"]], "borea.utils.check.check_array module": [[17, "module-borea.utils.check.check_array"]], "borea.utils.check.check_header module": [[17, "module-borea.utils.check.check_header"]], "borea.utils.check.check_order_axe module": [[17, "module-borea.utils.check.check_order_axe"]], "borea.utils.miscellaneous package": [[18, null]], "borea.utils.miscellaneous.miscellaneous module": [[18, "module-borea.utils.miscellaneous.miscellaneous"]], "borea.utils.miscellaneous.param_bundle module": [[18, "module-borea.utils.miscellaneous.param_bundle"]], "borea.utils.miscellaneous.sparse module": [[18, "module-borea.utils.miscellaneous.sparse"]], "borea.utils.singleton package": [[19, null]], "borea.utils.singleton.singleton module": [[19, "module-borea.utils.singleton.singleton"]], "borea.utils.xml package": [[20, null]], "borea.utils.xml.xml module": [[20, "module-borea.utils.xml.xml"]], "borea.worksite package": [[21, null]], "borea.worksite.worksite module": [[21, "module-borea.worksite.worksite"]], "borea.writer package": [[22, null]], "borea.writer.manage_writer module": [[22, "module-borea.writer.manage_writer"]], "borea.writer.writer_con module": [[22, "module-borea.writer.writer_con"]], "borea.writer.writer_df_to_txt module": [[22, "module-borea.writer.writer_df_to_txt"]], "borea.writer.writer_opk module": [[22, "module-borea.writer.writer_opk"]], "borea.writer.writer_rpc module": [[22, "module-borea.writer.writer_rpc"]]}, "docnames": ["borea", "borea.datastruct", "borea.format", "borea.geodesy", "borea.geodesy.projectionlist", "borea.process", "borea.process.p_add_data", "borea.process.p_format", "borea.process.p_func", "borea.reader", "borea.reader.orientation", "borea.stat", "borea.transform_world_image", "borea.transform_world_image.transform_dtm", "borea.transform_world_image.transform_shot", "borea.transform_world_image.transform_worksite", "borea.utils", "borea.utils.check", "borea.utils.miscellaneous", "borea.utils.singleton", "borea.utils.xml", "borea.worksite", "borea.writer", "index", "modules"], "envversion": {"sphinx": 63, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1}, "filenames": ["borea.rst", "borea.datastruct.rst", "borea.format.rst", "borea.geodesy.rst", "borea.geodesy.projectionlist.rst", "borea.process.rst", "borea.process.p_add_data.rst", "borea.process.p_format.rst", "borea.process.p_func.rst", "borea.reader.rst", "borea.reader.orientation.rst", "borea.stat.rst", "borea.transform_world_image.rst", "borea.transform_world_image.transform_dtm.rst", "borea.transform_world_image.transform_shot.rst", "borea.transform_world_image.transform_worksite.rst", "borea.utils.rst", "borea.utils.check.rst", "borea.utils.miscellaneous.rst", "borea.utils.singleton.rst", "borea.utils.xml.rst", "borea.worksite.rst", "borea.writer.rst", "index.rst", "modules.rst"], "indexentries": {"add_camera() (borea.datastruct.workdata.workdata method)": [[1, "borea.datastruct.workdata.Workdata.add_camera", false]], "add_co_point() (borea.datastruct.workdata.workdata method)": [[1, "borea.datastruct.workdata.Workdata.add_co_point", false]], "add_elem() (in module borea.utils.xml.xml)": [[20, "borea.utils.xml.xml.add_elem", false]], "add_gcp2d() (borea.datastruct.workdata.workdata method)": [[1, "borea.datastruct.workdata.Workdata.add_gcp2d", false]], "add_gcp3d() (borea.datastruct.workdata.workdata method)": [[1, "borea.datastruct.workdata.Workdata.add_gcp3d", false]], "add_shot() (borea.datastruct.workdata.workdata method)": [[1, "borea.datastruct.workdata.Workdata.add_shot", false]], "angle_degree_2vect() (in module borea.utils.miscellaneous.miscellaneous)": [[18, "borea.utils.miscellaneous.miscellaneous.angle_degree_2vect", false]], "approxeuclideanproj (class in borea.geodesy.approx_euclidean_proj)": [[3, "borea.geodesy.approx_euclidean_proj.ApproxEuclideanProj", false]], "args_add_pt2d() (in module borea.process.p_add_data.p_pt2d)": [[6, "borea.process.p_add_data.p_pt2d.args_add_pt2d", false]], "args_add_pt3d() (in module borea.process.p_add_data.p_pt3d)": [[6, "borea.process.p_add_data.p_pt3d.args_add_pt3d", false]], "args_add_shot() (in module borea.process.p_add_data.p_add_shot)": [[6, "borea.process.p_add_data.p_add_shot.args_add_shot", false]], "args_control() (in module borea.process.p_func.p_control)": [[8, "borea.process.p_func.p_control.args_control", false]], "args_gcp2d() (in module borea.process.p_add_data.p_file_gcp2d)": [[6, "borea.process.p_add_data.p_file_gcp2d.args_gcp2d", false]], "args_gcp3d() (in module borea.process.p_add_data.p_file_gcp3d)": [[6, "borea.process.p_add_data.p_file_gcp3d.args_gcp3d", false]], "args_general_param() (in module borea.process.p_add_data.p_gen_param)": [[6, "borea.process.p_add_data.p_gen_param.args_general_param", false]], "args_image_world() (in module borea.process.p_func.p_image_world)": [[8, "borea.process.p_func.p_image_world.args_image_world", false]], "args_input_shot() (in module borea.process.p_add_data.p_unit_shot)": [[6, "borea.process.p_add_data.p_unit_shot.args_input_shot", false]], "args_output_shot() (in module borea.process.p_add_data.p_unit_shot)": [[6, "borea.process.p_add_data.p_unit_shot.args_output_shot", false]], "args_proj_param() (in module borea.process.p_add_data.p_proj)": [[6, "borea.process.p_add_data.p_proj.args_proj_param", false]], "args_reading_opk() (in module borea.process.p_format.p_read_opk)": [[7, "borea.process.p_format.p_read_opk.args_reading_opk", false]], "args_space_resection() (in module borea.process.p_func.p_spaceresection)": [[8, "borea.process.p_func.p_spaceresection.args_space_resection", false]], "args_tf_proj_param() (in module borea.process.p_func.p_tf_proj_pt)": [[8, "borea.process.p_func.p_tf_proj_pt.args_tf_proj_param", false]], "args_world_image() (in module borea.process.p_func.p_world_image)": [[8, "borea.process.p_func.p_world_image.args_world_image", false]], "args_write_con() (in module borea.process.p_format.p_write_con)": [[7, "borea.process.p_format.p_write_con.args_write_con", false]], "args_writer() (in module borea.process.p_add_data.p_write)": [[6, "borea.process.p_add_data.p_write.args_writer", false]], "args_writing_opk() (in module borea.process.p_format.p_write_opk)": [[7, "borea.process.p_format.p_write_opk.args_writing_opk", false]], "args_writing_rpc() (in module borea.process.p_format.p_write_rpc)": [[7, "borea.process.p_format.p_write_rpc.args_writing_rpc", false]], "borea": [[0, "module-borea", false]], "borea.datastruct": [[1, "module-borea.datastruct", false]], "borea.datastruct.camera": [[1, "module-borea.datastruct.camera", false]], "borea.datastruct.dtm": [[1, "module-borea.datastruct.dtm", false]], "borea.datastruct.gcp": [[1, "module-borea.datastruct.gcp", false]], "borea.datastruct.shot": [[1, "module-borea.datastruct.shot", false]], "borea.datastruct.workdata": [[1, "module-borea.datastruct.workdata", false]], "borea.format": [[2, "module-borea.format", false]], "borea.format.conl": [[2, "module-borea.format.conl", false]], "borea.format.rpc": [[2, "module-borea.format.rpc", false]], "borea.geodesy": [[3, "module-borea.geodesy", false]], "borea.geodesy.approx_euclidean_proj": [[3, "module-borea.geodesy.approx_euclidean_proj", false]], "borea.geodesy.euclidean_proj": [[3, "module-borea.geodesy.euclidean_proj", false]], "borea.geodesy.local_euclidean_proj": [[3, "module-borea.geodesy.local_euclidean_proj", false]], "borea.geodesy.proj_engine": [[3, "module-borea.geodesy.proj_engine", false]], "borea.geodesy.projectionlist": [[4, "module-borea.geodesy.projectionlist", false]], "borea.geodesy.projectionlist.search_proj": [[4, "module-borea.geodesy.projectionlist.search_proj", false]], "borea.geodesy.transform_geodesy": [[3, "module-borea.geodesy.transform_geodesy", false]], "borea.process": [[5, "module-borea.process", false]], "borea.process.p_add_data": [[6, "module-borea.process.p_add_data", false]], "borea.process.p_add_data.p_add_shot": [[6, "module-borea.process.p_add_data.p_add_shot", false]], "borea.process.p_add_data.p_file_gcp2d": [[6, "module-borea.process.p_add_data.p_file_gcp2d", false]], "borea.process.p_add_data.p_file_gcp3d": [[6, "module-borea.process.p_add_data.p_file_gcp3d", false]], "borea.process.p_add_data.p_gen_param": [[6, "module-borea.process.p_add_data.p_gen_param", false]], "borea.process.p_add_data.p_proj": [[6, "module-borea.process.p_add_data.p_proj", false]], "borea.process.p_add_data.p_pt2d": [[6, "module-borea.process.p_add_data.p_pt2d", false]], "borea.process.p_add_data.p_pt3d": [[6, "module-borea.process.p_add_data.p_pt3d", false]], "borea.process.p_add_data.p_unit_shot": [[6, "module-borea.process.p_add_data.p_unit_shot", false]], "borea.process.p_add_data.p_write": [[6, "module-borea.process.p_add_data.p_write", false]], "borea.process.p_format": [[7, "module-borea.process.p_format", false]], "borea.process.p_format.p_read_opk": [[7, "module-borea.process.p_format.p_read_opk", false]], "borea.process.p_format.p_write_con": [[7, "module-borea.process.p_format.p_write_con", false]], "borea.process.p_format.p_write_opk": [[7, "module-borea.process.p_format.p_write_opk", false]], "borea.process.p_format.p_write_rpc": [[7, "module-borea.process.p_format.p_write_rpc", false]], "borea.process.p_func": [[8, "module-borea.process.p_func", false]], "borea.process.p_func.p_control": [[8, "module-borea.process.p_func.p_control", false]], "borea.process.p_func.p_image_world": [[8, "module-borea.process.p_func.p_image_world", false]], "borea.process.p_func.p_spaceresection": [[8, "module-borea.process.p_func.p_spaceresection", false]], "borea.process.p_func.p_tf_proj_pt": [[8, "module-borea.process.p_func.p_tf_proj_pt", false]], "borea.process.p_func.p_world_image": [[8, "module-borea.process.p_func.p_world_image", false]], "borea.reader": [[9, "module-borea.reader", false]], "borea.reader.orientation": [[10, "module-borea.reader.orientation", false]], "borea.reader.orientation.manage_reader": [[10, "module-borea.reader.orientation.manage_reader", false]], "borea.reader.orientation.reader_opk": [[10, "module-borea.reader.orientation.reader_opk", false]], "borea.reader.reader_camera": [[9, "module-borea.reader.reader_camera", false]], "borea.reader.reader_point": [[9, "module-borea.reader.reader_point", false]], "borea.stat": [[11, "module-borea.stat", false]], "borea.stat.statistics": [[11, "module-borea.stat.statistics", false]], "borea.transform_world_image": [[12, "module-borea.transform_world_image", false]], "borea.transform_world_image.transform_dtm": [[13, "module-borea.transform_world_image.transform_dtm", false]], "borea.transform_world_image.transform_dtm.world_image_dtm": [[13, "module-borea.transform_world_image.transform_dtm.world_image_dtm", false]], "borea.transform_world_image.transform_shot": [[14, "module-borea.transform_world_image.transform_shot", false]], "borea.transform_world_image.transform_shot.conversion_coor_shot": [[14, "module-borea.transform_world_image.transform_shot.conversion_coor_shot", false]], "borea.transform_world_image.transform_shot.image_world_shot": [[14, "module-borea.transform_world_image.transform_shot.image_world_shot", false]], "borea.transform_world_image.transform_shot.world_image_shot": [[14, "module-borea.transform_world_image.transform_shot.world_image_shot", false]], "borea.transform_world_image.transform_worksite": [[15, "module-borea.transform_world_image.transform_worksite", false]], "borea.transform_world_image.transform_worksite.image_world_intersection": [[15, "module-borea.transform_world_image.transform_worksite.image_world_intersection", false]], "borea.transform_world_image.transform_worksite.image_world_least_square": [[15, "module-borea.transform_world_image.transform_worksite.image_world_least_square", false]], "borea.transform_world_image.transform_worksite.image_world_work": [[15, "module-borea.transform_world_image.transform_worksite.image_world_work", false]], "borea.transform_world_image.transform_worksite.space_resection": [[15, "module-borea.transform_world_image.transform_worksite.space_resection", false]], "borea.transform_world_image.transform_worksite.world_image_work": [[15, "module-borea.transform_world_image.transform_worksite.world_image_work", false]], "borea.utils": [[16, "module-borea.utils", false]], "borea.utils.check": [[17, "module-borea.utils.check", false]], "borea.utils.check.check_args_opk": [[17, "module-borea.utils.check.check_args_opk", false]], "borea.utils.check.check_args_reader_pt": [[17, "module-borea.utils.check.check_args_reader_pt", false]], "borea.utils.check.check_array": [[17, "module-borea.utils.check.check_array", false]], "borea.utils.check.check_header": [[17, "module-borea.utils.check.check_header", false]], "borea.utils.check.check_order_axe": [[17, "module-borea.utils.check.check_order_axe", false]], "borea.utils.miscellaneous": [[18, "module-borea.utils.miscellaneous", false]], "borea.utils.miscellaneous.miscellaneous": [[18, "module-borea.utils.miscellaneous.miscellaneous", false]], "borea.utils.miscellaneous.param_bundle": [[18, "module-borea.utils.miscellaneous.param_bundle", false]], "borea.utils.miscellaneous.sparse": [[18, "module-borea.utils.miscellaneous.sparse", false]], "borea.utils.singleton": [[19, "module-borea.utils.singleton", false]], "borea.utils.singleton.singleton": [[19, "module-borea.utils.singleton.singleton", false]], "borea.utils.xml": [[20, "module-borea.utils.xml", false]], "borea.utils.xml.xml": [[20, "module-borea.utils.xml.xml", false]], "borea.worksite": [[21, "module-borea.worksite", false]], "borea.worksite.worksite": [[21, "module-borea.worksite.worksite", false]], "borea.writer": [[22, "module-borea.writer", false]], "borea.writer.manage_writer": [[22, "module-borea.writer.manage_writer", false]], "borea.writer.writer_con": [[22, "module-borea.writer.writer_con", false]], "borea.writer.writer_df_to_txt": [[22, "module-borea.writer.writer_df_to_txt", false]], "borea.writer.writer_opk": [[22, "module-borea.writer.writer_opk", false]], "borea.writer.writer_rpc": [[22, "module-borea.writer.writer_rpc", false]], "bundle_to_image() (borea.transform_world_image.transform_shot.world_image_shot.worldimageshot method)": [[14, "borea.transform_world_image.transform_shot.world_image_shot.WorldImageShot.bundle_to_image", false]], "calculate_barycentre() (borea.worksite.worksite.worksite method)": [[21, "borea.worksite.worksite.Worksite.calculate_barycentre", false]], "calculate_image_world_by_intersection() (borea.transform_world_image.transform_worksite.image_world_intersection.worldintersection method)": [[15, "borea.transform_world_image.transform_worksite.image_world_intersection.WorldIntersection.calculate_image_world_by_intersection", false]], "calculate_world_to_image() (borea.transform_world_image.transform_worksite.world_image_work.worldimagework method)": [[15, "borea.transform_world_image.transform_worksite.world_image_work.WorldImageWork.calculate_world_to_image", false]], "cam (borea.format.conl.conl attribute)": [[2, "borea.format.conl.Conl.cam", false]], "camera (class in borea.datastruct.camera)": [[1, "borea.datastruct.camera.Camera", false]], "camera_txt() (in module borea.reader.reader_camera)": [[9, "borea.reader.reader_camera.camera_txt", false]], "carto_to_geoc (borea.geodesy.transform_geodesy.transformgeodesy property)": [[3, "borea.geodesy.transform_geodesy.TransformGeodesy.carto_to_geoc", false]], "carto_to_geog (borea.geodesy.transform_geodesy.transformgeodesy property)": [[3, "borea.geodesy.transform_geodesy.TransformGeodesy.carto_to_geog", false]], "check_args_opk() (in module borea.utils.check.check_args_opk)": [[17, "borea.utils.check.check_args_opk.check_args_opk", false]], "check_array_transfo() (in module borea.utils.check.check_array)": [[17, "borea.utils.check.check_array.check_array_transfo", false]], "check_h_z() (in module borea.utils.check.check_header)": [[17, "borea.utils.check.check_header.check_h_z", false]], "check_head() (in module borea.utils.check.check_header)": [[17, "borea.utils.check.check_header.check_head", false]], "check_header_file() (in module borea.utils.check.check_args_opk)": [[17, "borea.utils.check.check_args_opk.check_header_file", false]], "check_header_file() (in module borea.utils.check.check_args_reader_pt)": [[17, "borea.utils.check.check_args_reader_pt.check_header_file", false]], "check_order_axe() (in module borea.utils.check.check_order_axe)": [[17, "borea.utils.check.check_order_axe.check_order_axe", false]], "clear() (borea.utils.singleton.singleton.singleton method)": [[19, "borea.utils.singleton.singleton.Singleton.clear", false]], "code (borea.datastruct.gcp.gcp attribute)": [[1, "borea.datastruct.gcp.GCP.code", false]], "comput_inter_in_2_more_distant_shot() (borea.transform_world_image.transform_worksite.image_world_intersection.worldintersection method)": [[15, "borea.transform_world_image.transform_worksite.image_world_intersection.WorldIntersection.comput_inter_in_2_more_distant_shot", false]], "compute_image_world_least_square() (borea.transform_world_image.transform_worksite.image_world_least_square.worldleastsquare method)": [[15, "borea.transform_world_image.transform_worksite.image_world_least_square.WorldLeastSquare.compute_image_world_least_square", false]], "conl (class in borea.format.conl)": [[2, "borea.format.conl.Conl", false]], "conv_output_z_type() (in module borea.transform_world_image.transform_shot.conversion_coor_shot)": [[14, "borea.transform_world_image.transform_shot.conversion_coor_shot.conv_output_z_type", false]], "conv_z_shot_to_z_data() (in module borea.transform_world_image.transform_shot.conversion_coor_shot)": [[14, "borea.transform_world_image.transform_shot.conversion_coor_shot.conv_z_shot_to_z_data", false]], "convert_line_list() (in module borea.geodesy.projectionlist.search_proj)": [[4, "borea.geodesy.projectionlist.search_proj.convert_line_list", false]], "convert_opk_to_xyz() (in module borea.utils.check.check_order_axe)": [[17, "borea.utils.check.check_order_axe.convert_opk_to_xyz", false]], "coor (borea.datastruct.gcp.gcp attribute)": [[1, "borea.datastruct.gcp.GCP.coor", false]], "create_grid_rpc() (borea.format.rpc.rpc method)": [[2, "borea.format.rpc.Rpc.create_grid_rpc", false]], "create_mat_a_and_vect_residu() (borea.transform_world_image.transform_worksite.image_world_least_square.worldleastsquare method)": [[15, "borea.transform_world_image.transform_worksite.image_world_least_square.WorldLeastSquare.create_mat_a_and_vect_residu", false]], "dist_2pts() (in module borea.utils.miscellaneous.miscellaneous)": [[18, "borea.utils.miscellaneous.miscellaneous.dist_2pts", false]], "dtm (class in borea.datastruct.dtm)": [[1, "borea.datastruct.dtm.Dtm", false]], "epsg (borea.geodesy.proj_engine.projengine attribute)": [[3, "borea.geodesy.proj_engine.ProjEngine.epsg", false]], "epsg_output (borea.geodesy.proj_engine.projengine attribute)": [[3, "borea.geodesy.proj_engine.ProjEngine.epsg_output", false]], "eucli_to_bundle() (borea.transform_world_image.transform_shot.world_image_shot.worldimageshot method)": [[14, "borea.transform_world_image.transform_shot.world_image_shot.WorldImageShot.eucli_to_bundle", false]], "eucli_to_image() (borea.transform_world_image.transform_shot.world_image_shot.worldimageshot method)": [[14, "borea.transform_world_image.transform_shot.world_image_shot.WorldImageShot.eucli_to_image", false]], "eucli_to_world() (borea.geodesy.approx_euclidean_proj.approxeuclideanproj method)": [[3, "borea.geodesy.approx_euclidean_proj.ApproxEuclideanProj.eucli_to_world", false]], "eucli_to_world() (borea.geodesy.local_euclidean_proj.localeuclideanproj method)": [[3, "borea.geodesy.local_euclidean_proj.LocalEuclideanProj.eucli_to_world", false]], "euclideanproj (class in borea.geodesy.euclidean_proj)": [[3, "borea.geodesy.euclidean_proj.EuclideanProj", false]], "focal (borea.datastruct.camera.camera attribute)": [[1, "borea.datastruct.camera.Camera.focal", false]], "format_xml() (in module borea.utils.xml.xml)": [[20, "borea.utils.xml.xml.format_xml", false]], "from_param_euclidean() (borea.datastruct.shot.shot class method)": [[1, "borea.datastruct.shot.Shot.from_param_euclidean", false]], "from_shot() (borea.format.rpc.rpc class method)": [[2, "borea.format.rpc.Rpc.from_shot", false]], "func_least_square() (borea.transform_world_image.transform_worksite.space_resection.spaceresection method)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection.func_least_square", false]], "gcp (class in borea.datastruct.gcp)": [[1, "borea.datastruct.gcp.GCP", false]], "geoc_to_carto (borea.geodesy.transform_geodesy.transformgeodesy property)": [[3, "borea.geodesy.transform_geodesy.TransformGeodesy.geoc_to_carto", false]], "geog_to_carto (borea.geodesy.transform_geodesy.transformgeodesy property)": [[3, "borea.geodesy.transform_geodesy.TransformGeodesy.geog_to_carto", false]], "geog_to_geoid (borea.geodesy.transform_geodesy.transformgeodesy property)": [[3, "borea.geodesy.transform_geodesy.TransformGeodesy.geog_to_geoid", false]], "geoid (borea.geodesy.proj_engine.projengine attribute)": [[3, "borea.geodesy.proj_engine.ProjEngine.geoid", false]], "geoid_to_geog (borea.geodesy.transform_geodesy.transformgeodesy property)": [[3, "borea.geodesy.transform_geodesy.TransformGeodesy.geoid_to_geog", false]], "get_attr_transfo_pt() (borea.worksite.worksite.worksite method)": [[21, "borea.worksite.worksite.Worksite.get_attr_transfo_pt", false]], "get_coor_pt_img_and_world() (borea.worksite.worksite.worksite method)": [[21, "borea.worksite.worksite.Worksite.get_coor_pt_img_and_world", false]], "get_meridian_convergence() (borea.geodesy.proj_engine.projengine method)": [[3, "borea.geodesy.proj_engine.ProjEngine.get_meridian_convergence", false]], "get_point_image_dataframe() (borea.worksite.worksite.worksite method)": [[21, "borea.worksite.worksite.Worksite.get_point_image_dataframe", false]], "get_point_world_dataframe() (borea.worksite.worksite.worksite method)": [[21, "borea.worksite.worksite.Worksite.get_point_world_dataframe", false]], "get_scale_factor() (borea.geodesy.proj_engine.projengine method)": [[3, "borea.geodesy.proj_engine.ProjEngine.get_scale_factor", false]], "get_type_z_and_header() (in module borea.utils.check.check_header)": [[17, "borea.utils.check.check_header.get_type_z_and_header", false]], "get_z_add_scale_factor() (borea.datastruct.shot.shot method)": [[1, "borea.datastruct.shot.Shot.get_z_add_scale_factor", false]], "get_z_remove_scale_factor() (borea.datastruct.shot.shot method)": [[1, "borea.datastruct.shot.Shot.get_z_remove_scale_factor", false]], "get_z_world() (borea.datastruct.dtm.dtm method)": [[1, "borea.datastruct.dtm.Dtm.get_z_world", false]], "height (borea.datastruct.camera.camera attribute)": [[1, "borea.datastruct.camera.Camera.height", false]], "image_to_bundle() (borea.transform_world_image.transform_shot.image_world_shot.imageworldshot method)": [[14, "borea.transform_world_image.transform_shot.image_world_shot.ImageWorldShot.image_to_bundle", false]], "image_to_world() (borea.transform_world_image.transform_dtm.world_image_dtm.worldimagedtm method)": [[13, "borea.transform_world_image.transform_dtm.world_image_dtm.WorldImageDtm.image_to_world", false]], "image_to_world() (borea.transform_world_image.transform_shot.image_world_shot.imageworldshot method)": [[14, "borea.transform_world_image.transform_shot.image_world_shot.ImageWorldShot.image_to_world", false]], "image_world_iter() (borea.transform_world_image.transform_shot.image_world_shot.imageworldshot method)": [[14, "borea.transform_world_image.transform_shot.image_world_shot.ImageWorldShot.image_world_iter", false]], "image_z_to_world() (borea.transform_world_image.transform_shot.image_world_shot.imageworldshot method)": [[14, "borea.transform_world_image.transform_shot.image_world_shot.ImageWorldShot.image_z_to_world", false]], "imageworldshot (class in borea.transform_world_image.transform_shot.image_world_shot)": [[14, "borea.transform_world_image.transform_shot.image_world_shot.ImageWorldShot", false]], "imageworldwork (class in borea.transform_world_image.transform_worksite.image_world_work)": [[15, "borea.transform_world_image.transform_worksite.image_world_work.ImageWorldWork", false]], "indent() (in module borea.utils.xml.xml)": [[20, "borea.utils.xml.xml.indent", false]], "init_eucli_points() (borea.transform_world_image.transform_worksite.image_world_least_square.worldleastsquare method)": [[15, "borea.transform_world_image.transform_worksite.image_world_least_square.WorldLeastSquare.init_eucli_points", false]], "init_kappa() (borea.transform_world_image.transform_worksite.space_resection.spaceresection method)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection.init_kappa", false]], "intersection_line_3d() (borea.transform_world_image.transform_worksite.image_world_intersection.worldintersection method)": [[15, "borea.transform_world_image.transform_worksite.image_world_intersection.WorldIntersection.intersection_line_3d", false]], "intersection_pt_in_2shot() (borea.transform_world_image.transform_worksite.image_world_intersection.worldintersection method)": [[15, "borea.transform_world_image.transform_worksite.image_world_intersection.WorldIntersection.intersection_pt_in_2shot", false]], "invert_diag_sparse_matrix_3_3() (in module borea.utils.miscellaneous.sparse)": [[18, "borea.utils.miscellaneous.sparse.invert_diag_sparse_matrix_3_3", false]], "least_square_intersect() (borea.transform_world_image.transform_worksite.image_world_least_square.worldleastsquare method)": [[15, "borea.transform_world_image.transform_worksite.image_world_least_square.WorldLeastSquare.least_square_intersect", false]], "least_square_rpc() (borea.format.rpc.rpc method)": [[2, "borea.format.rpc.Rpc.least_square_rpc", false]], "least_square_shot() (borea.transform_world_image.transform_worksite.space_resection.spaceresection method)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection.least_square_shot", false]], "local_to_eucli() (borea.transform_world_image.transform_shot.image_world_shot.imageworldshot method)": [[14, "borea.transform_world_image.transform_shot.image_world_shot.ImageWorldShot.local_to_eucli", false]], "localeuclideanproj (class in borea.geodesy.local_euclidean_proj)": [[3, "borea.geodesy.local_euclidean_proj.LocalEuclideanProj", false]], "main_stat_and_save() (borea.stat.statistics.stat method)": [[11, "borea.stat.statistics.Stat.main_stat_and_save", false]], "main_stat_image_to_world() (borea.stat.statistics.stat method)": [[11, "borea.stat.statistics.Stat.main_stat_image_to_world", false]], "main_stat_world_to_image() (borea.stat.statistics.stat method)": [[11, "borea.stat.statistics.Stat.main_stat_world_to_image", false]], "manage_image_world() (borea.transform_world_image.transform_worksite.image_world_work.imageworldwork method)": [[15, "borea.transform_world_image.transform_worksite.image_world_work.ImageWorldWork.manage_image_world", false]], "manager_writer() (in module borea.writer.manage_writer)": [[22, "borea.writer.manage_writer.manager_writer", false]], "mat_eucli_to_mat() (borea.geodesy.approx_euclidean_proj.approxeuclideanproj method)": [[3, "borea.geodesy.approx_euclidean_proj.ApproxEuclideanProj.mat_eucli_to_mat", false]], "mat_eucli_to_mat() (borea.geodesy.local_euclidean_proj.localeuclideanproj method)": [[3, "borea.geodesy.local_euclidean_proj.LocalEuclideanProj.mat_eucli_to_mat", false]], "mat_obs_axia() (borea.transform_world_image.transform_worksite.space_resection.spaceresection method)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection.mat_obs_axia", false]], "mat_rot_euclidean_local() (borea.geodesy.local_euclidean_proj.localeuclideanproj method)": [[3, "borea.geodesy.local_euclidean_proj.LocalEuclideanProj.mat_rot_euclidean_local", false]], "mat_to_mat_eucli() (borea.geodesy.approx_euclidean_proj.approxeuclideanproj method)": [[3, "borea.geodesy.approx_euclidean_proj.ApproxEuclideanProj.mat_to_mat_eucli", false]], "mat_to_mat_eucli() (borea.geodesy.local_euclidean_proj.localeuclideanproj method)": [[3, "borea.geodesy.local_euclidean_proj.LocalEuclideanProj.mat_to_mat_eucli", false]], "min_max_pt() (in module borea.utils.miscellaneous.miscellaneous)": [[18, "borea.utils.miscellaneous.miscellaneous.min_max_pt", false]], "module": [[0, "module-borea", false], [1, "module-borea.datastruct", false], [1, "module-borea.datastruct.camera", false], [1, "module-borea.datastruct.dtm", false], [1, "module-borea.datastruct.gcp", false], [1, "module-borea.datastruct.shot", false], [1, "module-borea.datastruct.workdata", false], [2, "module-borea.format", false], [2, "module-borea.format.conl", false], [2, "module-borea.format.rpc", false], [3, "module-borea.geodesy", false], [3, "module-borea.geodesy.approx_euclidean_proj", false], [3, "module-borea.geodesy.euclidean_proj", false], [3, "module-borea.geodesy.local_euclidean_proj", false], [3, "module-borea.geodesy.proj_engine", false], [3, "module-borea.geodesy.transform_geodesy", false], [4, "module-borea.geodesy.projectionlist", false], [4, "module-borea.geodesy.projectionlist.search_proj", false], [5, "module-borea.process", false], [6, "module-borea.process.p_add_data", false], [6, "module-borea.process.p_add_data.p_add_shot", false], [6, "module-borea.process.p_add_data.p_file_gcp2d", false], [6, "module-borea.process.p_add_data.p_file_gcp3d", false], [6, "module-borea.process.p_add_data.p_gen_param", false], [6, "module-borea.process.p_add_data.p_proj", false], [6, "module-borea.process.p_add_data.p_pt2d", false], [6, "module-borea.process.p_add_data.p_pt3d", false], [6, "module-borea.process.p_add_data.p_unit_shot", false], [6, "module-borea.process.p_add_data.p_write", false], [7, "module-borea.process.p_format", false], [7, "module-borea.process.p_format.p_read_opk", false], [7, "module-borea.process.p_format.p_write_con", false], [7, "module-borea.process.p_format.p_write_opk", false], [7, "module-borea.process.p_format.p_write_rpc", false], [8, "module-borea.process.p_func", false], [8, "module-borea.process.p_func.p_control", false], [8, "module-borea.process.p_func.p_image_world", false], [8, "module-borea.process.p_func.p_spaceresection", false], [8, "module-borea.process.p_func.p_tf_proj_pt", false], [8, "module-borea.process.p_func.p_world_image", false], [9, "module-borea.reader", false], [9, "module-borea.reader.reader_camera", false], [9, "module-borea.reader.reader_point", false], [10, "module-borea.reader.orientation", false], [10, "module-borea.reader.orientation.manage_reader", false], [10, "module-borea.reader.orientation.reader_opk", false], [11, "module-borea.stat", false], [11, "module-borea.stat.statistics", false], [12, "module-borea.transform_world_image", false], [13, "module-borea.transform_world_image.transform_dtm", false], [13, "module-borea.transform_world_image.transform_dtm.world_image_dtm", false], [14, "module-borea.transform_world_image.transform_shot", false], [14, "module-borea.transform_world_image.transform_shot.conversion_coor_shot", false], [14, "module-borea.transform_world_image.transform_shot.image_world_shot", false], [14, "module-borea.transform_world_image.transform_shot.world_image_shot", false], [15, "module-borea.transform_world_image.transform_worksite", false], [15, "module-borea.transform_world_image.transform_worksite.image_world_intersection", false], [15, "module-borea.transform_world_image.transform_worksite.image_world_least_square", false], [15, "module-borea.transform_world_image.transform_worksite.image_world_work", false], [15, "module-borea.transform_world_image.transform_worksite.space_resection", false], [15, "module-borea.transform_world_image.transform_worksite.world_image_work", false], [16, "module-borea.utils", false], [17, "module-borea.utils.check", false], [17, "module-borea.utils.check.check_args_opk", false], [17, "module-borea.utils.check.check_args_reader_pt", false], [17, "module-borea.utils.check.check_array", false], [17, "module-borea.utils.check.check_header", false], [17, "module-borea.utils.check.check_order_axe", false], [18, "module-borea.utils.miscellaneous", false], [18, "module-borea.utils.miscellaneous.miscellaneous", false], [18, "module-borea.utils.miscellaneous.param_bundle", false], [18, "module-borea.utils.miscellaneous.sparse", false], [19, "module-borea.utils.singleton", false], [19, "module-borea.utils.singleton.singleton", false], [20, "module-borea.utils.xml", false], [20, "module-borea.utils.xml.xml", false], [21, "module-borea.worksite", false], [21, "module-borea.worksite.worksite", false], [22, "module-borea.writer", false], [22, "module-borea.writer.manage_writer", false], [22, "module-borea.writer.writer_con", false], [22, "module-borea.writer.writer_df_to_txt", false], [22, "module-borea.writer.writer_opk", false], [22, "module-borea.writer.writer_rpc", false]], "name_camera (borea.datastruct.camera.camera attribute)": [[1, "borea.datastruct.camera.Camera.name_camera", false]], "name_gcp (borea.datastruct.gcp.gcp attribute)": [[1, "borea.datastruct.gcp.GCP.name_gcp", false]], "normalize() (in module borea.utils.miscellaneous.miscellaneous)": [[18, "borea.utils.miscellaneous.miscellaneous.normalize", false]], "normalize_data() (borea.format.rpc.rpc method)": [[2, "borea.format.rpc.Rpc.normalize_data", false]], "ppax (borea.datastruct.camera.camera attribute)": [[1, "borea.datastruct.camera.Camera.ppax", false]], "ppay (borea.datastruct.camera.camera attribute)": [[1, "borea.datastruct.camera.Camera.ppay", false]], "process_add_shot() (in module borea.process.p_add_data.p_add_shot)": [[6, "borea.process.p_add_data.p_add_shot.process_add_shot", false]], "process_args_control() (in module borea.process.p_func.p_control)": [[8, "borea.process.p_func.p_control.process_args_control", false]], "process_args_gen_param() (in module borea.process.p_add_data.p_gen_param)": [[6, "borea.process.p_add_data.p_gen_param.process_args_gen_param", false]], "process_args_proj_param() (in module borea.process.p_add_data.p_proj)": [[6, "borea.process.p_add_data.p_proj.process_args_proj_param", false]], "process_args_read_opk() (in module borea.process.p_format.p_read_opk)": [[7, "borea.process.p_format.p_read_opk.process_args_read_opk", false]], "process_args_write_con() (in module borea.process.p_format.p_write_con)": [[7, "borea.process.p_format.p_write_con.process_args_write_con", false]], "process_args_write_opk() (in module borea.process.p_format.p_write_opk)": [[7, "borea.process.p_format.p_write_opk.process_args_write_opk", false]], "process_args_write_rpc() (in module borea.process.p_format.p_write_rpc)": [[7, "borea.process.p_format.p_write_rpc.process_args_write_rpc", false]], "process_gcp2d() (in module borea.process.p_add_data.p_file_gcp2d)": [[6, "borea.process.p_add_data.p_file_gcp2d.process_gcp2d", false]], "process_gcp3d() (in module borea.process.p_add_data.p_file_gcp3d)": [[6, "borea.process.p_add_data.p_file_gcp3d.process_gcp3d", false]], "process_image_world() (in module borea.process.p_add_data.p_pt2d)": [[6, "borea.process.p_add_data.p_pt2d.process_image_world", false]], "process_image_world() (in module borea.process.p_func.p_image_world)": [[8, "borea.process.p_func.p_image_world.process_image_world", false]], "process_space_resection() (in module borea.process.p_func.p_spaceresection)": [[8, "borea.process.p_func.p_spaceresection.process_space_resection", false]], "process_tf_proj_param() (in module borea.process.p_func.p_tf_proj_pt)": [[8, "borea.process.p_func.p_tf_proj_pt.process_tf_proj_param", false]], "process_world_image() (in module borea.process.p_add_data.p_pt3d)": [[6, "borea.process.p_add_data.p_pt3d.process_world_image", false]], "process_world_image() (in module borea.process.p_func.p_world_image)": [[8, "borea.process.p_func.p_world_image.process_world_image", false]], "proj (borea.format.conl.conl attribute)": [[2, "borea.format.conl.Conl.proj", false]], "proj_to_proj_out (borea.geodesy.transform_geodesy.transformgeodesy property)": [[3, "borea.geodesy.transform_geodesy.TransformGeodesy.proj_to_proj_out", false]], "projengine (class in borea.geodesy.proj_engine)": [[3, "borea.geodesy.proj_engine.ProjEngine", false]], "read() (in module borea.reader.orientation.reader_opk)": [[10, "borea.reader.orientation.reader_opk.read", false]], "read_camera() (in module borea.reader.reader_camera)": [[9, "borea.reader.reader_camera.read_camera", false]], "read_file_pt() (in module borea.reader.reader_point)": [[9, "borea.reader.reader_point.read_file_pt", false]], "read_file_pt_dataframe() (in module borea.reader.reader_point)": [[9, "borea.reader.reader_point.read_file_pt_dataframe", false]], "reader_orientation() (in module borea.reader.orientation.manage_reader)": [[10, "borea.reader.orientation.manage_reader.reader_orientation", false]], "rpc (class in borea.format.rpc)": [[2, "borea.format.rpc.Rpc", false]], "save_conl() (borea.format.conl.conl method)": [[2, "borea.format.conl.Conl.save_conl", false]], "save_stat_txt() (borea.stat.statistics.stat method)": [[11, "borea.stat.statistics.Stat.save_stat_txt", false]], "search_info() (in module borea.geodesy.projectionlist.search_proj)": [[4, "borea.geodesy.projectionlist.search_proj.search_info", false]], "seed_20_point() (borea.transform_world_image.transform_worksite.space_resection.spaceresection method)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection.seed_20_point", false]], "set_approx_eucli_proj() (borea.datastruct.workdata.workdata method)": [[1, "borea.datastruct.workdata.Workdata.set_approx_eucli_proj", false]], "set_camera_xml() (borea.format.conl.conl method)": [[2, "borea.format.conl.Conl.set_camera_xml", false]], "set_cval() (borea.datastruct.dtm.dtm method)": [[1, "borea.datastruct.dtm.Dtm.set_cval", false]], "set_dtm() (borea.datastruct.dtm.dtm method)": [[1, "borea.datastruct.dtm.Dtm.set_dtm", false]], "set_dtm() (borea.datastruct.workdata.workdata method)": [[1, "borea.datastruct.workdata.Workdata.set_dtm", false]], "set_epsg() (borea.geodesy.proj_engine.projengine method)": [[3, "borea.geodesy.proj_engine.ProjEngine.set_epsg", false]], "set_geometry_xml() (borea.format.conl.conl method)": [[2, "borea.format.conl.Conl.set_geometry_xml", false]], "set_keep_memory() (borea.datastruct.dtm.dtm method)": [[1, "borea.datastruct.dtm.Dtm.set_keep_memory", false]], "set_linear_alteration() (borea.datastruct.shot.shot method)": [[1, "borea.datastruct.shot.Shot.set_linear_alteration", false]], "set_order() (borea.datastruct.dtm.dtm method)": [[1, "borea.datastruct.dtm.Dtm.set_order", false]], "set_order_axe() (borea.datastruct.shot.shot method)": [[1, "borea.datastruct.shot.Shot.set_order_axe", false]], "set_param_bundle_diff() (in module borea.utils.miscellaneous.param_bundle)": [[18, "borea.utils.miscellaneous.param_bundle.set_param_bundle_diff", false]], "set_param_eucli_shot() (borea.datastruct.shot.shot method)": [[1, "borea.datastruct.shot.Shot.set_param_eucli_shot", false]], "set_param_shot() (borea.worksite.worksite.worksite method)": [[21, "borea.worksite.worksite.Worksite.set_param_shot", false]], "set_point_image_dataframe() (borea.worksite.worksite.worksite method)": [[21, "borea.worksite.worksite.Worksite.set_point_image_dataframe", false]], "set_point_world_dataframe() (borea.worksite.worksite.worksite method)": [[21, "borea.worksite.worksite.Worksite.set_point_world_dataframe", false]], "set_proj() (borea.datastruct.workdata.workdata method)": [[1, "borea.datastruct.workdata.Workdata.set_proj", false]], "set_proj_pos() (borea.datastruct.shot.shot method)": [[1, "borea.datastruct.shot.Shot.set_proj_pos", false]], "set_rot_shot() (borea.datastruct.shot.shot method)": [[1, "borea.datastruct.shot.Shot.set_rot_shot", false]], "set_type_z() (borea.datastruct.shot.shot method)": [[1, "borea.datastruct.shot.Shot.set_type_z", false]], "set_type_z_data() (borea.datastruct.workdata.workdata method)": [[1, "borea.datastruct.workdata.Workdata.set_type_z_data", false]], "set_type_z_shot() (borea.datastruct.workdata.workdata method)": [[1, "borea.datastruct.workdata.Workdata.set_type_z_shot", false]], "set_unit_angle() (borea.datastruct.shot.shot method)": [[1, "borea.datastruct.shot.Shot.set_unit_angle", false]], "set_unit_output() (borea.worksite.worksite.worksite method)": [[21, "borea.worksite.worksite.Worksite.set_unit_output", false]], "set_z_nadir() (borea.datastruct.shot.shot method)": [[1, "borea.datastruct.shot.Shot.set_z_nadir", false]], "setup_matrix_obs_rpc() (borea.format.rpc.rpc method)": [[2, "borea.format.rpc.Rpc.setup_matrix_obs_rpc", false]], "shot (borea.format.conl.conl attribute)": [[2, "borea.format.conl.Conl.shot", false]], "shot (class in borea.datastruct.shot)": [[1, "borea.datastruct.shot.Shot", false]], "singleton (class in borea.utils.singleton.singleton)": [[19, "borea.utils.singleton.singleton.Singleton", false]], "space_resection_gap() (borea.transform_world_image.transform_worksite.space_resection.spaceresection method)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection.space_resection_gap", false]], "space_resection_on_worksite() (borea.transform_world_image.transform_worksite.space_resection.spaceresection method)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection.space_resection_on_worksite", false]], "space_resection_shot() (borea.transform_world_image.transform_worksite.space_resection.spaceresection method)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection.space_resection_shot", false]], "space_resection_to_worksite() (borea.transform_world_image.transform_worksite.space_resection.spaceresection method)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection.space_resection_to_worksite", false]], "spaceresection (class in borea.transform_world_image.transform_worksite.space_resection)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection", false]], "stat (class in borea.stat.statistics)": [[11, "borea.stat.statistics.Stat", false]], "stat_image_to_world() (borea.stat.statistics.stat method)": [[11, "borea.stat.statistics.Stat.stat_image_to_world", false]], "stat_list() (borea.stat.statistics.stat method)": [[11, "borea.stat.statistics.Stat.stat_list", false]], "stat_world_to_image() (borea.stat.statistics.stat method)": [[11, "borea.stat.statistics.Stat.stat_world_to_image", false]], "take_obs() (borea.transform_world_image.transform_worksite.space_resection.spaceresection method)": [[15, "borea.transform_world_image.transform_worksite.space_resection.SpaceResection.take_obs", false]], "tranform_altitude() (borea.geodesy.transform_geodesy.transformgeodesy method)": [[3, "borea.geodesy.transform_geodesy.TransformGeodesy.tranform_altitude", false]], "tranform_height() (borea.geodesy.transform_geodesy.transformgeodesy method)": [[3, "borea.geodesy.transform_geodesy.TransformGeodesy.tranform_height", false]], "transform_pt_proj() (borea.geodesy.transform_geodesy.transformgeodesy method)": [[3, "borea.geodesy.transform_geodesy.TransformGeodesy.transform_pt_proj", false]], "transformgeodesy (class in borea.geodesy.transform_geodesy)": [[3, "borea.geodesy.transform_geodesy.TransformGeodesy", false]], "width (borea.datastruct.camera.camera attribute)": [[1, "borea.datastruct.camera.Camera.width", false]], "work (borea.transform_world_image.transform_worksite.image_world_intersection.worldintersection attribute)": [[15, "borea.transform_world_image.transform_worksite.image_world_intersection.WorldIntersection.work", false]], "work (borea.transform_world_image.transform_worksite.image_world_least_square.worldleastsquare attribute)": [[15, "borea.transform_world_image.transform_worksite.image_world_least_square.WorldLeastSquare.work", false]], "work (borea.transform_world_image.transform_worksite.image_world_work.imageworldwork attribute)": [[15, "borea.transform_world_image.transform_worksite.image_world_work.ImageWorldWork.work", false]], "work (borea.transform_world_image.transform_worksite.world_image_work.worldimagework attribute)": [[15, "borea.transform_world_image.transform_worksite.world_image_work.WorldImageWork.work", false]], "workdata (class in borea.datastruct.workdata)": [[1, "borea.datastruct.workdata.Workdata", false]], "worksite (class in borea.worksite.worksite)": [[21, "borea.worksite.worksite.Worksite", false]], "world_to_eucli() (borea.geodesy.approx_euclidean_proj.approxeuclideanproj method)": [[3, "borea.geodesy.approx_euclidean_proj.ApproxEuclideanProj.world_to_eucli", false]], "world_to_eucli() (borea.geodesy.local_euclidean_proj.localeuclideanproj method)": [[3, "borea.geodesy.local_euclidean_proj.LocalEuclideanProj.world_to_eucli", false]], "world_to_image() (borea.transform_world_image.transform_dtm.world_image_dtm.worldimagedtm method)": [[13, "borea.transform_world_image.transform_dtm.world_image_dtm.WorldImageDtm.world_to_image", false]], "world_to_image() (borea.transform_world_image.transform_shot.world_image_shot.worldimageshot method)": [[14, "borea.transform_world_image.transform_shot.world_image_shot.WorldImageShot.world_to_image", false]], "worldimagedtm (class in borea.transform_world_image.transform_dtm.world_image_dtm)": [[13, "borea.transform_world_image.transform_dtm.world_image_dtm.WorldImageDtm", false]], "worldimageshot (class in borea.transform_world_image.transform_shot.world_image_shot)": [[14, "borea.transform_world_image.transform_shot.world_image_shot.WorldImageShot", false]], "worldimagework (class in borea.transform_world_image.transform_worksite.world_image_work)": [[15, "borea.transform_world_image.transform_worksite.world_image_work.WorldImageWork", false]], "worldintersection (class in borea.transform_world_image.transform_worksite.image_world_intersection)": [[15, "borea.transform_world_image.transform_worksite.image_world_intersection.WorldIntersection", false]], "worldleastsquare (class in borea.transform_world_image.transform_worksite.image_world_least_square)": [[15, "borea.transform_world_image.transform_worksite.image_world_least_square.WorldLeastSquare", false]], "write() (in module borea.writer.writer_con)": [[22, "borea.writer.writer_con.write", false]], "write() (in module borea.writer.writer_opk)": [[22, "borea.writer.writer_opk.write", false]], "write() (in module borea.writer.writer_rpc)": [[22, "borea.writer.writer_rpc.write", false]], "write_df_to_txt() (in module borea.writer.writer_df_to_txt)": [[22, "borea.writer.writer_df_to_txt.write_df_to_txt", false]], "write_stat() (borea.stat.statistics.stat method)": [[11, "borea.stat.statistics.Stat.write_stat", false]], "x_central (borea.geodesy.euclidean_proj.euclideanproj attribute)": [[3, "borea.geodesy.euclidean_proj.EuclideanProj.x_central", false]], "y_central (borea.geodesy.euclidean_proj.euclideanproj attribute)": [[3, "borea.geodesy.euclidean_proj.EuclideanProj.y_central", false]]}, "objects": {"": [[0, 0, 0, "-", "borea"]], "borea": [[1, 0, 0, "-", "datastruct"], [2, 0, 0, "-", "format"], [3, 0, 0, "-", "geodesy"], [5, 0, 0, "-", "process"], [9, 0, 0, "-", "reader"], [11, 0, 0, "-", "stat"], [12, 0, 0, "-", "transform_world_image"], [16, 0, 0, "-", "utils"], [21, 0, 0, "-", "worksite"], [22, 0, 0, "-", "writer"]], "borea.datastruct": [[1, 0, 0, "-", "camera"], [1, 0, 0, "-", "dtm"], [1, 0, 0, "-", "gcp"], [1, 0, 0, "-", "shot"], [1, 0, 0, "-", "workdata"]], "borea.datastruct.camera": [[1, 1, 1, "", "Camera"]], "borea.datastruct.camera.Camera": [[1, 2, 1, "", "focal"], [1, 2, 1, "", "height"], [1, 2, 1, "", "name_camera"], [1, 2, 1, "", "ppax"], [1, 2, 1, "", "ppay"], [1, 2, 1, "", "width"]], "borea.datastruct.dtm": [[1, 1, 1, "", "Dtm"]], "borea.datastruct.dtm.Dtm": [[1, 3, 1, "", "get_z_world"], [1, 3, 1, "", "set_cval"], [1, 3, 1, "", "set_dtm"], [1, 3, 1, "", "set_keep_memory"], [1, 3, 1, "", "set_order"]], "borea.datastruct.gcp": [[1, 1, 1, "", "GCP"]], "borea.datastruct.gcp.GCP": [[1, 2, 1, "", "code"], [1, 2, 1, "", "coor"], [1, 2, 1, "", "name_gcp"]], "borea.datastruct.shot": [[1, 1, 1, "", "Shot"]], "borea.datastruct.shot.Shot": [[1, 3, 1, "", "from_param_euclidean"], [1, 3, 1, "", "get_z_add_scale_factor"], [1, 3, 1, "", "get_z_remove_scale_factor"], [1, 3, 1, "", "set_linear_alteration"], [1, 3, 1, "", "set_order_axe"], [1, 3, 1, "", "set_param_eucli_shot"], [1, 3, 1, "", "set_proj_pos"], [1, 3, 1, "", "set_rot_shot"], [1, 3, 1, "", "set_type_z"], [1, 3, 1, "", "set_unit_angle"], [1, 3, 1, "", "set_z_nadir"]], "borea.datastruct.workdata": [[1, 1, 1, "", "Workdata"]], "borea.datastruct.workdata.Workdata": [[1, 3, 1, "", "add_camera"], [1, 3, 1, "", "add_co_point"], [1, 3, 1, "", "add_gcp2d"], [1, 3, 1, "", "add_gcp3d"], [1, 3, 1, "", "add_shot"], [1, 3, 1, "", "set_approx_eucli_proj"], [1, 3, 1, "", "set_dtm"], [1, 3, 1, "", "set_proj"], [1, 3, 1, "", "set_type_z_data"], [1, 3, 1, "", "set_type_z_shot"]], "borea.format": [[2, 0, 0, "-", "conl"], [2, 0, 0, "-", "rpc"]], "borea.format.conl": [[2, 1, 1, "", "Conl"]], "borea.format.conl.Conl": [[2, 2, 1, "", "cam"], [2, 2, 1, "", "proj"], [2, 3, 1, "", "save_conl"], [2, 3, 1, "", "set_camera_xml"], [2, 3, 1, "", "set_geometry_xml"], [2, 2, 1, "", "shot"]], "borea.format.rpc": [[2, 1, 1, "", "Rpc"]], "borea.format.rpc.Rpc": [[2, 3, 1, "", "create_grid_rpc"], [2, 3, 1, "", "from_shot"], [2, 3, 1, "", "least_square_rpc"], [2, 3, 1, "", "normalize_data"], [2, 3, 1, "", "setup_matrix_obs_rpc"]], "borea.geodesy": [[3, 0, 0, "-", "approx_euclidean_proj"], [3, 0, 0, "-", "euclidean_proj"], [3, 0, 0, "-", "local_euclidean_proj"], [3, 0, 0, "-", "proj_engine"], [4, 0, 0, "-", "projectionlist"], [3, 0, 0, "-", "transform_geodesy"]], "borea.geodesy.approx_euclidean_proj": [[3, 1, 1, "", "ApproxEuclideanProj"]], "borea.geodesy.approx_euclidean_proj.ApproxEuclideanProj": [[3, 3, 1, "", "eucli_to_world"], [3, 3, 1, "", "mat_eucli_to_mat"], [3, 3, 1, "", "mat_to_mat_eucli"], [3, 3, 1, "", "world_to_eucli"]], "borea.geodesy.euclidean_proj": [[3, 1, 1, "", "EuclideanProj"]], "borea.geodesy.euclidean_proj.EuclideanProj": [[3, 2, 1, "", "x_central"], [3, 2, 1, "", "y_central"]], "borea.geodesy.local_euclidean_proj": [[3, 1, 1, "", "LocalEuclideanProj"]], "borea.geodesy.local_euclidean_proj.LocalEuclideanProj": [[3, 3, 1, "", "eucli_to_world"], [3, 3, 1, "", "mat_eucli_to_mat"], [3, 3, 1, "", "mat_rot_euclidean_local"], [3, 3, 1, "", "mat_to_mat_eucli"], [3, 3, 1, "", "world_to_eucli"]], "borea.geodesy.proj_engine": [[3, 1, 1, "", "ProjEngine"]], "borea.geodesy.proj_engine.ProjEngine": [[3, 2, 1, "", "epsg"], [3, 2, 1, "", "epsg_output"], [3, 2, 1, "", "geoid"], [3, 3, 1, "", "get_meridian_convergence"], [3, 3, 1, "", "get_scale_factor"], [3, 3, 1, "", "set_epsg"]], "borea.geodesy.projectionlist": [[4, 0, 0, "-", "search_proj"]], "borea.geodesy.projectionlist.search_proj": [[4, 4, 1, "", "convert_line_list"], [4, 4, 1, "", "search_info"]], "borea.geodesy.transform_geodesy": [[3, 1, 1, "", "TransformGeodesy"]], "borea.geodesy.transform_geodesy.TransformGeodesy": [[3, 5, 1, "", "carto_to_geoc"], [3, 5, 1, "", "carto_to_geog"], [3, 5, 1, "", "geoc_to_carto"], [3, 5, 1, "", "geog_to_carto"], [3, 5, 1, "", "geog_to_geoid"], [3, 5, 1, "", "geoid_to_geog"], [3, 5, 1, "", "proj_to_proj_out"], [3, 3, 1, "", "tranform_altitude"], [3, 3, 1, "", "tranform_height"], [3, 3, 1, "", "transform_pt_proj"]], "borea.process": [[6, 0, 0, "-", "p_add_data"], [7, 0, 0, "-", "p_format"], [8, 0, 0, "-", "p_func"]], "borea.process.p_add_data": [[6, 0, 0, "-", "p_add_shot"], [6, 0, 0, "-", "p_file_gcp2d"], [6, 0, 0, "-", "p_file_gcp3d"], [6, 0, 0, "-", "p_gen_param"], [6, 0, 0, "-", "p_proj"], [6, 0, 0, "-", "p_pt2d"], [6, 0, 0, "-", "p_pt3d"], [6, 0, 0, "-", "p_unit_shot"], [6, 0, 0, "-", "p_write"]], "borea.process.p_add_data.p_add_shot": [[6, 4, 1, "", "args_add_shot"], [6, 4, 1, "", "process_add_shot"]], "borea.process.p_add_data.p_file_gcp2d": [[6, 4, 1, "", "args_gcp2d"], [6, 4, 1, "", "process_gcp2d"]], "borea.process.p_add_data.p_file_gcp3d": [[6, 4, 1, "", "args_gcp3d"], [6, 4, 1, "", "process_gcp3d"]], "borea.process.p_add_data.p_gen_param": [[6, 4, 1, "", "args_general_param"], [6, 4, 1, "", "process_args_gen_param"]], "borea.process.p_add_data.p_proj": [[6, 4, 1, "", "args_proj_param"], [6, 4, 1, "", "process_args_proj_param"]], "borea.process.p_add_data.p_pt2d": [[6, 4, 1, "", "args_add_pt2d"], [6, 4, 1, "", "process_image_world"]], "borea.process.p_add_data.p_pt3d": [[6, 4, 1, "", "args_add_pt3d"], [6, 4, 1, "", "process_world_image"]], "borea.process.p_add_data.p_unit_shot": [[6, 4, 1, "", "args_input_shot"], [6, 4, 1, "", "args_output_shot"]], "borea.process.p_add_data.p_write": [[6, 4, 1, "", "args_writer"]], "borea.process.p_format": [[7, 0, 0, "-", "p_read_opk"], [7, 0, 0, "-", "p_write_con"], [7, 0, 0, "-", "p_write_opk"], [7, 0, 0, "-", "p_write_rpc"]], "borea.process.p_format.p_read_opk": [[7, 4, 1, "", "args_reading_opk"], [7, 4, 1, "", "process_args_read_opk"]], "borea.process.p_format.p_write_con": [[7, 4, 1, "", "args_write_con"], [7, 4, 1, "", "process_args_write_con"]], "borea.process.p_format.p_write_opk": [[7, 4, 1, "", "args_writing_opk"], [7, 4, 1, "", "process_args_write_opk"]], "borea.process.p_format.p_write_rpc": [[7, 4, 1, "", "args_writing_rpc"], [7, 4, 1, "", "process_args_write_rpc"]], "borea.process.p_func": [[8, 0, 0, "-", "p_control"], [8, 0, 0, "-", "p_image_world"], [8, 0, 0, "-", "p_spaceresection"], [8, 0, 0, "-", "p_tf_proj_pt"], [8, 0, 0, "-", "p_world_image"]], "borea.process.p_func.p_control": [[8, 4, 1, "", "args_control"], [8, 4, 1, "", "process_args_control"]], "borea.process.p_func.p_image_world": [[8, 4, 1, "", "args_image_world"], [8, 4, 1, "", "process_image_world"]], "borea.process.p_func.p_spaceresection": [[8, 4, 1, "", "args_space_resection"], [8, 4, 1, "", "process_space_resection"]], "borea.process.p_func.p_tf_proj_pt": [[8, 4, 1, "", "args_tf_proj_param"], [8, 4, 1, "", "process_tf_proj_param"]], "borea.process.p_func.p_world_image": [[8, 4, 1, "", "args_world_image"], [8, 4, 1, "", "process_world_image"]], "borea.reader": [[10, 0, 0, "-", "orientation"], [9, 0, 0, "-", "reader_camera"], [9, 0, 0, "-", "reader_point"]], "borea.reader.orientation": [[10, 0, 0, "-", "manage_reader"], [10, 0, 0, "-", "reader_opk"]], "borea.reader.orientation.manage_reader": [[10, 4, 1, "", "reader_orientation"]], "borea.reader.orientation.reader_opk": [[10, 4, 1, "", "read"]], "borea.reader.reader_camera": [[9, 4, 1, "", "camera_txt"], [9, 4, 1, "", "read_camera"]], "borea.reader.reader_point": [[9, 4, 1, "", "read_file_pt"], [9, 4, 1, "", "read_file_pt_dataframe"]], "borea.stat": [[11, 0, 0, "-", "statistics"]], "borea.stat.statistics": [[11, 1, 1, "", "Stat"]], "borea.stat.statistics.Stat": [[11, 3, 1, "", "main_stat_and_save"], [11, 3, 1, "", "main_stat_image_to_world"], [11, 3, 1, "", "main_stat_world_to_image"], [11, 3, 1, "", "save_stat_txt"], [11, 3, 1, "", "stat_image_to_world"], [11, 3, 1, "", "stat_list"], [11, 3, 1, "", "stat_world_to_image"], [11, 3, 1, "", "write_stat"]], "borea.transform_world_image": [[13, 0, 0, "-", "transform_dtm"], [14, 0, 0, "-", "transform_shot"], [15, 0, 0, "-", "transform_worksite"]], "borea.transform_world_image.transform_dtm": [[13, 0, 0, "-", "world_image_dtm"]], "borea.transform_world_image.transform_dtm.world_image_dtm": [[13, 1, 1, "", "WorldImageDtm"]], "borea.transform_world_image.transform_dtm.world_image_dtm.WorldImageDtm": [[13, 3, 1, "", "image_to_world"], [13, 3, 1, "", "world_to_image"]], "borea.transform_world_image.transform_shot": [[14, 0, 0, "-", "conversion_coor_shot"], [14, 0, 0, "-", "image_world_shot"], [14, 0, 0, "-", "world_image_shot"]], "borea.transform_world_image.transform_shot.conversion_coor_shot": [[14, 4, 1, "", "conv_output_z_type"], [14, 4, 1, "", "conv_z_shot_to_z_data"]], "borea.transform_world_image.transform_shot.image_world_shot": [[14, 1, 1, "", "ImageWorldShot"]], "borea.transform_world_image.transform_shot.image_world_shot.ImageWorldShot": [[14, 3, 1, "", "image_to_bundle"], [14, 3, 1, "", "image_to_world"], [14, 3, 1, "", "image_world_iter"], [14, 3, 1, "", "image_z_to_world"], [14, 3, 1, "", "local_to_eucli"]], "borea.transform_world_image.transform_shot.world_image_shot": [[14, 1, 1, "", "WorldImageShot"]], "borea.transform_world_image.transform_shot.world_image_shot.WorldImageShot": [[14, 3, 1, "", "bundle_to_image"], [14, 3, 1, "", "eucli_to_bundle"], [14, 3, 1, "", "eucli_to_image"], [14, 3, 1, "", "world_to_image"]], "borea.transform_world_image.transform_worksite": [[15, 0, 0, "-", "image_world_intersection"], [15, 0, 0, "-", "image_world_least_square"], [15, 0, 0, "-", "image_world_work"], [15, 0, 0, "-", "space_resection"], [15, 0, 0, "-", "world_image_work"]], "borea.transform_world_image.transform_worksite.image_world_intersection": [[15, 1, 1, "", "WorldIntersection"]], "borea.transform_world_image.transform_worksite.image_world_intersection.WorldIntersection": [[15, 3, 1, "", "calculate_image_world_by_intersection"], [15, 3, 1, "", "comput_inter_in_2_more_distant_shot"], [15, 3, 1, "", "intersection_line_3d"], [15, 3, 1, "", "intersection_pt_in_2shot"], [15, 2, 1, "", "work"]], "borea.transform_world_image.transform_worksite.image_world_least_square": [[15, 1, 1, "", "WorldLeastSquare"]], "borea.transform_world_image.transform_worksite.image_world_least_square.WorldLeastSquare": [[15, 3, 1, "", "compute_image_world_least_square"], [15, 3, 1, "", "create_mat_a_and_vect_residu"], [15, 3, 1, "", "init_eucli_points"], [15, 3, 1, "", "least_square_intersect"], [15, 2, 1, "", "work"]], "borea.transform_world_image.transform_worksite.image_world_work": [[15, 1, 1, "", "ImageWorldWork"]], "borea.transform_world_image.transform_worksite.image_world_work.ImageWorldWork": [[15, 3, 1, "", "manage_image_world"], [15, 2, 1, "", "work"]], "borea.transform_world_image.transform_worksite.space_resection": [[15, 1, 1, "", "SpaceResection"]], "borea.transform_world_image.transform_worksite.space_resection.SpaceResection": [[15, 3, 1, "", "func_least_square"], [15, 3, 1, "", "init_kappa"], [15, 3, 1, "", "least_square_shot"], [15, 3, 1, "", "mat_obs_axia"], [15, 3, 1, "", "seed_20_point"], [15, 3, 1, "", "space_resection_gap"], [15, 3, 1, "", "space_resection_on_worksite"], [15, 3, 1, "", "space_resection_shot"], [15, 3, 1, "", "space_resection_to_worksite"], [15, 3, 1, "", "take_obs"]], "borea.transform_world_image.transform_worksite.world_image_work": [[15, 1, 1, "", "WorldImageWork"]], "borea.transform_world_image.transform_worksite.world_image_work.WorldImageWork": [[15, 3, 1, "", "calculate_world_to_image"], [15, 2, 1, "", "work"]], "borea.utils": [[17, 0, 0, "-", "check"], [18, 0, 0, "-", "miscellaneous"], [19, 0, 0, "-", "singleton"], [20, 0, 0, "-", "xml"]], "borea.utils.check": [[17, 0, 0, "-", "check_args_opk"], [17, 0, 0, "-", "check_args_reader_pt"], [17, 0, 0, "-", "check_array"], [17, 0, 0, "-", "check_header"], [17, 0, 0, "-", "check_order_axe"]], "borea.utils.check.check_args_opk": [[17, 4, 1, "", "check_args_opk"], [17, 4, 1, "", "check_header_file"]], "borea.utils.check.check_args_reader_pt": [[17, 4, 1, "", "check_header_file"]], "borea.utils.check.check_array": [[17, 4, 1, "", "check_array_transfo"]], "borea.utils.check.check_header": [[17, 4, 1, "", "check_h_z"], [17, 4, 1, "", "check_head"], [17, 4, 1, "", "get_type_z_and_header"]], "borea.utils.check.check_order_axe": [[17, 4, 1, "", "check_order_axe"], [17, 4, 1, "", "convert_opk_to_xyz"]], "borea.utils.miscellaneous": [[18, 0, 0, "-", "miscellaneous"], [18, 0, 0, "-", "param_bundle"], [18, 0, 0, "-", "sparse"]], "borea.utils.miscellaneous.miscellaneous": [[18, 4, 1, "", "angle_degree_2vect"], [18, 4, 1, "", "dist_2pts"], [18, 4, 1, "", "min_max_pt"], [18, 4, 1, "", "normalize"]], "borea.utils.miscellaneous.param_bundle": [[18, 4, 1, "", "set_param_bundle_diff"]], "borea.utils.miscellaneous.sparse": [[18, 4, 1, "", "invert_diag_sparse_matrix_3_3"]], "borea.utils.singleton": [[19, 0, 0, "-", "singleton"]], "borea.utils.singleton.singleton": [[19, 1, 1, "", "Singleton"]], "borea.utils.singleton.singleton.Singleton": [[19, 3, 1, "", "clear"]], "borea.utils.xml": [[20, 0, 0, "-", "xml"]], "borea.utils.xml.xml": [[20, 4, 1, "", "add_elem"], [20, 4, 1, "", "format_xml"], [20, 4, 1, "", "indent"]], "borea.worksite": [[21, 0, 0, "-", "worksite"]], "borea.worksite.worksite": [[21, 1, 1, "", "Worksite"]], "borea.worksite.worksite.Worksite": [[21, 3, 1, "", "calculate_barycentre"], [21, 3, 1, "", "get_attr_transfo_pt"], [21, 3, 1, "", "get_coor_pt_img_and_world"], [21, 3, 1, "", "get_point_image_dataframe"], [21, 3, 1, "", "get_point_world_dataframe"], [21, 3, 1, "", "set_param_shot"], [21, 3, 1, "", "set_point_image_dataframe"], [21, 3, 1, "", "set_point_world_dataframe"], [21, 3, 1, "", "set_unit_output"]], "borea.writer": [[22, 0, 0, "-", "manage_writer"], [22, 0, 0, "-", "writer_con"], [22, 0, 0, "-", "writer_df_to_txt"], [22, 0, 0, "-", "writer_opk"], [22, 0, 0, "-", "writer_rpc"]], "borea.writer.manage_writer": [[22, 4, 1, "", "manager_writer"]], "borea.writer.writer_con": [[22, 4, 1, "", "write"]], "borea.writer.writer_df_to_txt": [[22, 4, 1, "", "write_df_to_txt"]], "borea.writer.writer_opk": [[22, 4, 1, "", "write"]], "borea.writer.writer_rpc": [[22, 4, 1, "", "write"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "function", "Python function"], "5": ["py", "property", "Python property"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:function", "5": "py:property"}, "terms": {"": [11, 15, 18, 19], "0": [1, 14, 15, 18, 20], "1": [1, 2, 10, 15, 17], "10": [2, 6, 7, 8, 20], "100": 2, "11": 1, "12": 1, "13": 1, "2": [1, 2, 15, 18], "20": 15, "2154": [1, 3], "2d": [1, 6, 13, 18], "3": [1, 2, 15], "3d": [6, 8, 15], "5": 1, "5f": 20, "6": [8, 15], "A": [1, 2, 3, 10, 15, 17, 18], "And": 1, "For": 15, "If": [1, 3, 15], "It": 19, "NOT": [1, 14], "One": [1, 4], "The": [1, 2, 3, 10, 14, 15, 18, 20, 21, 22], "To": [14, 15], "absolut": 11, "account": [10, 17], "acquisit": [1, 2, 15], "ad": [1, 6, 8, 15], "add": [1, 2, 6, 7, 8, 10, 15, 20], "add_camera": [0, 1], "add_co_point": [0, 1], "add_elem": [16, 20], "add_gcp2d": [0, 1], "add_gcp3d": [0, 1], "add_pixel": 15, "add_shot": [0, 1], "adjust": 15, "after": 1, "agr": [1, 9], "aim": 19, "all": [1, 4, 11, 15, 17, 21], "allow": [1, 3, 21], "alter": [1, 10, 14, 17, 22], "altitud": [1, 3, 14, 17], "alwai": [1, 2], "an": [1, 3, 10, 14, 15, 17, 18, 22], "angl": [1, 10, 15, 17, 18, 21, 22], "angle_degree_2vect": [16, 18], "ani": [1, 20], "app": 9, "appear": 15, "appli": [6, 7, 8], "approx": [1, 14, 21], "approx_euclidean_proj": [0, 24], "approxeucli": 1, "approxeuclideanproj": [0, 3], "approxim": 3, "apprx": 1, "ar": [1, 3, 17], "aren": 15, "arg": [1, 3, 6, 7, 8, 10, 17, 22], "argpars": [6, 7, 8], "args_add_pt2d": [5, 6], "args_add_pt3d": [5, 6], "args_add_shot": [5, 6], "args_control": [5, 8], "args_gcp2d": [5, 6], "args_gcp3d": [5, 6], "args_general_param": [5, 6], "args_image_world": [5, 8], "args_input_shot": [5, 6], "args_output_shot": [5, 6], "args_proj_param": [5, 6], "args_reading_opk": [5, 7], "args_space_resect": [5, 8], "args_tf_proj_param": [5, 8], "args_world_imag": [5, 8], "args_writ": [5, 6], "args_write_con": [5, 7], "args_writing_opk": [5, 7], "args_writing_rpc": [5, 7], "argspars": [6, 7, 8], "argument": [6, 7, 8], "arithmet": 11, "around": 2, "arrai": [1, 2, 3, 13, 14, 15, 17, 18, 21], "arrang": 9, "ask": [3, 14], "attribut": [1, 21], "ax": [1, 10, 17, 22], "axiat": 15, "b": 15, "bad_head": 17, "balis": [2, 20], "barycentr": 21, "base": [1, 2, 3, 11, 13, 14, 15, 19, 21], "bdortho": 4, "beam": 18, "befor": 3, "begin": 22, "belong": 19, "between": [1, 3, 15, 17, 18], "bilinear": 1, "block": 18, "bool": [1, 10, 14, 17, 21, 22], "boolean": [1, 17], "borea": 23, "buffer": 2, "build": 1, "bundl": [14, 15, 18], "bundle_to_imag": [12, 14], "c": [2, 14], "c_ob": 15, "calcul": [2, 6, 8, 11, 14, 15, 18, 21, 22], "calculate_barycentr": [0, 21], "calculate_image_world_by_intersect": [12, 15], "calculate_world_to_imag": [12, 15], "calcult": 15, "cam": [0, 2, 14, 15], "camera": [0, 2, 9, 14, 15, 24], "camera_txt": [0, 9], "carto_to_geoc": [0, 3], "carto_to_geog": [0, 3], "carto_to_geog_out": 3, "cartograph": 3, "cartographiqu": 14, "categori": 19, "center": 1, "centr": 3, "central": 3, "chang": [1, 3, 15, 21], "check": [0, 15, 16], "check_args_opk": [0, 16], "check_args_reader_pt": [0, 16], "check_arrai": [0, 16], "check_array_transfo": [16, 17], "check_h_z": [16, 17], "check_head": [0, 16], "check_header_fil": [16, 17], "check_lett": 17, "check_order_ax": [0, 16], "class": [1, 2, 3, 11, 13, 14, 15, 19, 21, 22], "classmethod": [1, 2], "clear": [16, 19], "co": 15, "co_point": [1, 9, 15, 17, 21], "code": [0, 1, 3, 15, 17, 22], "code_gcp": 1, "coeffici": 2, "col": [2, 14], "collinear": 3, "column": [1, 2, 9, 10, 13, 15, 17, 21, 22], "combin": 17, "comput": [2, 3, 13], "comput_inter_in_2_more_distant_shot": [12, 15], "compute_image_world_least_squar": [12, 15], "con": 22, "condit": 1, "conic": [2, 7, 22], "conl": [0, 24], "connect": [1, 9, 15], "construct": 1, "contain": [1, 17], "content": 24, "control": [1, 8, 11, 15, 21], "control_typ": [15, 21], "conv_output_z_typ": [12, 14], "conv_z_shot_to_z_data": [12, 14], "converg": [3, 15], "convers": [14, 17], "conversion_coor_shot": [0, 12], "convert": [2, 3, 4, 14, 17, 22], "convert_line_list": [3, 4], "convert_opk_to_xyz": [16, 17], "coodin": 14, "coor": [0, 1, 3, 14], "coor2d": 1, "coor_2d": 1, "coor_eucli": [3, 18], "coor_gcp": 1, "coor_img": 13, "coor_init": 15, "coor_world": [3, 13, 14], "coordin": [1, 2, 3, 6, 8, 13, 14, 15, 18, 22], "coordinn": 18, "coordonne": 15, "copoint": 15, "correct": [1, 10, 17, 21, 22], "correspond": 15, "cr": 3, "creat": [2, 3], "create_grid_rpc": [0, 2], "create_mat_a_and_vect_residu": [12, 15], "creation": [2, 15, 19], "cubic": 1, "cval": 1, "data": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 14, 15, 17, 18, 21, 22], "data_input": 4, "data_list": 11, "datafram": [3, 9, 15, 21, 22], "datastruct": [0, 24], "de": 1, "definit": 1, "degre": [1, 2, 3, 10, 17, 18, 22], "depend": [15, 21], "describ": 2, "design": 19, "df": 22, "df_pt": 3, "dfpt": 15, "dict": [1, 2, 10, 11, 15, 17, 22], "dictionari": [2, 11, 22], "dictionnari": 15, "diff": 17, "differ": 21, "differenti": [1, 18], "digit": 1, "dim": [17, 18], "dimens": 17, "direct": 15, "dist_2pt": [16, 18], "distanc": [15, 18], "distant": 15, "distort": 1, "do": 15, "dtm": [0, 13, 19, 24], "du": 14, "dx": 15, "d\u00e9fault": 14, "e": [10, 17], "each": 15, "edg": 1, "elem": 20, "element": [4, 15, 17, 20], "elementtre": [2, 20], "elev": 1, "enough": 15, "epsg": [0, 1, 3, 4, 22], "epsg_output": [0, 1, 3, 22], "equat": [3, 15], "error": [1, 17], "et": [2, 20], "etre": [2, 20], "eucli": 15, "eucli_to_bundl": [12, 14], "eucli_to_imag": [12, 14], "eucli_to_world": [0, 3], "euclidean": [1, 3, 14, 15, 18, 21], "euclidean_proj": [0, 24], "euclideanproj": [0, 3], "euclidian": 3, "euclidien": 15, "ex": [1, 3], "extern": [8, 15], "externa": 15, "extract": [1, 3], "fact_rpc": [2, 22], "factor": [1, 2, 3, 15, 22], "fals": [14, 17, 21], "field": 15, "file": [1, 2, 4, 6, 7, 8, 9, 10, 11, 17, 20, 22], "fill": 1, "first": [15, 18], "fisrt": 18, "fix": 15, "flaot": 1, "flip": 18, "float": [1, 3, 14, 15, 17, 18], "focal": [0, 1], "folder": 22, "folder_con": 22, "folder_rpc": 22, "form": 1, "formal": 17, "format": [0, 1, 9, 17, 20, 22, 24], "format_xml": [16, 20], "frame": 18, "frist": 15, "from": [2, 3, 6, 7, 8, 13, 15, 20], "from_param_euclidean": [0, 1], "from_shot": [0, 2], "func_least_squar": [12, 15], "function": [3, 10, 11, 13, 14, 17, 18, 20, 22], "g": [10, 17], "gcp": [0, 6, 15, 21, 24], "gcp2d": [1, 9, 15, 17, 21], "gcp3d": [9, 15, 17], "gdal": 1, "gener": 6, "geoc_to_carto": [0, 3], "geodesi": [0, 24], "geog_to_carto": [0, 3], "geog_to_geoid": [0, 3], "geograph": [2, 3], "geoid": [0, 1, 3], "geoid_to_geog": [0, 3], "geometri": 2, "georeferenc": 1, "geotiff": 1, "geoview": [2, 4, 7], "get": [1, 18, 21], "get_attr_transfo_pt": [0, 21], "get_coor_pt_img_and_world": [0, 21], "get_meridian_converg": [0, 3], "get_point_image_datafram": [0, 21], "get_point_world_datafram": [0, 21], "get_scale_factor": [0, 3], "get_type_z_and_head": [16, 17], "get_z_add_scale_factor": [0, 1], "get_z_remove_scale_factor": [0, 1], "get_z_world": [0, 1], "give": 1, "given": [14, 15], "good": 17, "grid": [1, 2], "grid_img": 2, "grid_world": 2, "ground": [1, 6, 11, 14, 15], "gt": 13, "h": [1, 17], "head": 17, "header": [4, 9, 10, 17, 22], "height": [0, 1, 3, 14, 15, 17], "i": [1, 2, 3, 9, 10, 14, 15, 17, 19, 20, 21, 22], "id_img": [15, 21], "id_pt": [15, 21], "ign": [1, 2, 7], "imag": [1, 2, 6, 8, 11, 13, 14, 15, 18, 21], "image_to_bundl": [12, 14], "image_to_world": [12, 13, 14], "image_world_intersect": [0, 12], "image_world_it": [12, 14], "image_world_least_squar": [0, 12], "image_world_shot": [0, 12], "image_world_work": [0, 12], "image_z_to_world": [12, 14], "imageworldshot": [12, 14], "imageworldwork": [12, 15], "imc_adjust": 15, "img_coor": 14, "img_norm": 2, "implement": [3, 20], "indent": [16, 20], "index": [18, 23], "inform": [1, 10, 17, 22], "init": 3, "init_eucli_point": [12, 15], "init_kappa": [12, 15], "initi": 15, "input": [3, 4, 14], "instanc": 19, "instanti": [3, 19], "int": [1, 2, 3, 15, 20], "inter": 15, "interpol": 1, "intersect": 15, "intersection_line_3d": [12, 15], "intersection_pt_in_2shot": [12, 15], "interv": [10, 17], "invers": 18, "invert_diag_sparse_matrix_3_3": [16, 18], "io": 11, "item": 20, "its": 15, "j": [10, 17], "kappa": [1, 15], "keep_in_memori": 1, "keep_memori": 1, "kei": [1, 2, 10, 17, 22], "known": 3, "kwarg": [1, 3], "l": [2, 14], "l_ob": 15, "la": 14, "lcode": 15, "least": [2, 15], "least_square_intersect": [12, 15], "least_square_rpc": [0, 2], "least_square_shot": [12, 15], "letter": 17, "level": 20, "lib": [2, 6, 7, 8, 20], "light": 2, "line": [1, 2, 4, 10, 13, 14, 15, 17, 21], "linear": [1, 10, 14, 17, 22], "linear_alter": [1, 10, 17, 21, 22], "link": [1, 21], "list": [1, 3, 4, 9, 10, 11, 15, 17, 20, 21, 22], "list_data": 4, "list_lett": 17, "list_shot": 15, "local": [3, 14], "local_euclidean_proj": [0, 24], "local_to_eucli": [12, 14], "localeuclideanproj": [0, 3], "m": 18, "maco": 2, "main": 21, "main_stat_and_sav": [0, 11], "main_stat_image_to_world": [0, 11], "main_stat_world_to_imag": [0, 11], "make": 15, "manag": [9, 17], "manage_image_world": [12, 15], "manage_read": [0, 9], "manage_writ": [0, 24], "manager_writ": [0, 22], "manipul": [1, 3], "mapinfo": 4, "marker": 15, "mat": [3, 18], "mat_a": 15, "mat_eucli": 3, "mat_eucli_to_mat": [0, 3], "mat_inv": 18, "mat_obs_axia": [12, 15], "mat_ori_eucli": 1, "mat_rot_eucli": 1, "mat_rot_euclidean_loc": [0, 3], "mat_to_mat_eucli": [0, 3], "math": 18, "matric": [1, 21], "matrix": [1, 2, 3, 10, 15, 17, 18, 22], "max": [11, 18], "me": 9, "mean": [1, 11, 15], "median": 11, "memori": 1, "meridian": 3, "messag": 17, "method": [1, 2, 15], "min": [11, 18], "min_max_pt": [16, 18], "miscellan": [0, 16], "misss": 17, "model": 1, "modifi": [1, 14], "modul": [23, 24], "most": 15, "ms_error": 17, "ms_error_lett": 17, "must": [1, 3, 17], "n": [17, 18], "nadir": [1, 14], "name": [1, 15, 20, 21, 22], "name_cam": 1, "name_camera": [0, 1], "name_gcp": [0, 1], "name_opk": 22, "name_point": [1, 15], "name_pt": 15, "name_shot": [1, 15, 21], "nbr_inc": 15, "nbr_ob": 15, "ndarrai": [1, 2, 3, 13, 14, 15, 17, 18, 21], "nearest": 1, "need": 9, "new": [1, 3], "nodata": 1, "nonadir": 14, "none": [1, 2, 3, 6, 7, 8, 9, 10, 11, 15, 17, 20, 21, 22], "normal": [2, 16, 18], "normalize_data": [0, 2], "np": [1, 2, 3, 13, 14, 15, 17, 18, 21], "number": [15, 20], "numpi": 1, "ob": 15, "object": [1, 2, 3, 4, 10, 11, 13, 14, 15, 19], "obs_imag": [15, 21], "observ": [2, 15], "offset": 18, "omega": [1, 15], "one": [1, 2, 6, 18], "oopk": 17, "opk": [6, 7, 10, 17, 22], "order": [1, 2, 10, 17, 21, 22], "order_ax": [1, 10, 17, 21, 22], "ori": 2, "ori_shot": 1, "orient": [0, 1, 9, 15], "other": [10, 22], "output": [1, 3, 4, 14, 17, 22], "outsid": 1, "p_add_data": [0, 5], "p_add_shot": [0, 5], "p_bundl": 14, "p_control": [0, 5], "p_eucli": 14, "p_file_gcp2d": [0, 5], "p_file_gcp3d": [0, 5], "p_format": [0, 5], "p_func": [0, 5], "p_gen_param": [0, 5], "p_image_world": [0, 5], "p_proj": [0, 5], "p_pt2d": [0, 5], "p_pt3d": [0, 5], "p_read_opk": [0, 5], "p_spaceresect": [0, 5], "p_tf_proj_pt": [0, 5], "p_unit_shot": [0, 5], "p_world_imag": [0, 5], "p_write": [0, 5], "p_write_con": [0, 5], "p_write_opk": [0, 5], "p_write_rpc": [0, 5], "packag": [23, 24], "page": 23, "panda": 21, "par": 14, "param_bundl": [0, 16], "param_con": 22, "param_rpc": [2, 22], "paramet": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 20, 21, 22], "parent": [3, 13], "parser": [6, 7, 8], "part": 1, "past": 1, "path": [1, 2, 9, 10, 22], "path_con": 2, "path_dtm": 1, "path_geoid": 1, "path_opk": 22, "pathoutput": 11, "pathreturn": 22, "pattern": 19, "pd": [15, 21, 22], "pd_me": [15, 21], "pd_mes_temp": 15, "pd_pnt": 15, "percentag": 15, "perform": 1, "phi": [1, 15], "photogrametriqu": 8, "photogrammetr": [10, 22], "photogrammetri": [10, 22], "pinit": 15, "pixel": [1, 15], "point": [1, 2, 3, 6, 8, 9, 11, 14, 15, 17, 18, 21], "point1": 15, "point2": 15, "polynom": [2, 22], "polynomi": 2, "polynomial_degre": 2, "pos_eucli": [1, 14], "pos_shot": 1, "pos_shot_eucli": 1, "posit": [1, 14, 15, 18], "possibl": 17, "ppai": [0, 1], "ppax": [0, 1], "prec": 20, "precis": [1, 20], "process": [0, 14, 15, 24], "process_add_shot": [5, 6], "process_args_control": [5, 8], "process_args_gen_param": [5, 6], "process_args_proj_param": [5, 6], "process_args_read_opk": [5, 7], "process_args_write_con": [5, 7], "process_args_write_opk": [5, 7], "process_args_write_rpc": [5, 7], "process_gcp2d": [5, 6], "process_gcp3d": [5, 6], "process_image_world": [5, 6, 8], "process_space_resect": [5, 8], "process_tf_proj_param": [5, 8], "process_world_imag": [5, 6, 8], "proj": [0, 2, 8], "proj4": 4, "proj_engin": [0, 24], "proj_output": 21, "proj_to_proj_out": [0, 3], "project": [1, 2, 3, 6, 8, 21, 22], "projectionlist": [0, 3], "projengin": [0, 1, 3, 19], "projeucli": 1, "properti": 3, "provid": 3, "pt1": 18, "pt2": 18, "pt2d": [9, 15], "pt3d": [9, 15], "pt_bundl": 14, "pt_eucli": 15, "pt_img": 15, "pt_world": [15, 21], "put": 20, "py": [2, 6, 7, 8, 20], "pyproj": 3, "python3": [2, 6, 7, 8, 20], "quintic": 1, "r": 18, "radian": [1, 10, 17, 22], "rais": 1, "random": 15, "ratat": 17, "read": [1, 2, 6, 7, 9, 10, 17], "read_camera": [0, 9], "read_file_pt": [0, 9], "read_file_pt_datafram": [0, 9], "reader": [0, 17, 24], "reader_camera": [0, 24], "reader_opk": [0, 9], "reader_orient": [9, 10], "reader_point": [0, 24], "recalcul": 15, "recalcult": 15, "record": 22, "recov": 21, "refer": [3, 4, 18], "registr": 22, "remov": 1, "replac": 17, "repres": [1, 3], "request": 21, "research": 4, "resect": 15, "residu": [11, 15], "ressourc": 21, "restrict": 19, "result": [1, 15], "retriev": 21, "retun": 17, "return": [1, 2, 3, 4, 6, 7, 8, 9, 10, 13, 14, 15, 17, 18, 20, 21], "rotat": [1, 3, 10, 17, 18, 21, 22], "rpc": [0, 7, 22, 24], "same": 17, "save": [2, 9, 11, 21, 22], "save_conl": [0, 2], "save_stat_txt": [0, 11], "scale": [1, 3, 18], "scipi": 17, "script": [9, 10, 17], "sd": 4, "search": [15, 23], "search_info": [3, 4], "search_proj": [0, 3], "second": [15, 18], "seed_20_point": [12, 15], "self": [1, 13], "set": [1, 15, 17, 18, 21], "set_approx_eucli_proj": [0, 1], "set_camera_xml": [0, 2], "set_cval": [0, 1], "set_dtm": [0, 1], "set_epsg": [0, 3], "set_geometry_xml": [0, 2], "set_keep_memori": [0, 1], "set_linear_alter": [0, 1], "set_ord": [0, 1], "set_order_ax": [0, 1], "set_param_bundle_diff": [16, 18], "set_param_eucli_shot": [0, 1], "set_param_shot": [0, 21], "set_point_image_datafram": [0, 21], "set_point_world_datafram": [0, 21], "set_proj": [0, 1], "set_proj_po": [0, 1], "set_rot_shot": [0, 1], "set_type_z": [0, 1], "set_type_z_data": [0, 1], "set_type_z_shot": [0, 1], "set_unit_angl": [0, 1], "set_unit_output": [0, 21], "set_z_nadir": [0, 1], "setter": 3, "setup": [1, 2], "setup_matrix_obs_rpc": [0, 2], "shoot": 15, "shot": [0, 2, 6, 8, 10, 14, 15, 17, 18, 21, 24], "shot1": 15, "shot2": 15, "shot_adjust": 15, "sigma": 11, "singl": 19, "singleton": [0, 16], "site": [10, 11, 22], "size": 2, "size_grid": 2, "slinear": 1, "softwar": 2, "solv": 15, "sourc": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 21, 22], "space": 15, "space_resect": [0, 12], "space_resection_gap": [12, 15], "space_resection_on_worksit": [12, 15], "space_resection_shot": [12, 15], "space_resection_to_worksit": [12, 15], "spaceresect": [12, 15], "spars": [0, 16], "squar": [2, 15], "src": [2, 22], "stat": [0, 24], "stat_image_to_world": [0, 11], "stat_list": [0, 11], "stat_world_to_imag": [0, 11], "statist": [0, 24], "store": 1, "str": [1, 2, 3, 4, 9, 10, 11, 14, 15, 17, 18, 20, 21, 22], "string": 21, "structur": 20, "submodul": [0, 5, 12, 16, 24], "subpackag": 24, "support": 1, "symbol": 17, "system": [1, 3, 14, 15, 21], "t": 15, "ta": 4, "tabl": [15, 21], "take": [14, 15, 21], "take_ob": [12, 15], "taken": [10, 17], "terrain": [14, 21], "textiowrapp": 11, "thei": [15, 17], "thi": 3, "tool": 21, "topaero": 4, "tranform": 3, "tranform_altitud": [0, 3], "tranform_height": [0, 3], "transform": [2, 3, 8, 10, 13, 14, 15, 21], "transform_dtm": [0, 12], "transform_geodesi": [0, 24], "transform_pt_proj": [0, 3], "transform_shot": [0, 12], "transform_worksit": [0, 12], "transform_world_imag": [0, 24], "transformgeodesi": [0, 3], "transit": 3, "true": [1, 10, 14, 17, 21, 22], "tubl": 15, "tupl": [2, 9, 13, 15, 17, 18, 21], "two": [1, 15, 18], "txt": [4, 9, 11, 22], "type": [1, 2, 3, 4, 6, 7, 8, 9, 10, 13, 14, 15, 17, 18, 19, 20, 21, 22], "type_dtm": 1, "type_input": 4, "type_m": 18, "type_output": 4, "type_point": [9, 11, 15, 21], "type_process": 15, "type_pt": 17, "type_z": [1, 17, 21], "type_z_data": [1, 14], "type_z_input": [3, 14], "type_z_output": [3, 14], "type_z_shot": [1, 14], "u": 18, "u1": 18, "u2": 18, "u3": 18, "union": [3, 14, 17], "unit": [1, 6, 10, 17, 21, 22], "unit_angl": [1, 10, 17, 21, 22], "unit_data": 2, "unit_z_data": 2, "unit_z_shot": 2, "uniti": 2, "up": [1, 15, 18, 21], "us": [1, 3, 15, 21], "usr": [2, 6, 7, 8, 20], "util": [0, 24], "v": 18, "val": 20, "valid": 3, "valu": [1, 3, 15], "var": 11, "variabl": 17, "variat": 15, "variou": 17, "vect1": 15, "vect2": 15, "vector": [15, 17, 18], "verif": 17, "visibl": 15, "want": [1, 3, 14, 15, 21], "we": 18, "wgs84": [2, 22], "what": [15, 21], "when": [2, 22], "where": [15, 21], "which": [1, 3, 9, 15, 18], "whit": 1, "whose": 19, "width": [0, 1, 15], "without": [1, 17], "wkt": 4, "woksit": 15, "work": [6, 7, 8, 9, 10, 11, 12, 15, 18, 22], "workdata": [0, 21, 24], "worksid": 10, "worksit": [0, 1, 3, 6, 7, 8, 9, 10, 11, 14, 15, 22, 24], "world": [1, 2, 3, 6, 8, 11, 13, 14, 15, 21, 22], "world_image_dtm": [0, 12], "world_image_shot": [0, 12], "world_image_work": [0, 12], "world_norm": 2, "world_to_eucli": [0, 3], "world_to_imag": [12, 13, 14], "worldimagedtm": [1, 12, 13], "worldimageshot": [12, 14], "worldimagework": [12, 15], "worldintersect": [12, 15], "worldleastsquar": [12, 15], "write": [0, 2, 6, 7, 11, 20, 22], "write_df_to_txt": [0, 22], "write_stat": [0, 11], "writer": [0, 24], "writer_con": [0, 24], "writer_df_to_txt": [0, 24], "writer_opk": [0, 24], "writer_rpc": [0, 24], "x": [1, 2, 3, 13, 14, 15, 17, 21], "x_carto": 3, "x_central": [0, 3], "x_col": 14, "xml": [0, 2, 9, 16], "y": [1, 2, 3, 13, 14, 15, 17, 21], "y_carto": 3, "y_central": [0, 3], "y_line": 14, "you": [1, 3, 14, 15, 21], "your": 21, "z": [1, 2, 3, 9, 14, 15, 17, 21], "z_nadir": 1}, "titles": ["borea package", "borea.datastruct package", "borea.format package", "borea.geodesy package", "borea.geodesy.projectionlist package", "borea.process package", "borea.process.p_add_data package", "borea.process.p_format package", "borea.process.p_func package", "borea.reader package", "borea.reader.orientation package", "borea.stat package", "borea.transform_world_image package", "borea.transform_world_image.transform_dtm package", "borea.transform_world_image.transform_shot package", "borea.transform_world_image.transform_worksite package", "borea.utils package", "borea.utils.check package", "borea.utils.miscellaneous package", "borea.utils.singleton package", "borea.utils.xml package", "borea.worksite package", "borea.writer package", "Welcome to Pink_Lady\u2019s documentation!", "borea"], "titleterms": {"": 23, "approx_euclidean_proj": 3, "borea": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24], "camera": 1, "check": 17, "check_args_opk": 17, "check_args_reader_pt": 17, "check_arrai": 17, "check_head": 17, "check_order_ax": 17, "conl": 2, "content": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "conversion_coor_shot": 14, "datastruct": 1, "document": 23, "dtm": 1, "euclidean_proj": 3, "format": 2, "gcp": 1, "geodesi": [3, 4], "image_world_intersect": 15, "image_world_least_squar": 15, "image_world_shot": 14, "image_world_work": 15, "indic": 23, "local_euclidean_proj": 3, "manage_read": 10, "manage_writ": 22, "miscellan": 18, "modul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "orient": 10, "p_add_data": 6, "p_add_shot": 6, "p_control": 8, "p_file_gcp2d": 6, "p_file_gcp3d": 6, "p_format": 7, "p_func": 8, "p_gen_param": 6, "p_image_world": 8, "p_proj": 6, "p_pt2d": 6, "p_pt3d": 6, "p_read_opk": 7, "p_spaceresect": 8, "p_tf_proj_pt": 8, "p_unit_shot": 6, "p_world_imag": 8, "p_write": 6, "p_write_con": 7, "p_write_opk": 7, "p_write_rpc": 7, "packag": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "param_bundl": 18, "pink_ladi": 23, "process": [5, 6, 7, 8], "proj_engin": 3, "projectionlist": 4, "reader": [9, 10], "reader_camera": 9, "reader_opk": 10, "reader_point": 9, "rpc": 2, "search_proj": 4, "shot": 1, "singleton": 19, "space_resect": 15, "spars": 18, "stat": 11, "statist": 11, "submodul": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 21, 22], "subpackag": [0, 3, 5, 9, 12, 16], "tabl": 23, "transform_dtm": 13, "transform_geodesi": 3, "transform_shot": 14, "transform_worksit": 15, "transform_world_imag": [12, 13, 14, 15], "util": [16, 17, 18, 19, 20], "welcom": 23, "workdata": 1, "worksit": 21, "world_image_dtm": 13, "world_image_shot": 14, "world_image_work": 15, "writer": 22, "writer_con": 22, "writer_df_to_txt": 22, "writer_opk": 22, "writer_rpc": 22, "xml": 20}}) \ No newline at end of file diff --git a/docs/sphinx/borea.process.p_add_data.rst b/docs/sphinx/borea.process.p_add_data.rst index 9b05c973..a7f6cb8e 100644 --- a/docs/sphinx/borea.process.p_add_data.rst +++ b/docs/sphinx/borea.process.p_add_data.rst @@ -36,6 +36,14 @@ borea.process.p\_add\_data.p\_gen\_param module :undoc-members: :show-inheritance: +borea.process.p\_add\_data.p\_proj module +----------------------------------------- + +.. automodule:: borea.process.p_add_data.p_proj + :members: + :undoc-members: + :show-inheritance: + borea.process.p\_add\_data.p\_pt2d module ----------------------------------------- diff --git a/docs/sphinx/borea.process.p_func.rst b/docs/sphinx/borea.process.p_func.rst index f3ae399f..7671a8bf 100644 --- a/docs/sphinx/borea.process.p_func.rst +++ b/docs/sphinx/borea.process.p_func.rst @@ -28,6 +28,14 @@ borea.process.p\_func.p\_spaceresection module :undoc-members: :show-inheritance: +borea.process.p\_func.p\_tf\_proj\_pt module +-------------------------------------------- + +.. automodule:: borea.process.p_func.p_tf_proj_pt + :members: + :undoc-members: + :show-inheritance: + borea.process.p\_func.p\_world\_image module -------------------------------------------- diff --git a/examples/eg_build_worksite_by_data.py b/examples/eg_build_worksite_by_data.py index 49e72b16..9cda7d73 100644 --- a/examples/eg_build_worksite_by_data.py +++ b/examples/eg_build_worksite_by_data.py @@ -152,6 +152,48 @@ def worksite_2shot_3gcp() -> Worksite: return work +def worksite_pyproj_error(): + # Create worksite with just a name + work = Worksite("Test") + + # Add two shots + # Shot(name_shot, [X, Y, Z], [O, P, K], name_cam, unit_angle, linear_alteration, order_axe) + # unit_angle = "degree" or "radian". + # linear_alteration True if z shot is corrected by linear alteration. + # order of rotation axe "opk" or "pok" ... + work.add_shot("shot1", np.array([814975.925, 6283986.148, 1771.280]), + np.array([-0.245070686036, -0.069409621323, 0.836320989726]), + "cam_test", "degree", True, "opk") + + # Settup the unit of z shot + work.set_type_z_shot("altitude") + + # Setup projection + # set_epsg(epsg, path_geoid) + # the geoid is mandatory if type_z_data and type_z_shot are different + # In Borea, various coordinate transformations can be performed to change cartographic, + # geographic or geocentric reference points. Pyproj manages the different projections + # according to the epsg of the data. + # However, it may happen that pyproj cannot find the other reference points. + # You can therefore give it the epsg of the other reference points in a specific order. + # [epsg of data, epsg géographic, epsg géocentric] + work.set_proj([4326, 4326, 4328], PATH_GEOID) + + # Add camera information + # add_camera(name_cam, ppax, ppay, focal, width, height) + # ppax and ppay image center in pixel with distortion + work.add_camera('cam_test', 13210.00, 8502.00, 30975.00, 26460, 17004) + + # Add dtm to remove/add linear alteration or get z of a planimetric point + # set_dtm(path_dtm, unit_of_dtm) unit is "altitude" or "height" + work.set_dtm(PATH_DTM, "height") + + # Setup projection system of shot and z_nadir of shot + work.set_param_shot() + + return work + + if __name__ == "__main__": # Build worksite with just one shot work1 = worksite_1shot() @@ -161,3 +203,6 @@ def worksite_2shot_3gcp() -> Worksite: # Build worksite with 2 shots and 3 gcp3d and 3 gcp2d0 work3 = worksite_2shot_3gcp() + + # Build worksite with multiple epsg to bypass a pyproj error + work4 = worksite_pyproj_error() diff --git a/examples/eg_space_resection.py b/examples/eg_space_resection.py index 42afbd02..38e05b59 100644 --- a/examples/eg_space_resection.py +++ b/examples/eg_space_resection.py @@ -46,11 +46,11 @@ def space_resection_on_points_to_shot() -> Worksite: # Read file of point to have in DataFrame format # read_file_pt_dataframe(path_file, header_file, type_point = choices([pt2d, pt3d]) - pt2d = read_file_pt_dataframe(PATH_CO_PT_IMAGE, list("PNXY"), "pt2d") - pt3d = read_file_pt_dataframe(PATH_CO_PT_WORLD, list("PXYH"), "pt3d") + pt2d, _ = read_file_pt_dataframe(PATH_CO_PT_IMAGE, list("PNXY"), "pt2d") + pt3d, type_z = read_file_pt_dataframe(PATH_CO_PT_WORLD, list("PXYH"), "pt3d") # Setup unit z data, shot in worksite and euclidean system to use for shot - work_noshot.set_type_z_data("height") + work_noshot.set_type_z_data(type_z) work_noshot.set_type_z_shot("altitude") work_noshot.set_approx_eucli_proj(False) diff --git a/pyproject.toml b/pyproject.toml index dde3f920..3b598ab8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ requires = ["setuptools>=61.0"] [project] dynamic = ["dependencies", "optional-dependencies"] name = "ign-borea" -version = "0.1.5" +version = "0.2.1" authors = [ { name="Antoine Cornu", email="antoine.cornu@ign.fr" }, { name="Nicolas Laurain", email="nicolas.laurain@ign.fr"} @@ -48,3 +48,4 @@ pt-world-to-image = "borea_tools.pt_world_to_image:pt_world_to_image" ptfile-image-to-world = "borea_tools.ptfile_image_to_world:ptfile_image_to_world" ptfile-world-to-image = "borea_tools.ptfile_world_to_image:ptfile_world_to_image" spaceresection-opk = "borea_tools.spaceresection_opk:spaceresection_opk" +transform-proj-points = "borea_tools.transform_proj_points:transform_proj_pt" diff --git a/test/test_datastruct/test_shot.py b/test/test_datastruct/test_shot.py index fa6fb47b..451b8758 100644 --- a/test/test_datastruct/test_shot.py +++ b/test/test_datastruct/test_shot.py @@ -166,3 +166,13 @@ def test_set_order_axe(): shot = copy.copy(SHOT) shot.set_order_axe("pok") assert (shot.ori_shot != [-0.245070686036, -0.069409621323, 0.836320989726]).all() + + +def test_set_proj(): + setup_test() + shot = Shot("test_shot", np.array([657945.43, 6860369.44, 1771.280]), + np.array([-0.245070686036, -0.069409621323, 0.836320989726]), + "test_cam", 'degree', True, "opk") + ProjEngine().set_epsg(EPSG, LIST_GEOID, 4326) + shot.set_proj_pos() + assert (np.round(shot.pos_shot, 3) == [48.842, 2.427, 1771.280]).all() diff --git a/test/test_geodesy/test_projengine.py b/test/test_geodesy/test_projengine.py index 86bb63be..bc95dad6 100644 --- a/test/test_geodesy/test_projengine.py +++ b/test/test_geodesy/test_projengine.py @@ -4,12 +4,15 @@ # pylint: disable=import-error, missing-function-docstring, unused-argument, duplicate-code import pyproj import pytest +import pandas as pd from borea.datastruct.dtm import Dtm from borea.geodesy.proj_engine import ProjEngine +PATH_CSV = "./dataset/GCP_test.app" EPSG = [2154] PATH_GEOID = ["./dataset/fr_ign_RAF20.tif"] +EPSG_OUTPUT = 4326 def setup_module(module): # run before the first test @@ -17,14 +20,6 @@ def setup_module(module): # run before the first test ProjEngine.clear() -def test_projengine_withpathgeotiff(): - ProjEngine.clear() - ProjEngine().set_epsg(EPSG, PATH_GEOID) - proj = ProjEngine() - assert proj.tf.geog_to_geoid - assert not proj.tf.carto_to_geog_out - - def test_projengine_notgeoid(): ProjEngine.clear() ProjEngine().set_epsg(EPSG) @@ -50,21 +45,69 @@ def test_get_meridian_convergence(): def test_tf_create_tf_output(): ProjEngine.clear() - ProjEngine().set_epsg(EPSG, PATH_GEOID) - ProjEngine().set_epsg_tf_geog_output(4326) + ProjEngine().set_epsg(EPSG, PATH_GEOID, 4326) proj = ProjEngine() - assert proj.tf.carto_to_geog_out + assert proj.tf.proj_to_proj_out def test_tf_conv_tf_output(): ProjEngine.clear() - ProjEngine().set_epsg(EPSG, PATH_GEOID) - ProjEngine().set_epsg_tf_geog_output(4326) + ProjEngine().set_epsg(EPSG, PATH_GEOID, 4326) proj = ProjEngine() xf = 657945.43 yf = 6860369.44 - xm = 2.427 - ym = 48.842 - xmo, ymo = proj.tf.carto_to_geog_out(xf, yf) + ym = 2.427 + xm = 48.842 + xmo, ymo = proj.tf.proj_to_proj_out(xf, yf) assert round(xmo, 3) == xm assert round(ymo, 3) == ym + + +def test_transform_proj(): + df = pd.read_csv(PATH_CSV, sep=' ', + skiprows=0, + usecols=[0, 1, 2, 3, 4], + index_col=False, + names=["id_pnt", "type", "x", "y", "z"], + dtype={"id_pnt": str, + "type": int, + "x": float, + "y": float, + "z": float}) + ProjEngine().set_epsg(EPSG, epsg_output=EPSG_OUTPUT) + df_proj = ProjEngine().tf.transform_pt_proj(df) + assert round(df_proj.loc[0, "x"], 3) == 43.642 + assert round(df_proj.loc[0, "y"], 3) == 4.432 + assert df_proj.loc[0, "z"] == 54.96 + assert round(df_proj.loc[1, "x"], 3) == 43.624 + assert round(df_proj.loc[1, "y"], 3) == 4.656 + assert df_proj.loc[1, "z"] == 52.63 + assert round(df_proj.loc[2, "x"], 3) == 43.647 + assert round(df_proj.loc[2, "y"], 3) == 4.717 + assert df_proj.loc[2, "z"] == 62.47 + + +def test_transform_proj_zh(): + df = pd.read_csv(PATH_CSV, sep=' ', + skiprows=0, + usecols=[0, 1, 2, 3, 4], + index_col=False, + names=["id_pnt", "type", "x", "y", "z"], + dtype={"id_pnt": str, + "type": int, + "x": float, + "y": float, + "z": float}) + type_z = "altitude" + type_z_output = "height" + ProjEngine().set_epsg(EPSG, PATH_GEOID, EPSG_OUTPUT) + df_proj = ProjEngine().tf.transform_pt_proj(df, type_z, type_z_output) + assert round(df_proj.loc[0, "x"], 3) == 43.642 + assert round(df_proj.loc[0, "y"], 3) == 4.432 + assert df_proj.loc[0, "z"] != 54.96 + assert round(df_proj.loc[1, "x"], 3) == 43.624 + assert round(df_proj.loc[1, "y"], 3) == 4.656 + assert df_proj.loc[1, "z"] != 52.63 + assert round(df_proj.loc[2, "x"], 3) == 43.647 + assert round(df_proj.loc[2, "y"], 3) == 4.717 + assert df_proj.loc[2, "z"] != 62.47 diff --git a/test/test_reader/test_readfilept.py b/test/test_reader/test_readfilept.py index 5d301613..656f630b 100644 --- a/test/test_reader/test_readfilept.py +++ b/test/test_reader/test_readfilept.py @@ -86,7 +86,7 @@ def test_read_co_points(self): 5550.03]).all() def test_read_file_pt_dataframe_co_point(self): - df = read_file_pt_dataframe(self.INPUT_LIAISONS, list("PNXY"), "pt2d") + df, _ = read_file_pt_dataframe(self.INPUT_LIAISONS, list("PNXY"), "pt2d") assert (df == pd.DataFrame({"id_pt": ["MES_674214", "MES_674214", "MES_674214", "MES_674216", "MES_674216", "MES_674216", "MES_674219", "MES_674219", "MES_674219", @@ -111,17 +111,19 @@ def test_read_file_pt_dataframe_co_point(self): 1147.48]})).all def test_read_file_pt_dataframe_gcp3d(self): - df = read_file_pt_dataframe(self.INPUT_GCP, list("PTXYZ"), "pt3d") + df, type_z = read_file_pt_dataframe(self.INPUT_GCP, list("PTXYZ"), "pt3d") assert (df == pd.DataFrame({"id_pt": ["1003", "1005", "1006"], "type": [13, 3, 13], "x": [815601.510, 833670.940, 838561.350], "y": [6283629.280, 6281965.400, 6284600.330], "z": [54.960, 52.630, 62.470]})).all + assert type_z == "altitude" def test_read_file_pt_dataframe_gcp3dt(self): - df = read_file_pt_dataframe(self.INPUT_GCP, list("PXYZ"), "pt3d") + df, type_z = read_file_pt_dataframe(self.INPUT_GCP, list("PXYZ"), "pt3d") assert (df == pd.DataFrame({"id_pt": ["1003", "1005", "1006"], "type": None, "x": [815601.510, 833670.940, 838561.350], "y": [6283629.280, 6281965.400, 6284600.330], "z": [54.960, 52.630, 62.470]})).all + assert type_z == "altitude" diff --git a/test/test_transfo_world_image/test_spaceresection.py b/test/test_transfo_world_image/test_spaceresection.py index 7c9dd638..76c48523 100644 --- a/test/test_transfo_world_image/test_spaceresection.py +++ b/test/test_transfo_world_image/test_spaceresection.py @@ -144,8 +144,8 @@ def test_space_resection_to_worksite(): work.set_proj(EPSG, PATH_GEOID) read_camera(PATH_CAM, work) work.set_dtm(PATH_DTM, "height") - pt2d = read_file_pt_dataframe(PT_LIAISON2, list("PNXY"), "pt2d") - pt3d = read_file_pt_dataframe(PT_LIAISON0, list("PXYZ"), "pt3d") + pt2d, _ = read_file_pt_dataframe(PT_LIAISON2, list("PNXY"), "pt2d") + pt3d, _ = read_file_pt_dataframe(PT_LIAISON0, list("PXYZ"), "pt3d") work.type_z_data = "height" work.type_z_shot = "altitude" work.approxeucli = False @@ -167,8 +167,8 @@ def test_space_resection_to_worksite(): def test_init_kappa(): work = Worksite("Test") - pt2d = read_file_pt_dataframe(PT_LIAISON2, list("PNXY"), "pt2d") - pt3d = read_file_pt_dataframe(PT_LIAISON0, list("PXYZ"), "pt3d") + pt2d, _ = read_file_pt_dataframe(PT_LIAISON2, list("PNXY"), "pt2d") + pt3d, _ = read_file_pt_dataframe(PT_LIAISON0, list("PXYZ"), "pt3d") kappa = [] for name_shot, group in pt2d.groupby("id_shot"): if name_shot not in ["23FD1305x00027_01495", "23FD1305x00054_05677", diff --git a/test/test_worksite/test_worksite.py b/test/test_worksite/test_worksite.py index aca7045c..b091ec8f 100644 --- a/test/test_worksite/test_worksite.py +++ b/test/test_worksite/test_worksite.py @@ -191,7 +191,7 @@ def test_set_param_shot_nodtm(): assert work.shots["shot1"].z_nadir is None -def test_set_unit_shot(): +def test_set_unit_output(): work = Worksite("Test") work.add_shot("shot1", np.array([814975.925, 6283986.148, 1771.280]), np.array([180, 0, 360]), "cam_test", "degree", True, 'opk') @@ -200,31 +200,42 @@ def test_set_unit_shot(): work.set_dtm(PATH_DTM, "height") work.type_z_shot = "altitude" work.set_param_shot(approx=False) - work.set_unit_shot("height", "radian", linear_alteration=False) + work.set_unit_output("height", "radian", linear_alteration=False) assert work.shots["shot1"].unit_angle == "radian" assert work.shots["shot1"].linear_alteration is False assert (work.shots["shot1"].ori_shot == np.array([np.pi, 0, 2*np.pi])).all() assert work.type_z_shot == "height" -def test_set_unit_shot_sameunit(): +def test_set_unit_output_sameunit(): work = Worksite("Test") work.add_shot("shot1", np.array([814975.925, 6283986.148, 1771.280]), np.array([180, 0, 360]), "cam_test", "degree", True, 'opk') work.add_camera('cam_test', 13210.00, 8502.00, 30975.00, 26460, 17004) work.type_z_shot = "altitude" - work.set_unit_shot("altitude", "degree", linear_alteration=True) + work.set_unit_output("altitude", "degree", linear_alteration=True) assert work.shots["shot1"].unit_angle == "degree" assert work.shots["shot1"].linear_alteration assert (work.shots["shot1"].ori_shot == np.array([180, 0, 360])).all() assert work.type_z_shot == "altitude" -def test_set_unit_shot_changeorder(): +def test_set_unit_output_changeorder(): work = Worksite("Test") work.add_shot("shot1", np.array([814975.925, 6283986.148, 1771.280]), np.array([180, 0, 360]), "cam_test", "degree", True, 'opk') work.add_camera('cam_test', 13210.00, 8502.00, 30975.00, 26460, 17004) work.type_z_shot = "altitude" - work.set_unit_shot(order_axe="pok") + work.set_unit_output(order_axe="pok") assert (work.shots["shot1"].ori_shot != np.array([180, 0, 360])).all() + + +def test_set_unit_output_changeproj(): + work = Worksite("Test") + work.add_shot("shot1", np.array([657945.43, 6860369.44, 1771.280]), + np.array([180, 0, 360]), "cam_test", "degree", True, 'opk') + work.add_camera('cam_test', 13210.00, 8502.00, 30975.00, 26460, 17004) + work.type_z_shot = "altitude" + work.set_proj(EPSGFR, LIST_GEOID, 4326) + work.set_unit_output() + assert (np.round(work.shots["shot1"].pos_shot, 3) == [48.842, 2.427, 1771.280]).all() diff --git a/test/test_writer/test_writer_rpc.py b/test/test_writer/test_writer_rpc.py index 38d0e44c..b21c4654 100644 --- a/test/test_writer/test_writer_rpc.py +++ b/test/test_writer/test_writer_rpc.py @@ -53,14 +53,14 @@ def test_write_rpc_4326(): work.add_shot("23FD1305x00026_01308", np.array([814978.586, 6283482.827, 1771.799]), np.array([-0.181570631296, 0.001583051432, 0.493526899473]), "cam_test", "degree", True, "opk") - work.set_proj(EPSG, PATH_GEOID) + work.set_proj(EPSG, PATH_GEOID, 4326) work.add_camera('cam_test', 13210.00, 8502.00, 30975.00, 26460, 17004) work.set_dtm(PATH_DTM, "height") work.type_z_shot = "altitude" work.type_z_data = "height" work.set_param_shot() write(None, OUTPUT, - {"size_grid": 100, "order": 3, "fact_rpc": None, "epsg_output": 4326}, work) + {"size_grid": 100, "order": 3, "fact_rpc": None}, work) assert os.path.exists("./test/tmp/23FD1305x00026_01306_RPC.TXT") assert os.path.exists("./test/tmp/23FD1305x00026_01307_RPC.TXT") assert os.path.exists("./test/tmp/23FD1305x00026_01308_RPC.TXT")