Convoy s2+2,8А 390грн -"Первый Фонарик"-ВСЕ ГОРОДА УКРАИНЫ!


Начать новую тему Ответить на тему На страницу Пред.  1 ... 36, 37, 38, 39, 40, 41, 42 ... 61, Bce  След.
Автор Сообщение
СообщениеДобавлено: 27.03.2016 20:38 

Сообщения: 910
Город: Харків, Холодна Гора
Пол: Не указан
Возраст: 37
Зарегистрирован:02.10.2006
Цитата:
Вы хотите сказать, что "60м" на экранной линейке не будут соответствовать 60-ти метрам на местности?

Да, так и есть. :-P
И господин Паганель об этом уже писал. :oops:
Попробуйте взять генштабовскую километровку для разных широт (экватор, серединку, и поближе к полюсу), сконвертировать её в магеллановский формат (неважно с каким разрешением) и сравнить на экране навигатора длины сторон квадратов километровой сетки (там сторона квадрата 2 км, если что) и "масшатбную линейку".
О резултатах доложите тут :yes:
Особенно феерично выглядит сравнение "линейки" с километровой сеткой на широтах поближе к полюсу :cry:


Вернуться к началу
shoppage  personalpage P  
 
СообщениеДобавлено: 27.03.2016 23:32 
Аватара пользователя

Сообщения: 966
Город: Харьков
Пол: Муж
Возраст: 40
Зарегистрирован:18.03.2013
Виктор, перечитайте страницы 34-35 данной темы. Там это уже обсуждалось.
И картинки интересные выкладывались.

Изображение

Это скриншот, который приводил Паганель. Двухкилометровая клетка генштабовки совпадает с линейкой 3,2 км.
Отсюда вывод: линейка врёт.

Как же определить разрешение? Прежде всего, нужно понять, что разрешение экрана навигатора в метрах на пиксель будет разным для разной широты местности. Дальше есть два способа.

1. Более трудоёмкий. Делаете карту нужного вам района, но такую, чтобы в интересующем вас масштабе на карте были видны объекты, отстоящие друг от друга (по вертикали или горизонтали) на известное вам расстояние. Для этой цели хорошо подходят генштабовки с сеткой. А для подробных спутниковых снимков найдите два чётких объекта и заранее на компьютере измерьте расстояние между ними в метрах. Далее загоняете карту в навигатор и делаете скриншот. Скриншот запихиваете в фотошоп и измеряете расстояние в пикселях между вашими объектами (или размер сетки генштаба). Затем делите метры на пиксели. Об этом можете почитать (и посмотреть поясняющие картинки) вот здесь: http://travel.org.ua/forums/viewtopic.p ... 60#p727212

2. Менее трудоёмкий. Его я уже описал чуть раньше. Открываете в САС Планете нужный район, смотрите разрешение и пересчитываете пропорционально к интересующему вас масштабу Магеллана, полагая, что зум 14 - это масштаб "1 км", а зум 15 - масштаб "500 м". Получается чуть-чуть неточно, но для практического применения точность этого метода более чем достаточна.

_________________
Карты для Android, iOS, Garmin, Magellan: www.encyclopedia-stranstviy.com/p/skachat-karty.html


Последний раз редактировалось Андрей Лунячек 28.03.2016 00:20, всего редактировалось 2 раз(а).

Вернуться к началу
shoppage  personalpage P  
 
СообщениеДобавлено: 28.03.2016 00:05 
Аватара пользователя

Сообщения: 966
Город: Харьков
Пол: Муж
Возраст: 40
Зарегистрирован:18.03.2013
Ещё немного поясню по поводу САС Планеты и Магеллана.
И у САС Планеты, и у Магеллана разрешение каждого конкретного зума (масштаба) меняется с изменением широты местности. Причём оно у них меняется одинаковым образом. Отличие только в том, что зумы САС Планеты и масштабы Магеллана не во всех случаях совпадают. Но там, где они совпадают, мы имеем одинаковое разрешение у САС Планеты и у Магеллана (как следствие - наилучшее из возможных качество картинки) на любой широте местности. Экспортируйте из САС Планеты любую подробную карту на зуме 18 и сконвертируйте в формат Магеллана (не меняя разрешения исходника). В навигаторе она будет выглядеть одинаково хорошо независимо от района, который она покрывает, будь то экватор или Мурманск.

