Skip to content

Commit

Permalink
sysco: update doc and readme
Browse files Browse the repository at this point in the history
  • Loading branch information
jmmuller committed May 16, 2024
1 parent e8774cc commit 8edc558
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 21 deletions.
26 changes: 14 additions & 12 deletions MMVII/Doc/CommandReferences/SysCo.tex
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,7 @@ \chapter{SysCo manipulation}

\section{SysCo introduction}

{\tt MMVII} can import and export data from many coordinate systems (SysCo).

SysCo types supported by {\tt MMVII} are:
Coordinate systems (SysCo) types supported by {\tt MMVII} are:
\begin{itemize}
\item \textbf{Local}: any euclidian frame, without any geolocalization or vertical knowledge.
\item \textbf{GeoC}: geocentric coordinates.
Expand All @@ -22,29 +20,33 @@ \section{SysCo introduction}
When the SysCo is known or declared for an Ori or Measures folder, a file named {\tt CurSysCo.xml}
is created to record it.

This file can be copied into {\tt MMVII-PhgrProj/SysCo/} with a short name to be used in next commands.
Example: copy {\tt CurSysCo.xml} as {\tt MMVII-PhgrProj/SysCo/MyCRS.xml}, to be able to use {\tt MyCRS}
as a SysCo name.

\section{Setting SysCo}

\subsection{MMVII Commands}
To inform {\tt MMVII} of the SysCo of some data, there are several methods:

\begin{itemize}
\item Some importations have an implicit SysCo, E.G. {\tt ImportInitExtSens} that suppose that RPC are always in WGS geographical coordinates in degrees.
\item {\tt ImportOri} let you give the SysCo with {\tt SysCo} option.
\item {\tt ImportGCP}: let you transform ground coordinates on-the-fly with {\tt ChSys} option.
\item {\tt OriChSysCo} and {\tt GCPChSysCo}: let you transform Ori and ground points from one SysCo into an other.
\item Some importation commands have an implicit SysCo, e.g. {\tt ImportInitExtSens} that suppose that RPC are always in WGS geographical coordinates in degrees.
\item {\tt ImportOri} let you tell the SysCo with {\tt SysCo} option.
\item {\tt ImportGCP} let you transform ground coordinates on-the-fly with {\tt ChSys} option.
\item {\tt OriChSysCo} and {\tt GCPChSysCo} let you transform Ori and ground points from one SysCo into an other.
\end{itemize}

\subsection{SysCo definition}
The SysCo definitions to give to {\tt MMVII} commands can be:
\begin{itemize}
\item The name of a file in source sub-folder {\tt MMVII/MMVII-RessourceDir/SysCo} or in project sub-folder {MMVII-PhgrProj/SysCo}, without its extension.
\item Any {\tt libproj} definition (such as {\tt IGNF:LAMB93} or {\tt EPSG:4326})
\item The name of a file in source sub-folder {\tt MMVII/MMVII-RessourceDir/SysCo} or in project sub-folder {\tt MMVII-PhgrProj/SysCo}, without its extension.
\item Any {\tt libproj} definition (such as {\tt IGNF:LAMB93}, {\tt EPSG:4326} or {\tt '+proj=merc +lat\_ts=56.5 +ellps=GRS80'})
\item Any string starting with {\tt Local} for a local frame
\item Any string starting with {\tt GeoC} for geocentric
\item A string starting with {\tt LGeo} following the pattern:
\item A string starting with {\tt LGeo}, with the pattern:

{\tt LGeo*TX*TY*TZ*Omega*Phi*Kappa}, where the transformation is given in geocentric, the angles are in rad.
\item A string starting with {\tt RTL} following the pattern: {\tt RTL*X0*Y0*Z0*Def}
\item A string starting with {\tt RTL}, with the pattern: {\tt RTL*X0*Y0*Z0*Def}

(such as {\tt RTL*0.67451979*45.18899334*0.00000000*EPSG:4326}),
where you give the coordinates in a certain system of the tengance point of the local frame. Tip: use {\tt SysCoCreateRTL} command to make it automatically (see ~\ref{SysCoRTL}).
Expand All @@ -59,7 +61,7 @@ \subsection{Examples}
\item {\tt SysCo=LocalPanel} will set the SysCo to a local system definied as "LocalPanel", that will not be convertible into any other SysCo.
\item {\tt SysCo=IGNF:LAMB93} will set the SysCo to Lambert93.
\item {\tt SysCo=RTL*0.67451979*45.18899334*0*EPSG:4326} will set the SysCo to a tangent local euclidian frame where origin is $0.67451979, 45.18899334, 0$ in EPSG:4326.
\item {\tt SysCo=Toto} will use a project-defined SysCo if {MMVII-PhgrProj/SysCo/Toto.xml} exists. If not, "Toto" will be used as a libproj definition, and an error will occur.
\item {\tt SysCo=Toto} will use a project-defined SysCo if {\tt MMVII-PhgrProj/SysCo/Toto.xml} exists. If not, "Toto" will be used as a libproj definition, and an error will occur.
\item {\tt SysCo=GeoC} will set the SysCo to geocentric coordinates.

\end{itemize}
Expand Down
18 changes: 9 additions & 9 deletions MMVII/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ Dependencies
- Optional: OpenMP, ccache

- Ubuntu 20.04:
- `sudo apt install ccache cmake libproj-dev proj-data`
- `sudo apt install ccache cmake pkg-config libproj-dev proj-data`
- If using CLang version XX and want OpenMP: `sudo apt install libomp-XX-dev`

- MacOs:
- Install/check XCode is installed (xcode-select --version)
- Install brew : `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`
- Install libX11,qt :
- Install brew: `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`
- Install libX11, qt and proj:
- `brew install libX11`
- `brew install qt`
- `brew install proj`
Expand All @@ -20,10 +20,10 @@ Dependencies
- `export CPPFLAGS="-I/usr/local/opt/llvm/include"`


Compilation (short) :
--------------------
Compilation (short)
-------------------

Compile MicMac V1, then (replace N with the number of processor threads) :
Compile MicMac V1, then (replace N with the number of processor threads):

cd MMVII
mkdir -p build
Expand All @@ -36,12 +36,12 @@ Compilation (short) :
make -j N


Tests :
Tests:

../bin/MMVII Bench 1


Compilation targets :
Compilation targets:

all|(none) : build MMVII
full : re-generate files for symbolic calculus and build MMVII
Expand All @@ -56,7 +56,7 @@ Compilation (short) :
make full


Compilation (detail):
Compilation (detail)
--------------------
- You can use `cmake -G Ninja ..` to use Ninja build system instead of the native one. (`sudo apt install ninja-build`)
- Use `cmake --build . -j 8 [--target TARGET]` or `cmake --build . -j 8 -v [--target TARGET]` instead of make (works with all build systems)
Expand Down

0 comments on commit 8edc558

Please sign in to comment.