снова про датум и не только.. pulkovo 1942 to wsg 84

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
madw0lf
Активный участник
Сообщения: 103
Зарегистрирован: 24 мар 2016, 23:27
Репутация: 27
Откуда: Ростов-на-Дону

снова про датум и не только.. pulkovo 1942 to wsg 84

Сообщение madw0lf » 06 май 2016, 10:16

Доброго времени суток!
Есть порядка 500 объектов вида:
Акватория, ограниченная прямыми линиями, соединяющими точки со следующими координатами: 44°45'0.25" с.ш. 37°24'11.17" в.д., 44°44'52.53" с.ш. 37°23'50.97" в.д., 44°45'4.11" с.ш. 37°23'36.02" в.д., 44°45'12.21'' с.ш. 37°23'5.66" в.д., 44°45'8.05" с.ш. 37°22'48.14''в.д., 44°45'15.95" с.ш. 37°22'30.06" в.д., 44°44'28.87" с.ш. 37°20'14.39" в.д., 44°46'4.69" с.ш. 37°18'57.78" в.д., до маяка мыса Большой Утриш 44°45'32.00" с.ш. 37°22'39.00" в.д. и далее по береговой линии в начальную точку. Протяженность по береговой линии 2,6 км
от 4 до 18 точек каждый.
Нашел программулю, которая на лету переводит 44°45'0.25" с.ш. 37°24'11.17" в.д. в 44.750000N 37.403056E. Нарисовал так уже 2 слоя вручную. Задолбало.. Впереди еще слоев 20, от 50 до 3 тысяч объектов в каждом. Программуля позволяет сохранять точки в KML, который вполне себе спокойно кушает QGIS и получается куча точек на карте. Теперича вопросы к сообществу:
1. Есть ли более удобные проги, куда можно накопипастить координаты и пакетно перегнать всё, желательно, в CSV или SHP?
2. Есть ли возможность, чтоб эти проги сразу точки преобразовывали в полигоны?
3. Если пункт 2 - больные фантазии сисадмина ставшего ГИС-спецом (это не мое мнение, это мнение моего руководства. я пока что где-то в ясельной группе и до спеца мне как через весь экватор ползком), как из многих тысяч точек выстроить полигоны?
Применяемый софт - QGIS и прочий опенсорц. Платники мне нравятся, но мне их никто не купит ( в том плане, что ArcGIS не предлагать). SQL пока не используется, он в планах на перспективу.
Последний раз редактировалось madw0lf 19 сен 2016, 11:40, всего редактировалось 1 раз.
Без внятного ТЗ - результат ХЗ

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: снова про датум и не только.. pulkovo 1942 to wsg 84

Сообщение rhot » 06 май 2016, 10:21

Скриптить надо. Например, в R.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: снова про датум и не только.. pulkovo 1942 to wsg 84

Сообщение Denis Rykov » 06 май 2016, 10:49

Создаём исходный файл с координатами coords.txt:

Код: Выделить всё

44°45'0.25" с.ш. 37°24'11.17" в.д.
44°44'52.53" с.ш. 37°23'50.97" в.д.
44°45'4.11" с.ш. 37°23'36.02" в.д.
44°45'12.21" с.ш. 37°23'5.66" в.д.
44°45'8.05" с.ш. 37°22'48.14" в.д.
44°45'15.95" с.ш. 37°22'30.06" в.д.
44°44'28.87" с.ш. 37°20'14.39" в.д.
44°46'4.69" с.ш. 37°18'57.78" в.д.
44°45'32.00" с.ш. 37°22'39.00" в.д.
Преобразуем координаты:

Код: Выделить всё