Проще представить ситуацию, если каждому зуму САС Планеты присвоить условные масштабы в метрах и километрах. Смотрим, что получается (для простоты возьмём только часть диапазона).

Зум 11 - условно 8 км
Зум 12 - условно 4 км
Зум 13 - условно 2 км
Зум 14 - условно 1 км
Зум 15 - условно 500 м
Зум 16 - условно 250 м
Зум 17 - условно 125 м
Зум 18 - условно 62,5 м
Зум 19 - условно 31,25 м

У Магелланов, как мы знаем, масштабная линейка несколько другая:

8 км
4,8 км
3,2 км
2,4 км
1,6 км
1,2 км
800 м
400 м
240 м
150 м
90 м
60 м
30 м

Сравним две шкалы. Мы видим некоторые примерные совпадения (слева - САС Планета, справа - Магеллан):

Зум 11 (условно 8 км) - "8 км"
Зум 16 (условно 250 м) - "240 м"
Зум 18 (условно 62,5 м) - "60 м"
Зум 19 (условно 31,25 м) - "30 м"

Я на практике убедился, что карты для Магеллана, сделанные из этих четырёх зумов САС Планеты (без смены разрешения) прекрасно выглядят на экране навигатора. Независимо от широты!

Вот кусок ОСМ, сделанный из 18 зума САС Планеты без смены разрешения. Как вам качество картинки?

Изображение

Ну а для других зумов желательно изменить разрешение. К примеру, у Магеллана есть масштаб "400 м". В САС Планете наиболее близок к нему зум 15, условно соответствующий масштабу "500 м". Составляем простейшую пропорцию: 500/400 = SAS/x
В этой пропорции "SAS" означает разрешение, взятое из SAS Планеты для зума 15, а x - это разрешение Магеллана, которое мы хотим вычислить.

_________________
Карты для Android, iOS, Garmin, Magellan: www.encyclopedia-stranstviy.com/p/skachat-karty.html


Вернуться к началу
shoppage  personalpage P  
 
СообщениеДобавлено: 28.03.2016 10:00 
Аватара пользователя

Сообщения: 458
Город: Екатеринбург
Пол: Муж
Возраст: 51
Зарегистрирован:26.03.2012
В таком случае оперировать метрами/сантиметрами в масштабах и разрешениях некорректно.

Если предположить, что разршение в градусах на пиксель у 18-го зума САС совпадает 60-м зумом Магеллана и на некоторой широте (где,судя по всему и сидят разработчики магеллановского софта) 69 пикселей линейки действительно соответствуют 60-ти метрам на местности, то можно попробовать вычислить поправочные коэффициенты для ресамплинга карт.

60/69 = 0.87 м/пикс для широты разработчиков
Разрешение на экваторе для 17-го зума ОСМ (18-й зум САС) 1.193 м/пикс.
Тогда 0.87/1.193 = 0.729 Что соответствует широте 43.17611 градуса.

Тогда мы можем для любого уровня зума посчитать разрешение (в метрах на пиксель) на экваторе и потом, умножив на широту нашей карты, получить разрешение на нужной нам широте.

Разрешение на экваторе:

Зум 90 - (90 / 69) / 0.729 = 1.789
Зум 150 - (150 / 69) / 0.729 = 2.982 (достаточно близко к 17-му зуму SAS - 2.387)
Зум 240 - (240 / 69) / 0.729 = 4.771 (практически совпадает с 16-м зумом SAS - 4.773)
Зум 400 - (400 / 69) / 0.729 = 7.952
Зум 800 - (800 / 69) / 0.729 = 15.904
Зум 1200 - (1200 / 69) / 0.729 = 23.856
Зум 1600 - (1600 / 69) / 0.729 = 31.809
Зум 2400 - (2400 / 69) / 0.729 = 47.713

И так далее... Полученные цифры нужно умножить на косинус широты создаваемой карты и тогда получится разрешение в метрах на пиксель для ресамплинга ее в ГМ под нужный нам зум.

