Страница 1 из 1
В MapServer подписываются не все объекты
Добавлено: 14 май 2012, 15:43
BSvetlana
Добрый день!
В MapServer создаю карту. Нужно подписать один слой. Подписывается примерно 30% объектов. Перепробовала все условия:
Код: Выделить всё
LABEL
COLOR 0 0 0
TYPE TRUETYPE
FONT arial
SIZE 7
POSITION CC
ANTIALIAS TRUE
ENCODING CP1251
FORCE TRUE
BUFFER 0
PARTIALS TRUE
END
результат всегда один и тот же. Визуально никаких конфликтов в размещении подписей нет. Если кто сталкивался, подскажите пожалуйста.
Re: В MapServer подписываются не все объекты
Добавлено: 14 май 2012, 18:51
Denis Rykov
Покажите картинку, а лучше приложите фрагмент данных для тестов.
[ Сообщение с мобильного устройства ]
Re: В MapServer подписываются не все объекты
Добавлено: 15 май 2012, 10:02
BSvetlana

Подписаны не все дома, хотя данные там точно есть - проверяла в ArcView
Re: В MapServer подписываются не все объекты
Добавлено: 15 май 2012, 10:39
Denis Rykov
Странное поведение, никогда прежде не сталкивался. Можете вырезать фрагмент вашего слоя с домами, попробую посмотреть?
Re: В MapServer подписываются не все объекты
Добавлено: 15 май 2012, 11:36
BSvetlana
Спасибо за участие. Но я не знаю, как отправить фрагмент слоя.
Re: В MapServer подписываются не все объекты
Добавлено: 15 май 2012, 11:44
Denis Rykov
Ну как, создайте новый слой, вырежьте из существующего набор объектов и вставьте в него. Если ничего секретного в данных нет - можете весь слой выложить.
Re: В MapServer подписываются не все объекты
Добавлено: 15 май 2012, 11:47
BSvetlana
Я только что заметила: подписаны дома, у которых в названии есть А, Б, С, К, а если номер дома просто 123, то не подписывается
Re: В MapServer подписываются не все объекты
Добавлено: 15 май 2012, 12:02
qnx
может там регулярным выражением они отсекаются? наподобие
Re: В MapServer подписываются не все объекты
Добавлено: 15 май 2012, 12:04
BSvetlana
Код: Выделить всё
LAYER
NAME address
DATA address
STATUS ON
TYPE point
PROJECTION
"proj=latlong"
"ellps=WGS84"
"datum=WGS84"
END
LABELITEM "ADRES"
MAXSCALEDENOM 10000
LABELMAXSCALEDENOM 8000
DUMP TRUE ## REQUIRED
CLASS
NAME "Адреса"
EXPRESSION ([ADRES] != "")
STATUS ON
STYLE
COLOR 225 225 225
END
LABEL
COLOR 0 0 0
TYPE TRUETYPE
FONT arial
SIZE 7
POSITION CC
ANTIALIAS TRUE
ENCODING CP1251
FORCE TRUE
BUFFER 0
PARTIALS TRUE
END
END
METADATA
wms_title "address"
wms_abstract "address"
wms_srs "EPSG:4326 EPSG:28407"
wms_include_items "all"
"wfs_title" "address" ## REQUIRED
"gml_featureid" "FID" ## REQUIRED
"gml_include_items" "all" ## Optional (serves all attributes for layer)
END
END # Конец определения слоя
Re: В MapServer подписываются не все объекты
Добавлено: 15 май 2012, 12:09
qnx
а если закомментировать строку
Re: В MapServer подписываются не все объекты
Добавлено: 15 май 2012, 12:15
Denis Rykov
Еще *.shx файл нужен.
Re: В MapServer подписываются не все объекты
Добавлено: 15 май 2012, 12:15
BSvetlana
qnx писал(а):а если закомментировать строку
Получилось.

Re: В MapServer подписываются не все объекты
Добавлено: 15 май 2012, 12:26
Denis Rykov
Ok. Есть предположение, что MapServer видя в условии EXPRESSION ([ADRES] != "") значение поля ADRES выражающееся числом и сравнивает его с пустой строкой, что естественно возвращает False. Предположу, что если вы напишите:
(закавычите [ADRES]) то тоже появятся недостающие подписи.
Re: В MapServer подписываются не все объекты
Добавлено: 15 май 2012, 13:32
BSvetlana
Denis Rykov писал(а):(закавычите [ADRES]) то тоже появятся недостающие подписи.
Да, действительно, подписи появились.
Всем спасибо за участие в решении проблемы!