$ sed 's/°/d/g; s/ с.ш./N/g; s/ в.д./E/g' coords.txt | awk '{print $2 " " $1}' | cs2cs -f "%.6f" +init=epsg:4284 +to +init=epsg:4326
37.401672	44.749923 4.144940
37.396061	44.747778 4.154043
37.391908	44.750995 4.160133
37.383474	44.753245 4.173077
37.378608	44.752089 4.180878
37.373585	44.754284 4.188471
37.335899	44.741205 4.249472
37.314617	44.767822 4.279285
37.376068	44.758742 4.183968
Spatial is now, more than ever, just another column- The Geometry Column.

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: снова про датум и не только.. pulkovo 1942 to wsg 84

Сообщение trir » 06 май 2016, 11:17


Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: снова про датум и не только.. pulkovo 1942 to wsg 84

Сообщение Denis Rykov » 06 май 2016, 11:24

Turning Arbitrary Data into Geodata можно и на голом ogr2ogr выполнить, вот пример из документации:
Building line geometries

Consider the following CSV file (test.csv):
way_id,pt_id,x,y
1,1,2,49
1,2,3,50
2,1,-2,49
2,2,-3,50
With a GDAL build with Spatialite enabled, ogrinfo test.csv -dialect SQLite -sql "SELECT way_id, MakeLine(MakePoint(CAST(x AS float),CAST(y AS float))) FROM test GROUP BY way_id" will return :
OGRFeature(SELECT):0
way_id (String) = 1
LINESTRING (2 49,3 50)

OGRFeature(SELECT):1
way_id (String) = 2
LINESTRING (-2 49,-3 50)
А вот так по идее можно конвертнуть точки в полигон:

Код: Выделить всё

ogr2ogr -dialect SQLite -sql "SELECT way_id, MakePolygon(MakeLine(MakePoint(CAST(x AS float),CAST(y AS float)))) FROM test GROUP BY way_id" test.shp test.csv
Spatial is now, more than ever, just another column- The Geometry Column.

madw0lf
Активный участник
Сообщения: 103
Зарегистрирован: 24 мар 2016, 23:27
Репутация: 27
Откуда: Ростов-на-Дону

Re: снова про датум и не только.. pulkovo 1942 to wsg 84

Сообщение madw0lf » 11 май 2016, 12:43

Denis Rykov писал(а):Создаём исходный файл с координатами coords.txt:

Код: Выделить всё

44°45'0.25" с.ш. 37°24'11.17" в.д.
44°44'52.53" с.ш. 37°23'50.97" в.д.
44°45'4.11" с.ш. 37°23'36.02" в.д.
44°45'12.21" с.ш. 37°23'5.66" в.д.
44°45'8.05" с.ш. 37°22'48.14" в.д.
44°45'15.95" с.ш. 37°22'30.06" в.д.
44°44'28.87" с.ш. 37°20'14.39" в.д.
44°46'4.69" с.ш. 37°18'57.78" в.д.
44°45'32.00" с.ш. 37°22'39.00" в.д.
Преобразуем координаты:

Код: Выделить всё

$ sed 's/°/d/g; s/ с.ш./N/g; s/ в.д./E/g' coords.txt | awk '{print $2 " " $1}' | cs2cs -f "%.6f" +init=epsg:4284 +to +init=epsg:4326
37.401672	44.749923 4.144940
37.396061	44.747778 4.154043
37.391908	44.750995 4.160133
37.383474	44.753245 4.173077
37.378608	44.752089 4.180878
37.373585	44.754284 4.188471
37.335899	44.741205 4.249472
37.314617	44.767822 4.279285
37.376068	44.758742 4.183968
так и сделал, потом согнал всё в csv и закинул в qgis, а полигоны выстроил через геообработку - выпуклые поверхности на основе поля классификации.
Большое спасибо за помощь! 2 часа на то, что до этого делал за неделю. осталось узлы вручную подправить, а то у меня побережье Черного моря раскидало от Франции до Монголии и от Эфиопии до Волгограда по некоторым полигонам.
Без внятного ТЗ - результат ХЗ

Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: Semrush [Bot] и 3 гостя