UPD Хотя что-то мне подсказывает, что правильный коэффициент не 0.729, а 0.795 - косинус 37°21′16″ с. ш. - широта г. Санта-Клара, США, где находится штаб-квартира Магеллана :-) Скорее всего, это еще Магеллановское насление. У Митака штаб-квартира в Тайбее, а это 25°02′00″ с. ш. там коэффициент был бы около 0.9 - многовато.

_________________
//Cheers, Victor
//Magellan eXplorist 310, Columbus V-990, Transystem PersonalMate 860Lite, Garmin Nuvi 50


Вернуться к началу
shoppage  personalpage P  
 
СообщениеДобавлено: 28.03.2016 14:27 
Аватара пользователя

Сообщения: 966
Город: Харьков
Пол: Муж
Возраст: 40
Зарегистрирован:18.03.2013
Victor Pomortseff писал(а):
Если предположить, что разрешение в градусах на пиксель у 18-го зума САС совпадает 60-м зумом Магеллана

Правильное слово "предположить". Так как в реальности, скорее всего, разрешение очень близкое, но не совпадающее на все 100%.
А какой зум будет точно совпадать, неизвестно. Зум 16 будет совпадать с "240 м" с такой же точностью. Интересно бы попробовать зум 11 и "8 км". Есть шансы, что там совпадение лучше. Правда, чисто из-за менее подробного зума и точность может быть ниже.

Victor Pomortseff писал(а):
И так далее... Полученные цифры нужно умножить на косинус широты создаваемой карты и тогда получится разрешение в метрах на пиксель для ресамплинга ее в ГМ под нужный нам зум.

Кстати, для упрощения работы тем, кто далёк от косинусов, можно составить табличку, где по вертикали - масштабы, а по горизонтали - широты. А в ячейках - вычисленное разрешение. Для упрощения работы можно взять не все широты, а, допустим, от 30 до 70 градуса, как более реальные для большинства форумчан.

А вообще спасибо за развитие данной темы и за интересные мысли! То, что я нащупал методом тыка, вам удалось оформить в более математическом виде.

_________________
Карты для Android, iOS, Garmin, Magellan: www.encyclopedia-stranstviy.com/p/skachat-karty.html


Вернуться к началу
shoppage  personalpage P  
 
СообщениеДобавлено: 28.03.2016 14:47 
Аватара пользователя

Сообщения: 458
Город: Екатеринбург
Пол: Муж
Возраст: 51
Зарегистрирован:26.03.2012
В качестве косвенного подтверждения:

18-й зум САС отресампленый под масштаб 90м, 0.897 м/пикс

Вложение:
shot00002.png
shot00002.png [ 67.13 КБ | Просмотров: 215 ]


16-й зум САС отресампленый под масштаб 400м, 3.989 м/пикс

Вложение:
shot00005.png
shot00005.png [ 120.29 КБ | Просмотров: 215 ]


14-й зум САС отресампленый под масштаб 1600м, 15.955 м/пикс

Вложение:
shot00008.png
shot00008.png [ 131.67 КБ | Просмотров: 215 ]


12-й зум САС отресампленый под масштаб 4800м, 47.864 м/пикс

Вложение:
shot00011.png
shot00011.png [ 116.27 КБ | Просмотров: 215 ]


При расчете ресамплинга использовалась "базовая широта" (где сидят разработчики :-) - широта Санта-Круз (т.е. коэффициент 0.795) широта карты (средняя между северной и южной границами) - около 57 градусов (косинус 0.547). При ресамплинге использовался бикубический алгоритм.

В принципе, все выглядит вполне пристойно

_________________
//Cheers, Victor
//Magellan eXplorist 310, Columbus V-990, Transystem PersonalMate 860Lite, Garmin Nuvi 50


Вернуться к началу
shoppage  personalpage P  
 
СообщениеДобавлено: 28.03.2016 16:00 
Аватара пользователя

Сообщения: 966
Город: Харьков
Пол: Муж
Возраст: 40
Зарегистрирован:18.03.2013
Вы выбрали не совсем близкие зумы. Было бы неплохо подогнать зум 17 к 90 м, зум 15 к 400 м, а зум 14 - либо к 800 м либо к 1,2 км. Картинка была бы более приятной.

_________________
Карты для Android, iOS, Garmin, Magellan: www.encyclopedia-stranstviy.com/p/skachat-karty.html


