Добавление пользовательских наборов символов

Esri Maps for IBM Cognos предоставляет набор символов по умолчанию для отображения точечных объектов на карте. Помимо изменения символов по умолчанию, администраторы могут добавлять собственные пользовательские наборы символов в список символов маркеров-изображений, которые авторы и пользователи отчетов применяют для оформления карт.

В Esri Maps for IBM Cognos пользовательские символы маркеров-изображений упакованы в папки по темам. Эти папки наборов пользовательских маркеров-изображений добавляются в esri-maps-em4c папку пакета расширения.

Папка пользовательского набора символов маркеров-изображений содержит следующее:

  • Набор тематических файлов символов маркеров-изображений
  • Файл определения набора маркеров-изображений (JSON) с описанием каждого маркера-изображения в наборе

После того как пользовательский набор символов маркеров-изображений создан и добавлен в папку пакета расширений esri-maps-em4c, необходимо отредактировать файл описания пакета расширений, чтобы включить в него ваш пользовательский набор символов.

Создать папку пользовательского набора символов

Создать папку в папке пакета расширений esri-maps-em4c для хранения файлов вашего набора символов.

  1. Перейдите к <em4c_location>\webcontent\esrimap\esri-maps-em4c.
  2. Создать новую папку и назвать ее в соответствии с темой вашего набора маркеров-изображений, например, CrimeSymbols.
  3. В новой папке создать подпапку с именем images. В этой папке будут храниться файлы символов маркеров-изображений, которые вы создаете.

Создать пользовательские маркеры-изображения

Для того чтобы символы правильно отображались в ниспадающих меню Символ и на карте, создайте пользовательские символы маркеров-изображений размером 20x20 пикселов и сохраните их в формате PNG для поддержки прозрачности.

  1. С помощью ПО для компьютерной графики создайте набор символов, которые наилучшим образом представляют ваши данные.

    Для обеспечения хорошей читаемости карты старайтесь не усложнять символы. Чтобы символы правильно отображались в ниспадающих меню Символ создайте пользовательские символы маркеров-изображений размером 20x20 пикселов и сохраните их в формате PNG или JPG. Используйте формат PNG для поддержки прозрачности, как показано на следующих рисунках.

    JPG символы
    JPG символы
    PNG-символы с поддержкой прозрачности
    PNG-символы с поддержкой прозрачности

  2. Сохраните файлы изображений в папке images, которую вы создали, например, CrimeSymbols\images.

Создание файла определения набора маркеров-изображений

Для определения набора маркеров-изображений используется JSON-файл с описанием каждого из символов маркеров-изображений в наборе.

В следующем примере JSON каждый из трех пользовательских маркерных символов (*.png) является отдельным объектом. Объекты заключены в фигурные скобки ({ }) и разделены запятыми. Несколько объектов заключены в квадратные скобки ([ ]), которые обозначают массив. Каждый JSON-объект содержит свойства в формате пар имя-значение, представляющих данные.

[
    {
        "type": "esriPMS",
        "url": "esri-maps-em4c/CrimeSymbols/images/crimeSymbol1.png",
        "width": "20",
        "height": "20",
        "xoffset": "0",
        "yoffset": "10"
    },
    {
        "type": "esriPMS",
        "url": "esri-maps-em4c/CrimeSymbols/images/crimeSymbol2.png",
        "width": "20",
        "height": "20",
        "xoffset": "0",
        "yoffset": "10"
    },
    {
        "type": "esriPMS",
        "url": "esri-maps-em4c/CrimeSymbols/images/crimeSymbol3.png",
        "width": "20",
        "height": "20",
        "xoffset": "0",
        "yoffset": "10"
    }
]

Для каждого символа маркера-изображения в вашем наборе необходимо создать JSON-объект, содержащий следующие свойства. Свойства тип, url, ширина, и высота являются необходимыми; остальные являются дополнительными.

  • тип – задает тип символа. Свойством типа для символа маркера-изображения является esriPMS.
  • url – задает URL, используемый для получения изображения с сервера.
  • width – задает ширину символа в пунктах. Для отображения символа в исходном размере опустите свойства ширины и высоты. Для изменения размера изображения символа достаточно указать нужную высоту в пунктах.
  • высота – задает высоту символа в пунктах. Для отображения символа в исходном размере опустите свойства ширины и высоты. Для изменения размера изображения символа достаточно указать нужную высоту в пунктах.

