Анимация изолиний
-
- Интересующийся
- Сообщения: 33
- Зарегистрирован: 25 ноя 2017, 20:31
- Репутация: 1
- Откуда: Уфа
Анимация изолиний
У меня есть набор точек, в каждой из которых есть набор значений распределенных по времени. Мне надо по этим данным построить анимацию карт изолиний. Как это лучше реализовать? Я нашёл вариант через создание анимации из группы растров, но эти растры надо ещё построить, можно это как-то сделать автоматически, чтобы по заданному промежутку времени строился растр с изолиниями?
-
- Гуру
- Сообщения: 1018
- Зарегистрирован: 01 авг 2012, 13:55
- Репутация: 241
Re: Анимация изолиний
Выложите фрагмент набора точек.
-
- Интересующийся
- Сообщения: 33
- Зарегистрирован: 25 ноя 2017, 20:31
- Репутация: 1
- Откуда: Уфа
Re: Анимация изолиний
lam, они в csv формате, вот так примерно это выглядит
Сначала время, потом широта и долгота обсерватории и значения, всего 10 обсерваторий, данные за 3 дня, интервал минута
Код: Выделить всё
datetime,lat,long,val
2015-03-16 00:00:00.000,-65.25,295.73,17.929933757319862
2015-03-16 00:01:00.000,-65.25,295.73,18.17380279070113
2015-03-16 00:02:00.000,-65.25,295.73,18.295592884252954
2015-03-16 00:03:00.000,-65.25,295.73,18.468661056194666
2015-03-16 00:04:00.000,-65.25,295.73,18.468661056194666
2015-03-16 00:05:00.000,-65.25,295.73,19.58856446693438
2015-03-16 00:06:00.000,-65.25,295.73,21.244293602118706
2015-03-16 00:07:00.000,-65.25,295.73,22.728929120977735
2015-03-16 00:08:00.000,-65.25,295.73,23.25100647971387
2015-03-16 00:09:00.000,-65.25,295.73,22.855304139732542
2015-03-16 00:10:00.000,-65.25,295.73,22.378077928280653
2015-03-16 00:11:00.000,-65.25,295.73,22.106409882096404
2015-03-16 00:12:00.000,-65.25,295.73,22.006223162442755
2015-03-16 00:13:00.000,-65.25,295.73,21.714402787800417
2015-03-16 00:14:00.000,-65.25,295.73,21.545331334647123
2015-03-16 00:15:00.000,-65.25,295.73,21.69872812677553
2015-03-16 00:16:00.000,-65.25,295.73,22.089404438119043
-
- Гуру
- Сообщения: 1018
- Зарегистрирован: 01 авг 2012, 13:55
- Репутация: 241
Re: Анимация изолиний
1. Импорт слоя точек в БГД , например *.gdb
2. Трансформация слоя точек в метрическую систему координат
3. Делаете выборки из слоя точек, по заданному промежутку времени, в отдельные слои точек
4. Интерполируете точки в растр
5. Строите изолинии по растру
2. Трансформация слоя точек в метрическую систему координат
3. Делаете выборки из слоя точек, по заданному промежутку времени, в отдельные слои точек
4. Интерполируете точки в растр
5. Строите изолинии по растру
-
- Активный участник
- Сообщения: 107
- Зарегистрирован: 16 июл 2015, 15:21
- Репутация: 35
- Откуда: Санкт-Петербург
Re: Анимация изолиний
Зачем растр, если даже поле времени в исходных данных есть.
Попробуйте
1. Сконвертить данные (в shp, gdb)
2. Построить изолинии
3. Задать время по соответствующему полю
http://desktop.arcgis.com/ru/arcmap/10. ... zation.htm
4. Создать временную анимацию и экспортировать
Попробуйте
1. Сконвертить данные (в shp, gdb)
2. Построить изолинии
3. Задать время по соответствующему полю
http://desktop.arcgis.com/ru/arcmap/10. ... zation.htm
4. Создать временную анимацию и экспортировать
-
- Интересующийся
- Сообщения: 33
- Зарегистрирован: 25 ноя 2017, 20:31
- Репутация: 1
- Откуда: Уфа
Re: Анимация изолиний
nikost, можно про 4 пункт подробнее? Я уже делал ползунок времени, значение в точках меняется при перемещении ползунка. Но данные у меня только в этих точках, поэтому сначала надо данные проинтерполировать и потом уже строить изолинии, а вот как это сделать, чтобы это всё происходило при перемещении ползунка?
-
- Активный участник
- Сообщения: 107
- Зарегистрирован: 16 июл 2015, 15:21
- Репутация: 35
- Откуда: Санкт-Петербург
Re: Анимация изолиний
То есть вы хотите, чтобы изолинии строились "на лету" при перемещении ползунка?
Я-то думал, что изолинии для каждого времени построить и их уже анимировать.
Получить значения всех дат > цикл [выбрать точки по дате > интерполяция > изолинии > экспорт (или присоединение с атрибутом даты)]
Я-то думал, что изолинии для каждого времени построить и их уже анимировать.
Получить значения всех дат > цикл [выбрать точки по дате > интерполяция > изолинии > экспорт (или присоединение с атрибутом даты)]
-
- Интересующийся
- Сообщения: 33
- Зарегистрирован: 25 ноя 2017, 20:31
- Репутация: 1
- Откуда: Уфа
Re: Анимация изолиний
nikost, а как работать с циклами в arcmap? У меня просто опыта работы с ним мало.
-
- Активный участник
- Сообщения: 107
- Зарегистрирован: 16 июл 2015, 15:21
- Репутация: 35
- Откуда: Санкт-Петербург
Re: Анимация изолиний
Python или model builder, без этого никак...
Получить список дат и как-нибудь так:
Получить список дат и как-нибудь так:
Код: Выделить всё
for date in datesList:
rasterOut = "C/output/raster_" + str(date)
contourOut = "C/output/contout_" + str(date)
arcpy.SelectLayerByAttribute_management ("точки", "New_selection", 'дата = (%s)' %date )
arcpy.TopoToRaster_3d ("точки", rasterOut)
arcpy.Contour_3d ("точки", contourOut )
-
- Интересующийся
- Сообщения: 33
- Зарегистрирован: 25 ноя 2017, 20:31
- Репутация: 1
- Откуда: Уфа
Re: Анимация изолиний
nikost, то есть строиться новый растр будет по выбранным строкам в таблице атрибутов? И всё что нужно - это выбирать строки с одинаковой датой? То есть если я буду интерполировать с помощью ОВР, то алгоритм примерно такой: создаю из данных в файле csv шейп файл points.shp, потом запускаю цикл, выбираю строки по дате и времени, а потом использую метод Idw и в качестве входного точечного объекта передаю points.shp ну и поле значений и создастся растр по выбранным строкам в этой итерации цикла? Всё верно? Просто опыт работы с python есть, а вот с ArcGis вообще практически не работал.
-
- Активный участник
- Сообщения: 107
- Зарегистрирован: 16 июл 2015, 15:21
- Репутация: 35
- Откуда: Санкт-Петербург
Re: Анимация изолиний
Ну если опыт есть, то трудностей не должно возникнуть.
Суть сводится к тому, что каждый инструмент из тулбокса аркгиса можно заскриптовать питоном (т.е. выделение, создание растра из точек, экспорт и т.д.), и потом уже циклить как заблогорассудится.
Понадобится, правда ещё лицензия на 3d Analyst, но это уже совсем другая история
-
- Интересующийся
- Сообщения: 33
- Зарегистрирован: 25 ноя 2017, 20:31
- Репутация: 1
- Откуда: Уфа
Re: Анимация изолиний
nikost, спасибо, уже сделал, вот только не ожидал, что столько времени это всё будет занимать, примерно сутки на всё)
Кто сейчас на конференции
Сейчас этот форум просматривают: Bing [Bot] и 42 гостя