Вернуться к началу
shoppage  personalpage P  
 
СообщениеДобавлено: 28.03.2016 17:54 
Аватара пользователя

Сообщения: 458
Город: Екатеринбург
Пол: Муж
Возраст: 51
Зарегистрирован:26.03.2012
Андрей Лунячек писал(а):
Вы выбрали не совсем близкие зумы. Было бы неплохо подогнать зум 17 к 90 м, зум 15 к 400 м, а зум 14 - либо к 800 м либо к 1,2 км. Картинка была бы более приятной.


18-й зум на 60 метров тянется только растяжением. Там разрешение для наших широт 0.598 м/пикс. А у исходной карты 0.65 м/пикс.

Остальные выбирались через два. Так, чтобы каждый зум работал в диапазоне +/-1 от центрального. Впрочем, тут еще надо поэкспериментировать. Может другой набор уровней взять.

_________________
//Cheers, Victor
//Magellan eXplorist 310, Columbus V-990, Transystem PersonalMate 860Lite, Garmin Nuvi 50


Вернуться к началу
shoppage  personalpage P  
 
СообщениеДобавлено: 28.03.2016 19:36 
Аватара пользователя

Сообщения: 458
Город: Екатеринбург
Пол: Муж
Возраст: 51
Зарегистрирован:26.03.2012
Завтра сорставлю табличку соостветствия разрешений магеллана и осм на экваторе. Сдается мне, что оптимально будетиделать уровни 18, 16 и 13 для зумов 90, 400 и 1600. Исходя из того, что ресамплинг будет только на сжатие.

_________________
//Cheers, Victor
//Magellan eXplorist 310, Columbus V-990, Transystem PersonalMate 860Lite, Garmin Nuvi 50


Вернуться к началу
shoppage  personalpage P  
 
СообщениеДобавлено: 28.03.2016 23:43 

Сообщения: 101
Город: ua
Пол: Не указан
Зарегистрирован:06.05.2013
Victor Pomortseff писал(а):
Завтра сорставлю табличку соостветствия разрешений магеллана и осм на экваторе. Сдается мне, что оптимально будетиделать уровни 18, 16 и 13 для зумов 90, 400 и 1600. Исходя из того, что ресамплинг будет только на сжатие.

Табличка(и) то хороша, практична ідея. Заодно Local Scale Factor від flywire перевіриться.
А оптимально чи не оптимально
Victor Pomortseff писал(а):
уровни 18, 16 и 13 для зумов 90, 400 и 1600
то трохи некоректно, бо всеж таки треба враховувати широту. Бо окремо номер рівня то ніщо, лише має зміст у парі із широтою.
Бо, скажемо той же z15 (по САС Планеті,він же z14 Google чи OCM) має роздільну здатність м/пікс від 9,56 на екваторі, до ,скажемо на широті Норільска 3,37.
К приміру роздільність 4,8м/пікс z16 (САС чи z15 ОСМ) на екваторі , близка тій же 4,9 м/пікс в Таліні але рівня z15 (z14 ОСМ)
Для гарміну я подібні нюанси враховую. Зрештою це дозволяє мені для менш продуктивних девайсів робити швидкий растр.


to Д. Засядько, по ефекту Паганеля і принагідно стосовно параметру , по якому переключається відтворення карт хотілось би де що вияснити.
Останній зокрема писав:
Paganel писал(а):
К сожалению, для принятия решения о выводе на экран данной карты при данном разрешении Магеллан использует разрешение в градусах на пиксель причем берет его не по широте (вертикали), где оно одинаковое для любого листа карты, а по долготе. ...Изображение

З цього приводу виникає аж два питання.
А була би ця феєрія, якщо б при своренні RMP (до речі хотілось би пощупати rmp оригінал) було враховано розділову здатність растру в м/пікс. Тобто розділову здатність градусну по вертикалі взяти не рівну градусній розділовій здатності по горизонталі (чи яку небуть іншу) а чітко привести у відповідність до розділової здатності растру в м/пікс?
Друге питання стосується того, так по чому ж йде >>принятие решения о выводе на экран данной карты, по м/пікс? чи по "градусах на пиксель"?


Последний раз редактировалось ed.ua 28.03.2016 23:46, всего редактировалось 1 раз.