Доступны следующие дополнительные свойства:

  • xoffset – задает горизонтальный отступ в пунктах символа-маркера от текущего положения. Положительные значения задают отступ вправо, отрицательные – влево.
  • Отступ y – задает вертикальный отступ в пунктах символа-маркера от текущего положения. Положительные значения задают отступ вверх, отрицательные – вниз.
  • угол – задает число градусов (от 0 до 360) для поворота символа-маркера. Поворот начинается с востока в направлении против часовой стрелки, где восток равен углу 0 градусов.
  • imageData – задает кодировку base-64 данных изображения. Эта опция используется только для публикации слоев или карт в ArcGIS Online.
  • contentType – задает тип данных изображения; например, image/png. Используется только, если задан параметр imageData.

  1. В новой папке набора символов (например, CrimeSymbols), создайте новый JSON-файл, назовите его в соответствии с темой вашего пользовательского набора маркеров и присвойте ему расширение .json.txt – например, crimeSymbols.json.txt.
  2. В текстовом редакторе создайте массив, разместив открывающую и закрывающую квадратные скобки в отдельных строках. Этот массив будет содержать JSON-объекты, описывающие символы маркеров-изображений. Например:
    [
    ]
    
  3. Создайте JSON-объект для описания первого пользовательского маркера-изображения.

    Внутри скобок массива введите набор фигурных скобок и затем введите необходимые пары имя-значение, описывающие символ маркера-изображения. Не забудьте отделить каждое свойство запятой и заключить каждый элемент имя-значение в кавычки. Структурируйте ваш текст для удобства чтения. Например:

    [	
    	{
    		“type” : “esriPMS”,
    		“url” : “esri-maps-em4c/CrimeSymbols/images/symbol1.png”,
    		“width” : “20”,
    		“height” : “20”,
    		“xoffset” : “0”,
    		“yoffset” : “10”
    
    	}
    ]
    
  4. Создайте новый JSON-объект для каждого символа маркера-изображения в вашем наборе, добавив запятую после закрывающей фигурной скобки предыдущего объекта. После последнего объекта в массиве запятая не нужна. Например:
    [	
    	{
    		“type” : “esriPMS”,
    		“url” : “esri-maps-em4c/CrimeSymbols/images/symbol1.png”,
    		“width” : “20”,
    		“height” : “20”,
    		“xoffset” : “0”,
    		“yoffset” : “10”
    
    	},
    	{
    	...
    	}
    ]
    
  5. Проверьте правильность вашего JSON-кода с помощью инструмента проверки, такого как JSONLint.
  6. Сохраните и закройте файл определения.

Изменение файла описания

Папка пакета расширений esri-maps-em4c содержит файл описания с именем manifest.json.txt который определяет всякий пользовательский набор маркеров-изображений, который вы создаете для Esri Maps for IBM Cognos, в дополнение к другим инструментам и поведениям. Чтобы добавить ваш пользовательский набор маркеров-изображений в этот файл, укажите имя и метку набора, а также местоположение и имя файла определения набора.

  1. Перейдите к <em4c_location>\webcontent\esrimap\esri-maps-em4c.
  2. В текстовом редакторе откройте manifest.json.txt.
  3. Включите в файл пользовательский набор маркеров-изображений. Например, добавьте в конец файла следующий код:
    ,
    	"pictureMarkerSets": [{
    		"name": "crimesymbols",
    		"label": "Crime Symbols",
    		"location": "./CrimeSymbols/CrimeSymbols.json.txt"
    	}]
    

    Свойство имя указывает имя набора.

    Свойство метка определяет метку, которая появляется в ниспадающем меню доступных наборов символов.

    Свойство местоположение указывает местоположение файла определения пользовательского набора маркеров-изображений (например, crimeSymbols.json.txt).

  4. После внесения изменений проверьте правильность вашего JSON-кода с помощью инструмента проверки, такого как JSONLint.
  5. Сохраните и закройте файл.

Протестируйте ваши символы маркеров-изображений

Убедитесь, что ваши пользовательские маркеры-изображения доступны Esri Maps for IBM Cognos авторам и потребителям отчетов.

  1. Перезапустите ваш веб-сервер и очистите кэш браузера.
  2. В Esri Maps Designer, откройте карту для редактирования.
  3. Из панели карты Содержание разверните точечный слой, оформленный с помощью символов-значков, и щелкните значок, чтобы увидеть список наборов символов. Ваш пользовательский набор маркеров-изображений должен появиться внизу списка.
  4. Выполните тот же тест в режиме потребителя, открыв отчет для просмотра в Cognos Connection, чтобы убедиться, что в списке есть соответствующие символы.

Ваш пользовательский набор маркеров-изображений готов к использованию.