Solution of the geodesy tasks in Python
Project description
PyGeoGUZ
Решение задач геодезии на языке Python. Пакет содержит 5 модулей:
- simplegeo - Основные и вспомогательные функции, используемые в геодезических вычислениях
- adjustment - Реализация общего параметрического метода уравнивания по методу наименьших квадратов в матричной форме
- transform - Преобразование координат между эллипсоидами ПЗ-90 и WGS84, пересчет в проекцию Гаусса-Крюгера
- highergeo - Реализация прямой геодезической задачи на сфере
- objects - Вспомогательный модуль с классами объектов точек, линий и углов
Установка
pip install pygeoguz
Модуль simplegeo:
1. Прямая геодезическая задача
from pygeoguz.simplegeo import *
from pygeoguz.objects import *
p1 = Point2D(x=10, y=10)
line = Line2D(length=10, direction=45)
p2 = pgz(point=p1, line=line)
x = p2.x
y = p2.y
2. Обратная геодезическая задача
from pygeoguz.simplegeo import *
from pygeoguz.objects import *
p1 = Point2D(x=10, y=10)
p2 = Point2D(x=50, y=50)
line = ogz(point_a=p1, point_b=p2)
length = line.length
direction = line.direction
3. Площадь полигона по формуле Гаусса
from pygeoguz.simplegeo import *
from pygeoguz.objects import *
p1 = Point2D(x=10, y=10)
p2 = Point2D(x=20, y=20)
p3 = Point2D(x=15, y=30)
points = [p1, p2, p3]
square = polygon_square(points=points)
4. Координаты точки пересечения двух линий
5. Координаты середины отрезка
6. degrees, minutes, seconds -> degrees
from pygeoguz.simplegeo import *
from pygeoguz.objects import *
angle = Angle(degrees=54, minutes=14, seconds=16.5)
angle_degrees = to_degrees(angle=angle)
7. degrees -> degrees, minutes, seconds
from pygeoguz.simplegeo import *
angle_degrees = 34.66885435
angle = to_dms(degrees=angle_degrees, n_sec=1)
degrees = angle.degrees
minutes = angle.minutes
seconds = angle.seconds
8. Вычисление верного значения угла
from pygeoguz.simplegeo import *
angle_degrees = 367.66885435
true_ang = true_angle(angle=angle_degrees, max_value=360)
9. hours -> degrees
from pygeoguz.simplegeo import *
hours = 11.5
degrees = from_h_to_d(hours=hours)
10. degrees -> hours
from pygeoguz.simplegeo import *
degrees = 58.8431144
hours = from_d_to_h(degrees=degrees)
11. Генерация псевдослучайных погрешностей измерений
from pygeoguz.simplegeo import *
mu = 2 # Среднее квадратическое отклонение
count_of_errors = 15
errors = generate_errors(mu=mu, count=count_of_errors)
12. Округление по Гауссу
from pygeoguz.simplegeo import *
number = 2.345
n = ground(number=number, n=2)
# print -> 2.34
13. Вычисление левых горизонтальных углов хода
Модуль adjustment:
- Параметрический метод уравнивания с оценкой точности
- Уравнивание теодолитного хода раздельным методом
Модуль transform:
- Преобразование координат ПЗ90 -> WGS84
- Преобразование координат WGS84 -> ПЗ90
- Преобразование координат Геодезические -> Плоские в проекции Гаусса-Крюгера
- Преобразование координат Плоские в проекции Гаусса-Крюгера -> Геодезические
Модуль higherGeo
- Прямая геодезическая задача на сфере
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pygeoguz-0.0.5.tar.gz
(23.7 kB
view details)
File details
Details for the file pygeoguz-0.0.5.tar.gz
.
File metadata
- Download URL: pygeoguz-0.0.5.tar.gz
- Upload date:
- Size: 23.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 174d0ad490e8c33b6b2afe7fc153f75316293e7650c2907a42d6fb77951be490 |
|
MD5 | fc13ebaf73d0b6e85ed5f1c520b8ae41 |
|
BLAKE2b-256 | fcd8e89594bc222f2a42399192e4f091d4812a0898aa9169420543fca6b26df9 |