Вернуться к началу
shoppage  personalpage P  
 
СообщениеДобавлено: 28.03.2016 23:45 

Сообщения: 910
Город: Харків, Холодна Гора
Пол: Не указан
Возраст: 37
Зарегистрирован:02.10.2006
Victor Pomortseff, а у меня к вам просьба будет. :oops:

Не могли бы вы кое-чего поправить в вашей программе MPsplitter?
А именно:
1) сделать так, чтобы кодировка текста в .dbf-файлах шейпов была не UTF-8, а cp1251.
Тогда можно будет в ММО подсовывать шейп-файлы сразу, без ручной перекодировки каждого файла. А учитывая, что теперь есть возможность отображать в навигаторе (по крайней мере, в Эксплористах) векторные карты с русскими названиями, то я теперь смогу делать карты без этого дурацкого транслита.
2) добавить больше картинок для POI. Если вам сложно выуживать картинки из файлов ресурсов, то может, просто названия картинок пропишете? Ну, типа AERIAL, CAR_RENTAL, и т. д. как они там называются в файле ресурсов. Желательно, чтобы ещё и группировка была по соответствующим категориям. Например, чтобы, например, этот самый воздушный шар AERIAL был в своей категории Air, а AUTO_SHOP в категрии Auto и т.д.


Вернуться к началу
shoppage  personalpage P  
 
СообщениеДобавлено: 29.03.2016 03:20 
Аватара пользователя

Сообщения: 966
Город: Харьков
Пол: Муж
Возраст: 40
Зарегистрирован:18.03.2013
Victor Pomortseff писал(а):
18-й зум на 60 метров тянется только растяжением.

Ну и что такого, что растяжением? Задача - подогнать разрешение под ближайший масштаб, а уж растяжение там будет или сжатие - второй вопрос.

Поясню примером. Допустим, у вас есть некая карта с разрешением 6 м/пикс. А два ближайших к ней масштаба Магеллана имеют (к примеру) разрешения 5 м/пикс и 10 м/пикс. И что же вы будете делать? Растягивать шесть до пяти или сжимать шесть до десяти?
Я думаю, что к шести пять всё-таки ближе, чем десять. Поэтому лучше немножко растянуть нежели сильно сжать.

Victor Pomortseff писал(а):
Там разрешение для наших широт 0.598 м/пикс.

Откуда эта цифра? Я думаю, вы ошибаетесь.
Я взял кусок Екатеринбурга с зума 18 САС, для удобства нанёс на него координатную сетку с шагом в 5 секунд и перегнал в формат Магеллана. Далее сделал скриншот на навигаторе на масштабе "60 м", загнал его в фотошоп и измерил количество пикселей по горизонтали между линиями сетки. Получилось 122 пикселя. Кроме того, в САС Планете измерил длину этого же расстояния (между линиями сетки) в метрах. Получилось 84,6 метра. Разделил 84,6 на 122 и получил разрешение 0,693 м/пикс. Картинку прилагаю, можете сами измерить.


Вложения:
shot00001.png
shot00001.png [ 67.42 КБ | Просмотров: 192 ]


_________________
Карты для Android, iOS, Garmin, Magellan: www.encyclopedia-stranstviy.com/p/skachat-karty.html
Вернуться к началу
shoppage  personalpage P  
 
СообщениеДобавлено: 29.03.2016 03:42 
Аватара пользователя

Сообщения: 966
Город: Харьков
Пол: Муж
Возраст: 40
Зарегистрирован:18.03.2013
Victor Pomortseff писал(а):
Сдается мне, что оптимально будет сделать уровни 18, 16 и 13 для зумов 90, 400 и 1600.

Не могу с вами согласиться. Если ранее вы произвели кучу расчётов, основываясь на допущении, что зум 18 совпадает с масштабом 60 м, и при этом получили правдоподобные результаты, то почему сейчас вы хотите подгонять зум 18 уже не к 60 м, а к 90 м?

Я считаю, что подгонять нужно следующие зумы к следующим масштабам:

