Страница 1 из 1

Geoserver, SLD: названия улиц

Добавлено: 13 мар 2011, 14:30
drebedan
Привет, друзья.

Подскажите, как наиболее рационально организовать вывод названий улиц на карте?

Как я рисую названия улиц:

Код: Выделить всё

		<TextSymbolizer>
			<Label>
				 <ogc:PropertyName>name</ogc:PropertyName>
			</Label>    
			<Font>
				<CssParameter name="font-size">11</CssParameter>
				<CssParameter name="font-family">Arial</CssParameter>
			</Font>
			<Fill>
					<CssParameter name="fill">#000000</CssParameter>
			</Fill>
			<Halo>
			<Radius>2</Radius>
				<Fill>
					<CssParameter name="fill">#ffffff</CssParameter>
				</Fill>
			</Halo>	
			<LabelPlacement>
				<LinePlacement>
					<PerpendicularOffset><Literal>0.0</Literal></PerpendicularOffset>
				</LinePlacement>
			</LabelPlacement>
			<VendorOption name="repeat">400</VendorOption>
			<VendorOption name="followLine">true</VendorOption>  
			<VendorOption name="maxAngleDelta">50</VendorOption>
			<VendorOption name="forceLeftToRigth">false</VendorOption>
		</TextSymbolizer>
Проблема в том, что что по не понятным мне причинам в некоторых случаях названия улиц просто не показываются. Это хорошо видно на маленьких переулках - название выводится только на очень крупных масштабах, которые я бы не хотел показывать пользователям.

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

Заранее спасибо за ваши ответы.

Re: Geoserver, SLD: названия улиц

Добавлено: 13 мар 2011, 16:00
drebedan
Сделал пару скринов. Оба на масштабе Scale = 1 : 2500.

1) Название улицы не рисуется:
Изображение

2) Опускаем карту немного вниз и название прорисовывается:
Изображение


Как этот баг поправить?

Re: Geoserver, SLD: названия улиц

Добавлено: 15 мар 2011, 11:06
dvd_xaker
Попробуй чуток текст меньше сделать. У себя я так исправил... тоже с таким встречался. Места вылазит но теперь не так конкретно.

Re: Geoserver, SLD: названия улиц

Добавлено: 15 мар 2011, 20:12
drebedan
Я добился более-менее устраивающего меня результата с этими опциями:

Код: Выделить всё

			<VendorOption name="repeat">400</VendorOption>
			<VendorOption name="followLine">true</VendorOption>  
			<VendorOption name="maxAngleDelta">50</VendorOption>
			<VendorOption name="maxDisplacement">400</VendorOption>
			<VendorOption name="forceLeftToRigth">false</VendorOption>
баг с пропаданием названия устранился.