Forwarded from Код Екатеринбурга (Паша Омелёхин)
💫 Запускаем карту Екатеринбурга!
Когда был построен ваш дом? Как много высоких зданий в центре? Сколько в городе объектов культурного наследия? Где чаще всего происходят ДТП? Чтобы ответить на эти и миллион других вопросов, мы разработали карту Екатеринбурга — сервис, где собраны и визуализированы все данные о городе.
У Екатеринбурга огромное количество интересных и открытых данных, о которых никто не знает. Раньше их было трудно найти, трудно пользоваться и трудно сделать из них выводы. А теперь они все в одном месте! Захо́дите на карту — и тут же попадаете в мир полезной и красивой картографии.
Какие фишки есть у сервиса:
— Скорость и производительность. Карта шустро работает с огромными объёмами данных и не падает.
— Легко добавить новые слои данных.
— Данные автоматически обновляются из источника.
— Красивая визуализация любых данных.
— Подробная карточка объекта.
— И всё это в 3D!
Какие планы
Сегодня мы запускаем бета-версию сервиса. В будущем мы планируем добавить новые слои данных, показывать сразу несколько слоёв, разработать API, визуализировать данные обо всех городах в мире и много чего ещё.
Самое важное
Проект является полностью открытым. Кто угодно может в него законтрибьютить или форкнуть. Заходите на гитхаб.
Итак, ссылка этого лета. Залипнуть на часок: 🗺️ map.ekaterinburg.city
Когда был построен ваш дом? Как много высоких зданий в центре? Сколько в городе объектов культурного наследия? Где чаще всего происходят ДТП? Чтобы ответить на эти и миллион других вопросов, мы разработали карту Екатеринбурга — сервис, где собраны и визуализированы все данные о городе.
У Екатеринбурга огромное количество интересных и открытых данных, о которых никто не знает. Раньше их было трудно найти, трудно пользоваться и трудно сделать из них выводы. А теперь они все в одном месте! Захо́дите на карту — и тут же попадаете в мир полезной и красивой картографии.
Какие фишки есть у сервиса:
— Скорость и производительность. Карта шустро работает с огромными объёмами данных и не падает.
— Легко добавить новые слои данных.
— Данные автоматически обновляются из источника.
— Красивая визуализация любых данных.
— Подробная карточка объекта.
— И всё это в 3D!
Какие планы
Сегодня мы запускаем бета-версию сервиса. В будущем мы планируем добавить новые слои данных, показывать сразу несколько слоёв, разработать API, визуализировать данные обо всех городах в мире и много чего ещё.
Самое важное
Проект является полностью открытым. Кто угодно может в него законтрибьютить или форкнуть. Заходите на гитхаб.
Итак, ссылка этого лета. Залипнуть на часок: 🗺️ map.ekaterinburg.city
Каждый квартал я генерю схему «Тысячи пассажиров метро». За 2 с лишним года процесс упростился от кропотливой ручной работы (иногда с калькулятором) до запуска 2 скриптов. Решил написать об эволюции процесса. Про изменения самой схемы (то есть дизайн) тут не будет.
2021 год. Первые появившиеся данные я скачивал в Экселе в виндовой кодировке, конвертировал кодировку с ручной правкой некоторых станций. Названия пишутся в «их» системе неграмотно: заглавные буквы не соблюдаются, буквы «ё» где-то есть, где-то нет. А у Савёловской вообще: на серой линии буква «ё», а на БКЛ — «е». Но это всё просто исправлялось единожды. Потом из Экселя выгружал нужный мне джейсон для Иллюстратора. Про весь этот процесс можно прочитать пост на сайте.
2022 год. Начал качать данные с сайта Москвы в джейсоне и промежуточным скриптом конвертировал «их» данные в свои. Ручные правки остались только в Иллюстраторе: двигал сгенерированные кружочки, потому что данные рисовались на точках станций, а не на некотором расстоянии друг от друга.
2023 год. Теперь я только запускаю 2 скрипта: скачать данные о пассажиропотоке и нарисовать в Иллюстраторе.
Первый скрипт — серверный, с доступом по апи к данным Москвы. Он скачивает нужный квартал в базу данных на сайте metrostat.ru. А мой сайт уже знает всё о станциях и линиях метро, и может посчитать тысячи пассажиров с учётом дат открытия и закрытия станций. Например, на сайте Москвы хранятся данные суммарно за весь квартал, а новые станции БКЛ работали только с открытия в марте. Поэтому надо делить не на 90 дней, а на нужное число дней. Тоже самое с открывающимися после ремонта станциями. Данные по кроссплатформенным станциям тоже учитываются. Клик — и квартальные количества по входу и выходу превращаются в готовый джейсон с суммарными тысячами для запуска в Иллюстраторе.
Сергей Турулин
Каждый Новый год мы с друзьями ходим в баню Каждый квартал я генерю схему «Тысячи пассажиров метро». За 2 с лишним года процесс упростился от кропотливой ручной работы (иногда с калькулятором) до запуска 2 скриптов. Решил написать об эволюции процесса. Про…
Продолжение.
Второй скрипт — в Иллюстраторе рисует на местах предыдущих кружочков станций новые кружочки и цифры. Двигать кружочки теперь тоже не надо. Клик — и готово. Из ручных операций в Иллюстраторе остались только кроссплатформенные кружочки, которые я стал делить пополам.
Конечно, после каждой генерации надо руками подтюнить позиции окружностей. Без этого никуда.
Теперь самым долгим процессом стало сохранение схемы в 4 файла: растры разных размеров и пдф (после каждой найденной ошибки 😞). Решил в следующую итерацию сделать это тоже скриптом: экспортировать 4 файла и отправить их через апишку на сайт я могу с помощью экстеншена прямо из Иллюстратора. Апишка на сайте metrostat.ru уже есть. Так что буду ещё упрощать процесс.
И в планах — сделать свг на сайте и добавить на сайт другие города. Если есть какие предложения ещё, пишите. Подумаем.
ps: кстати, эту схему и сайт я делаю без финансирования (а то меня тут спросили про госденьги). Исключительно на энтузиазме. В подвале сайта metrostat.ru есть ссылочка, по которой можно задонатить.
Adobescript
Extension for Adobe Illustrator and/or InDesign | Sergei Turulin — Programmer for Designers
Extension for Adobe Illustrator and/or InDesign. Sergei Turulin — Programmer for Designers
Программирование внутри Адоба — это качели
На этой неделе я научился работать с масками в Иллюстраторе: заходить внутрь, доставать оттуда объекты, менять форму маски и даже делать маску несколькими формами. Хотя на протяжении нескольких лет думал, что в Иллюстраторе нельзя нормально работать с ними, и если надо было что-то сделать, то разрушал маску, производил манипуляции и потом снова создавал маску. Такой маскарад был 👺. Но такие задачи редко попадались.
И вот я вдохновлённый решением, наконец, давней проблемы сел программировать. Думаю «может действительно всё можно делать в Иллюстраторе? и это я просто плохо читаю документацию?».
Нужно мне сохранить информацию в документ Иллюстратора. Просто строку добавить к описанию. В Индизайне с этим нет проблем — можно любому объекту добавить «теги», которые состоят из пары ключ—значение. Думаю, в Иллюстраторе всё также: теги объектам документа я раньше сохранял. Проблем не должно быть.
Открываю «документацию», нахожу свойство документа
Но нет: оказывается, это теги не документа, а только всех объектов документа. И добавить теги самому документу нельзя. Хотя, например,
Уверен на 100%, что разработчикам (прости господи) скриптов Иллюстратора просто было лень делать отдельное свойство для тегов самого документа. В Индизайне, например, есть
И проблема эта кроется в отсутствии нормальной документации. Впрочем, не только нормальной, вообще документации. Можно сказать, что она существует только в виде списка объектов, их свойств и методов (не на сайте Адоба, естественно) и поиска ответов на вопросы на форуме Адоба (форум они сделать смогли).
И на этом форуме есть ответ, как сохранить информацию к документу: надо записать в его XMP-свойства (это который в File / File info...). 🤯 То есть надо открыть XML-файл Иллюстратора, пройтись по дереву и добавить нужную информацию в нужное место. И даже пример скрипта прилагают. Вот какой костылище!
Но на написание этого поста меня подтолкнула другая ситуация: Иллюстратор отказался выделять текст. Вот лежит на странице 10 текстов, 8 штук выделяет, а 2 не хочет. Если выводишь в лог свойства текста, всё есть: содержание, шрифт, позиция, не заблокирован. А выделять отказывается собака! Хоть ты тресни! Но это уже тема для другого поста.
На этой неделе я научился работать с масками в Иллюстраторе: заходить внутрь, доставать оттуда объекты, менять форму маски и даже делать маску несколькими формами. Хотя на протяжении нескольких лет думал, что в Иллюстраторе нельзя нормально работать с ними, и если надо было что-то сделать, то разрушал маску, производил манипуляции и потом снова создавал маску. Такой маскарад был 👺. Но такие задачи редко попадались.
И вот я вдохновлённый решением, наконец, давней проблемы сел программировать. Думаю «может действительно всё можно делать в Иллюстраторе? и это я просто плохо читаю документацию?».
Нужно мне сохранить информацию в документ Иллюстратора. Просто строку добавить к описанию. В Индизайне с этим нет проблем — можно любому объекту добавить «теги», которые состоят из пары ключ—значение. Думаю, в Иллюстраторе всё также: теги объектам документа я раньше сохранял. Проблем не должно быть.
Открываю «документацию», нахожу свойство документа
Document.tagsи метод
tags.add(). Всё просто!
Но нет: оказывается, это теги не документа, а только всех объектов документа. И добавить теги самому документу нельзя. Хотя, например,
Document.textFrames.add()отлично срабатывает и создаёт на дефолтном месте новый текст.
Уверен на 100%, что разработчикам (прости господи) скриптов Иллюстратора просто было лень делать отдельное свойство для тегов самого документа. В Индизайне, например, есть
Document.pageItems— это элементы документа, и есть
Document.allPageItems— это вообще все элементы, включая внутри групп.
И проблема эта кроется в отсутствии нормальной документации. Впрочем, не только нормальной, вообще документации. Можно сказать, что она существует только в виде списка объектов, их свойств и методов (не на сайте Адоба, естественно) и поиска ответов на вопросы на форуме Адоба (форум они сделать смогли).
И на этом форуме есть ответ, как сохранить информацию к документу: надо записать в его XMP-свойства (это который в File / File info...). 🤯 То есть надо открыть XML-файл Иллюстратора, пройтись по дереву и добавить нужную информацию в нужное место. И даже пример скрипта прилагают. Вот какой костылище!
Но на написание этого поста меня подтолкнула другая ситуация: Иллюстратор отказался выделять текст. Вот лежит на странице 10 текстов, 8 штук выделяет, а 2 не хочет. Если выводишь в лог свойства текста, всё есть: содержание, шрифт, позиция, не заблокирован. А выделять отказывается собака! Хоть ты тресни! Но это уже тема для другого поста.
Сергей Турулин
Программирование внутри Адоба — это качели На этой неделе я научился работать с масками в Иллюстраторе: заходить внутрь, доставать оттуда объекты, менять форму маски и даже делать маску несколькими формами. Хотя на протяжении нескольких лет думал, что в…
Самое смешное, что на сайте Адоба эта проблема помечена как «Решено». 4 года назад
Или может быть это «Решено не делать»?
Или может быть это «Решено не делать»?
This media is not supported in your browser
VIEW IN TELEGRAM
Когда осваиваешь новую технологию, мне кажется, это самое креативное время: заказов ещё нет, ответственности никакой. Сплошное исследование! Так у меня было и с экстеншенами в люстре и индюке.
Вот нашёл видео тетриса, который делал для Иллюстратора: открываешь панельку, нажимаешь «Старт» и погнали (на видео не финальная версия, но новее не нашёл). Adobe.Games назывался у меня экстеншен :-)
Вот нашёл видео тетриса, который делал для Иллюстратора: открываешь панельку, нажимаешь «Старт» и погнали (на видео не финальная версия, но новее не нашёл). Adobe.Games назывался у меня экстеншен :-)
Если вы ещё не знаете, то Аффинити сейчас тоже работает над добавлением скриптов. На обложке они аккуратно пишут год «больше или равно» 2024, при этом как-то подозрительно перечёркивая красными полосочками скрипты :-)
Мне понравилось, что можно будет писать и исполнять скрипты прямо в окне программы. Хотя может быть это такой специальный режим пока.
Тема обсуждается тут с марта этого года:
https://forum.affinity.serif.com/index.php?/topic/64885-scripting/page/16/#comment-1067052
У Корела тоже есть скрипты (или макросы?), вроде тоже на JS можно писать и давно (но примеры на VBA). Сообщество на сайте запаролено и посмотреть примеры я не смог. Надо регистрироваться. Или там их можно только записывать, как экшены в Иллюстраторе — ничего не понятно.
В любом случае, появление новых игроков на рынке может и сподвигнет Адоб улучшать свои скрипты. А может быть и нет, потому что пока они совсем не конкуренты.
Мне понравилось, что можно будет писать и исполнять скрипты прямо в окне программы. Хотя может быть это такой специальный режим пока.
Тема обсуждается тут с марта этого года:
https://forum.affinity.serif.com/index.php?/topic/64885-scripting/page/16/#comment-1067052
У Корела тоже есть скрипты (или макросы?), вроде тоже на JS можно писать и давно (но примеры на VBA). Сообщество на сайте запаролено и посмотреть примеры я не смог. Надо регистрироваться. Или там их можно только записывать, как экшены в Иллюстраторе — ничего не понятно.
В любом случае, появление новых игроков на рынке может и сподвигнет Адоб улучшать свои скрипты. А может быть и нет, потому что пока они совсем не конкуренты.
Последний раз (надеюсь) поною про скриптование в Адобе :))
В Индизайне есть такой косяк: если тексту сделать рамку, подчёркивание или перечёркивание, или сделать символы списка (согласитесь, достаточно простые вещи) и потом перевести в кривые, то всё это пропадает. Вот просто пропадает и всё. Не предупреждает, в скрипте не выдаёт ошибку. Просто стирает всё оформление, даже если оно указано в стилях абзаца, а не применено после.
Вчера я придумал картинку на эту тему, как будто об этой проблеме сообщает Индизайн, и запостил в твиттере, упомянул Адоб. И они неожиданно ответили: такое поведение является ожидаемым. Удалять свойства текста — это нормально. 🤯
Я им ответил картинкой из Иллюстратора, где после перевода в кривые всё это остаётся. И что вот ожидаемое поведение. На что они ответили статьёй, где рассуждается «надо ли вообще переводить в кривые?» и ссылку на голосование об этой проблеме, опубликованной в 2017 году.
Самое интересное, что их ответ почти точно повторил текст из моей картинки, только они вместо слова «ошибка» употребили «поведение».
¯\_(ツ)_/¯
В Индизайне есть такой косяк: если тексту сделать рамку, подчёркивание или перечёркивание, или сделать символы списка (согласитесь, достаточно простые вещи) и потом перевести в кривые, то всё это пропадает. Вот просто пропадает и всё. Не предупреждает, в скрипте не выдаёт ошибку. Просто стирает всё оформление, даже если оно указано в стилях абзаца, а не применено после.
Вчера я придумал картинку на эту тему, как будто об этой проблеме сообщает Индизайн, и запостил в твиттере, упомянул Адоб. И они неожиданно ответили: такое поведение является ожидаемым. Удалять свойства текста — это нормально. 🤯
Я им ответил картинкой из Иллюстратора, где после перевода в кривые всё это остаётся. И что вот ожидаемое поведение. На что они ответили статьёй, где рассуждается «надо ли вообще переводить в кривые?» и ссылку на голосование об этой проблеме, опубликованной в 2017 году.
Самое интересное, что их ответ почти точно повторил текст из моей картинки, только они вместо слова «ошибка» употребили «поведение».
¯\_(ツ)_/¯
Сергей Турулин
Последний раз (надеюсь) поною про скриптование в Адобе :)) В Индизайне есть такой косяк: если тексту сделать рамку, подчёркивание или перечёркивание, или сделать символы списка (согласитесь, достаточно простые вещи) и потом перевести в кривые, то всё это…
Забыл приложить ссылку, которую нагуглил, где написано, как вроде можно всё-таки перевести в кривые с сохранением всего форматирования: https://creativepro.com/converting-text-to-outlines-the-right-way/
И там в комментах от 2023 года есть ссылки на способ перевода в кривые через сохранение в PDF
(но я не проверял ни один способ пока)
И там в комментах от 2023 года есть ссылки на способ перевода в кривые через сохранение в PDF
(но я не проверял ни один способ пока)
Всем привет! ⚡️⚡️⚡️
5-го декабря в Белграде буду выступать на YaTalks 2023 — главной конференции Яндекса для IT-сообщества — с докладом про автоматизацию дизайна.
Это моя первая конференция, надеюсь будет круто. 😎
5-го декабря в Белграде буду выступать на YaTalks 2023 — главной конференции Яндекса для IT-сообщества — с докладом про автоматизацию дизайна.
Это моя первая конференция, надеюсь будет круто. 😎