Зум 19 - к 30 м
Зум 18 - к 60 м
Зум 17 - растянуть до 90 м либо сжать до 150 м
Зум 16 - к 240 м
Зум 15 - к 400 м
Зум 14 - растянуть до 800 м либо сжать до 1,2 км
Зум 13 - растянуть до 1,6 км либо сжать до 2,4 км
Зум 12 - растянуть до 3,2 км либо сжать до 4,8 км
Зум 11 - к 8 км

Если делать многослойный бутерброд, то хороший результат получится из сочетания зумов 14 (подгонка к 1,2 км), 16 (подгонка к 240 м) и 18 (подгонка к 60 м). Тогда от масштаба 2,4 км до масштаба 800 м мы увидим карту из зума 14, затем от масштаба 400 м до масштаба 150 м - карту из зума 16, а далее от масштаба 90 м до масштаба 30 м - карту из зума 18.

Попробуйте поэкспериментировать. Сделайте так, как написали вы, и так, как написал я. И сравните.

Victor Pomortseff писал(а):
Исходя из того, что ресамплинг будет только на сжатие.

Выше я уже писал вам, что где-то лучше сжатие, а где-то - растяжение. Главное - подогнать зум САС к масштабу Магеллана с наиболее близким разрешением.

_________________
Карты для Android, iOS, Garmin, Magellan: www.encyclopedia-stranstviy.com/p/skachat-karty.html


Вернуться к началу
shoppage  personalpage P  
 
СообщениеДобавлено: 29.03.2016 09:40 
Аватара пользователя

Сообщения: 458
Город: Екатеринбург
Пол: Муж
Возраст: 51
Зарегистрирован:26.03.2012
С 18-м зумом есть одна проблема. Если его растягивать на 60-й уровень, то размер одного листа километровки получается под гигабайт (ну или качество JPEG ниже плинтуса опускать). А у эксплориста памяти всего 1.7. Мне даже под одну дневную покатушку надо минимум два листа километровок. А бывает что и три.

При сжатии 18-го зума под 90-й уровень размер карты 400-450 мбайт. Посему работаем только на сжатие.

Получается как-то так:

Вложение:
1.gif
1.gif [ 25.05 КБ | Просмотров: 172 ]


Т.е. 18-й жмем под 90 метров, 16-й под 400 а дальше или 14-й под 1200 или 13-й под 2400 (это уже скорее в качестве обзорной карты).

Табличка дя рассчетов

Вложение:
Zoom.xls [14 КБ]
Скачиваний: 24

_________________
//Cheers, Victor
//Magellan eXplorist 310, Columbus V-990, Transystem PersonalMate 860Lite, Garmin Nuvi 50


Вернуться к началу
shoppage  personalpage P  
 
СообщениеДобавлено: 29.03.2016 10:38 
Аватара пользователя

Сообщения: 966
Город: Харьков
Пол: Муж
Возраст: 40
Зарегистрирован:18.03.2013
Victor Pomortseff писал(а):
С 18-м зумом есть одна проблема. Если его растягивать на 60-й уровень, то размер одного листа километровки получается под гигабайт (ну или качество JPEG ниже плинтуса опускать). А у эксплориста памяти всего 1.7. Мне даже под одну дневную покатушку надо минимум два листа километровок. А бывает что и три.

При сжатии 18-го зума под 90-й уровень размер карты 400-450 мбайт. Посему работаем только на сжатие.

Так вот в чём собака зарыта! Теперь понятно. Но получается, что желание подогнать 18 зум под масштаб 90 м вызвано не объективными, а вашими субъективными причинами. Т.е. вы жертвуете качеством картинки (т.к. при подгоне на 60 м она будет лучше) для того, чтобы уменьшить размер файла.

Я бы, наверное, в подобном случае взял 17 зум и подогнал его к 150 м.

Кстати, видели мои расчёты по скриншоту Екатеринбурга? там ведь получается разрешение 0,693, а не 0,598, как пишете вы.

_________________
Карты для Android, iOS, Garmin, Magellan: www.encyclopedia-stranstviy.com/p/skachat-karty.html


Вернуться к началу
shoppage  personalpage P  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему На страницу Пред.  1 ... 36, 37, 38, 39, 40, 41, 42 ... 61, Bce  След.


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
  © Mishael 2003-2016
forum MAP
Мобильный вид

[ Time : 0.123s | 34 Queries | GZIP : On | Load : 0.66 ]
Reputation System ©'