Что такое self в Python: примеры из реального мира
Что такое self в Python: примеры из реального мира
В этом руководстве я расскажу, как использовать функцию «Известный текст» в визуальном элементе карты значков LuckyTemplates. В этом сообщении в блоге будет подробно рассказано об использовании LuckyTemplates в геопространственных проектах.
Карта значков LuckyTemplates — одно из самых универсальных и сложных визуальных средств сопоставления. Он предлагает функциональность, которой по-прежнему не хватает другим визуальным элементам карты. Он поддерживает различные форматы карт, всплывающие подсказки и заявляет о лучшей безопасности данных.
Для визуализации и анализа потоков, таких как маршруты доставки или газопроводы, визуальная карта Icon Map предлагает значительные преимущества.
Это руководство не является демонстрацией всех возможностей карты значков. Это просто сфокусировано на контексте использования строк общеизвестного текста ( WKT ).
Оглавление
Хорошо известный текст (WKT) на карте значков LuckyTemplates
Строки общеизвестного текста представляют собой комбинации долготы и широты , разделенные точкой . Объединение их в одну запись создает линии, фигуры или многоугольники.
Вы можете легко преобразовать данные широты и долготы в Power Query, если у вас нет общеизвестной текстовой строки.
Вы можете импортировать визуальную карту значков LuckyTemplates с этого веб-сайта (на момент написания этой статьи она все еще находится в бета-версии).
На этой веб-странице есть много рабочих примеров. Однако визуальный элемент и источник приложения не поддерживают все последние изменения. По словам Джеймса Дейлса (разработчика), на момент написания этой статьи Microsoft ожидает одобрения бета-версии.
Пример сценария использования строк WKT в карте значков LuckyTemplates
В первом примере я покажу, как отобразить несколько слоев со строками WKT для газовых линий. Я скачал некоторую информацию с веб-сайта поставщика газа в Нидерландах. Я взял станции и трубопроводы только для того, чтобы создать этот пример.
1. Объединение запросов
Первая часть этого примера предназначена для слияния запросов.
Запрос « заправки для слияния » содержит столбцы ID , Longitude и Latitude .
Во-первых, я создал долготу и широту в столбцах с двумя делениями, переработав числа из столбцов долготы и широты . Как видите, долгота аналогична столбцу Division , а широта аналогична столбцу Division.1 .
Затем я добавил столбец Index .
Я удалил столбцы долготы и широты .
После этого я округлил переработанные широту и долготу до пяти цифр.
Округление их до пяти цифр дает точность около одного метра, что достаточно хорошо в этом сценарии. Обычно я округляю до четырех, чтобы сэкономить больше памяти.
Я продублировал запрос « gasstations for merging », который имеет столбец индекса , начинающийся с нуля , и назвал его запросом « gasstations1 ».
В этом запросе я создал еще один столбец индекса , начинающийся с 1 .
Моя цель в этом запросе — создать пары долготы и широты для каждой заправочной станции . Затем объедините две последовательные пары в одну текстовую строку в одной записи . Это будет участок трубопровода между станциями.
Я использовал столбец Index для объединения двух запросов. В результате запись с индексом 1 в запросе « gasstations1 » и запись с индексом 1 в исходном запросе ( gasstations for merging ) будут объединены.
Я следовал последовательности в столбце ID и соединил станции в две пары.
Таким образом, 141 и 71 являются соседними станциями, как показано в одной записи. В паре они представляют конкретный участок газопровода. Это также относится к 71 и 152 и последующим записям в столбце ID .
2. Расширение таблицы
После объединения запросов на основе столбца Index мне нужно расширить таблицу и сохранить столбцы ID , Latitude и Longitude . Идентификатор используется как часть общеизвестного текстового идентификатора, состоящая из двух станций . Я не менял имена, потому что эти столбцы в дальнейшем мне не понадобятся.
3. Создание и объединение путей fromstring и tostring
Сначала я создал столбцы fromstring и tostring .
Затем я объединил их вместе в один столбец и назвал его « Объединено ».
4. Создание хорошо известного текста
После создания столбцов fromstring и tostring я создал строковый столбец WKT .
Общеизвестный текст создается путем добавления ключевого слова LINESTRING в объединенный столбец.
Таким образом, теперь она квалифицируется как общеизвестная текстовая строка, которая будет принята визуальным элементом карты значков LuckyTemplates.
Следующим, что я сделал, было удаление объединенного столбца.
Как видите, в последней строке нет значения. Это потому, что нет соседней станции. Поэтому я удалил последнюю строку.
Я также добавил столбец индекса для сортировки идентификатора общеизвестного текста , который я создал в визуальном элементе.
Кроме того, я добавил столбец Well Known Text ID ( WKT ID ), который представляет собой комбинацию столбцов fromID и toID .
5. Добавление значения к визуальным данным без значения
Я хотел бы добавить значение к моим визуальным данным, которые не содержат никакого значения.
Для этого я создал столбец случайных значений, используя функцию List.Random и столбец Index . Затем значение может представлять давление, количество или время без обслуживания. Это просто для отображения чего-то в визуальном.
6. Заполнение полей для визуального элемента карты значков LuckyTemplates
Поскольку я уже загрузил визуальный элемент Icon Map с веб-сайта, я могу просто щелкнуть его здесь.
Существует некоторая сложность в использовании визуального элемента из-за множества доступных настроек. Я быстро проведу вас через некоторые из них.
Обязательные поля для работы визуального элемента помечены как « ( обязательно) ».
Чтобы отобразить станции или газопроводы, я добавил идентификатор WKT и строку WKT в поле «Категория» .
Я также добавил долготу и широту.
Затем я добавил меру Total Quantities в поле Size .
Мера Total Quantities представляет собой сумму столбца Quantity в таблице gasstations1 .
Как видите, у меня уже есть карта. Однако это еще не совсем то, чего я хочу.
7. Изменение визуального элемента карты значков в LuckyTemplates
Мне нужно создать несколько ярлыков, чтобы он выглядел лучше. Итак, я поместил столбец WKT ID в поле Label .
У меня также есть простая мера цвета, и я положу ее на поле здесь.
Теперь я могу использовать эту карту для отображения таких заправочных станций.
Щелкнув здесь, я также могу отобразить слой газовых линий.
Тем не менее, есть еще кое-что, что мне нужно сделать, чтобы я мог сделать это лучше.
Для начала я перейду на панель форматирования . Затем в фоновых слоях я выберу тычинку — TonerLite . Это обеспечивает выбор различных типов фона
Я выбрал эту карту, потому что она красивая и серая. Это также дает хорошее отражение цветов, которые я хочу использовать.
Здесь также есть разные варианты слоев. Например, здесь я включу OpenRailMap .
Затем на карту будут добавлены железнодорожные линии (обозначенные оранжевым цветом).
В разделе «Управление картой» я отключу параметры «Масштаб » и «Выделение лассо» , чтобы сделать карту чище.
Затем я включу здесь параметр «Ярлыки» .
Здесь вы можете увидеть метки, относящиеся к станции или участку трубопровода .
Я также выбрал все параметры для WKT , потому что они также влияют на отображение карты.
Я также увеличил толщину линий для линейных слоев, увеличив здесь значение ширины линии . Кроме того, я изменил его непрозрачность на 100% , чтобы выделить его.
Здесь я смог управлять всплывающими подсказками . В этом примере я оставлю значение по умолчанию.
В разделе « Выделение» я установил разные значения непрозрачности выделенных элементов и непрозрачности невыбранных элементов .
Вот так это выглядит при выборе одной линии на карте. Вы можете видеть, что другие линии все еще видны, потому что непрозрачность невыбранных установлена на 20 .
Изменив непрозрачность невыбранных на 1 , они будут полностью невидимы.
Я также включил параметр «Показать под картой» , потому что я мог бы использовать его при определенных обстоятельствах.
Затем я включил автомасштабирование .
Есть и другие доступные настройки, с которыми я могу попробовать поиграться.
Размер этих кругов на карте также можно изменить. В Data Map Objects просто измените Min. Размер для минимального размера и Макс. Размер на максимальный размер.
В этом примере я использовал 20 для максимального размера и 3 для минимального размера .
8. Добавление всплывающей подсказки
Я создал простую всплывающую подсказку, которая выглядит так.
Я смог использовать эту подсказку здесь. В разделе «Тип» я выбрал параметр всплывающей подсказки , который является именем созданной мной всплывающей подсказки. Обратите внимание, что эта опция всплывающей подсказки здесь отличается от всплывающих подсказок , о которых я упоминал ранее.
После этого, когда я наведу курсор на свою карту, вы увидите всплывающую подсказку, которую я создал.
В зависимости от создаваемой карты другие настройки могут не иметь значения. Как видите, настройки могут быть огромными, но все они способствуют улучшению внешнего вида карты.
9. Выход
Теперь у меня есть карта, которая может отображать несколько слоев. Я могу переключаться между станциями, которые я могу отображать в виде кругов или линий.
После выполнения предыдущих шагов теперь можно добавить таблицу, отражающую выборки, которые вы делаете на карте.
В этом примере я могу выбрать точку здесь, и она покажет эту точку на карте.
Я также могу использовать функцию поиска здесь. Например, если я наберу 61 , он также покажет эти точки на карте.
Наконец, я могу просто выбрать элемент на карте, просто щелкнув по нему. Затем он будет отображаться в таблице.
Это завершает первую часть этого учебника по хорошо известному тексту .
Пример сценария карты значков LuckyTemplates на основе маршрутов доставки
Во втором примере я смотрю на маршруты доставки . Опять же, большая часть работы выполняется в Power Query . То, как я обрабатывал данные в первом примере, не сильно отличается от того, что я использовал в этом примере. Но у меня все же совсем другие данные в этом примере.
Во втором примере я хочу проанализировать маршруты нескольких транспортных средств из разных депо. Затем отобразите их в виде прямых линий, соединяющих точки отправления и назначения в каждом маршруте доставки.
В зависимости от того, что доступно в ваших данных, вы можете проанализировать выбросы за одну остановку , расход топлива , время остановки и многое другое. В этом примере будут показаны только вес и доход .
Один из моих текущих проектов направлен на расчет выбросов для различных типов транспортных средств и различных обстоятельств. Это потребовало ответа на транспортный тендер.
1. Набор данных
Данные, которые я использовал, были взяты из системы управления транспортом. Существуют различные способы получения данных. Они могут быть от разных систем управления транспортом , от программы оптимизации маршрута или от бортового компьютера .
В Power Query у меня сейчас есть пять запросов. Во-первых, это таблица Colors для управления цветовым отображением маршрутов.
У меня также есть два запроса, которые являются дубликатами запроса Routes Data с частью преобразования данных Power Query. Я назвал их подготовка к WKT ( подготовка к хорошо известному тексту ) и следующая остановка ( подготовка к следующей остановке ). Эти два используются для объединения необходимой информации с основным запросом Routes Data .
Есть несколько способов, как выполнить одно из ключевых требований в этом случае. И это получение имени , широты и долготы следующей строки в предыдущей строке, чтобы показать последовательность доставки.
Далее необходимо показать отправляющееся и прибывающее депо в правильных столбцах.
Наконец, я создал хорошо известную текстовую строку.
Я использовал как индексные методы, так и слияние со сдвинутыми индексами от нуля до одного или от одного до двух, чтобы выровнять записи. Я также использовал специальное решение для столбца, в котором номер индекса плюс 1 возвращает следующую строку.
Это может привести к проблемам с памятью в больших наборах данных.
Таким образом, использование методологии слияния на основе столбца индекса предпочтительнее, так как это намного проще.
У меня также есть запрос данных о маршрутах . Это будет загружено в модель.
Запрос Depots содержит информацию о начальной и конечной точках каждого маршрута. Я также объединил этот запрос с запросом Routes Data .
Модель и базовые данные будут доступны для справки. Я предлагаю выполнить прикладные шаги в своем собственном темпе от слияния запроса Depots до получения широты и долготы. Затем перейдите к шагу объединения следующей остановки, чтобы добавить к данным общеизвестный текст. После этого вы можете перейти к выполнению шагов для окончательной очистки.
Я загрузил таблицы Depots , Colors и Routes Data . Я также создал соединение в модели данных.
Итак, теперь я могу начать с визуализации.
2. Визуализация карты значков
Визуальный элемент Icon Map теперь показывает маршруты. Он также добавил соответствующие данные в строку полей. Настройки на панели «Форматирование» аналогичны настройкам в первом примере, где показаны заправочные станции.
Я добавил несколько показателей для расчета количества остановок на маршрутах, дохода и веса . Они были помещены в карты.
После добавления таблицы и слайсеров для идентификатора депо и имени депо базовая панель анализа маршрута готова. Теперь это динамично, так как я могу делать выбор, который хочу, и результаты будут отображаться соответственно.
Визуализация данных LuckyTemplates — динамические карты во всплывающих подсказках
LuckyTemplates Shape Map Visualization для пространственного анализа
Геопространственный анализ — новый курс на LuckyTemplates
Заключение
Это в основном то, как использовать известные текстовые строки в визуальном элементе карты значков LuckyTemplates. В этом руководстве вы узнали, как отображать несколько слоев с помощью WKT для данных о потоках, таких как газовая сеть или маршруты транспортных средств, в визуальном элементе карты значков.
Имейте в виду, что добавление релевантных и обязательных полей данных также важно для корректной работы аналитического отчета.
Перейдите по ссылкам ниже для получения дополнительных примеров и соответствующего контента.
Ваше здоровье!
Павел
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.
Что такое шлюз LuckyTemplates? Все, что тебе нужно знать