Псевдо 3D в GeoServer

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
kosyag
Интересующийся
Сообщения: 30
Зарегистрирован: 22 янв 2010, 13:19
Репутация: 0

Псевдо 3D в GeoServer

Сообщение kosyag » 22 янв 2010, 13:25

Здравствуйте! Вопрос таков: как реализовать отображение объектов в псевдо 3D (вот так)? Для GeoTools вроде бы есть патч, который позволяет преобразовывать геометрию с помощью SLD. Работает ли это в Геосервере? И если не работает - какие варианты?

kosyag
Интересующийся
Сообщения: 30
Зарегистрирован: 22 янв 2010, 13:19
Репутация: 0

Re: Псевдо 3D в GeoServer

Сообщение kosyag » 04 мар 2010, 06:46

Сам себе отвечу (может кому пригодится): использовал в итоге в SLD для слоя псевдо 3D объектов функции isometric и offset.

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 748
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Псевдо 3D в GeoServer

Сообщение Максим Дубинин » 04 мар 2010, 07:17

Можете показать, что у вас получилось? картинкой или ссылкой.
пристегивайтесь, турбулентность прямо по курсу

kosyag
Интересующийся
Сообщения: 30
Зарегистрирован: 22 янв 2010, 13:19
Репутация: 0

Re: Псевдо 3D в GeoServer

Сообщение kosyag » 04 мар 2010, 09:21

Получилось следующее:
Изображение

Прозрачность убрана специально, отрисовка рёбер - тоже (иначе видны невидимые грани).

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Псевдо 3D в GeoServer

Сообщение Mavka » 04 мар 2010, 10:07

Однозначно - красиво.
SLD-файл не приложите?
лангольеры под окном жрали время ом-ном-ном

kosyag
Интересующийся
Сообщения: 30
Зарегистрирован: 22 янв 2010, 13:19
Репутация: 0

Re: Псевдо 3D в GeoServer

Сообщение kosyag » 04 мар 2010, 11:07

Mavka писал(а):Однозначно - красиво.
SLD-файл не приложите?
Я не имею права выкладывать файлы рабочего проекта, увы (как и их фрагменты). :( Но я сделал всё практически один-в-один как тут: http://n2.nabble.com/Geometry-transform ... 83419.html

P.S. Валидацию такой SLD-файл не пройдёт, но работать будет.

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 748
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Псевдо 3D в GeoServer

Сообщение Максим Дубинин » 04 мар 2010, 18:13

согласен с Mavka, очень красиво, спасибо что поделились
пристегивайтесь, турбулентность прямо по курсу

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: Псевдо 3D в GeoServer

Сообщение Denis Rykov » 05 мар 2010, 07:47

А не поделитесь инструкцией как такую красоту поднять на геосервере. Как я понял, сначала нужно установить патч и далее в SLD использовать соответствующие функции. Хотел было попробовать, но не разобрался к какому файлу применять patch.
Spatial is now, more than ever, just another column- The Geometry Column.

kosyag
Интересующийся
Сообщения: 30
Зарегистрирован: 22 янв 2010, 13:19
Репутация: 0

Re: Псевдо 3D в GeoServer

Сообщение kosyag » 05 мар 2010, 11:08

В 2.0.1 всё уже встроено "из коробки", никаких патчей не надо. Просто пишем SLD.

Аватара пользователя
dobeer
Активный участник
Сообщения: 199
Зарегистрирован: 25 дек 2009, 21:54
Репутация: 1
Откуда: Чита
Контактная информация:

Re: Псевдо 3D в GeoServer

Сообщение dobeer » 06 мар 2010, 11:34

А на MapServer'е возможно реализовать псевдо 3д, может кто подскажет?

bim2010
Гуру
Сообщения: 977
Зарегистрирован: 27 янв 2009, 22:57
Репутация: 258

Re: Псевдо 3D в GeoServer

Сообщение bim2010 » 06 мар 2010, 19:34

А на MapServer'е возможно реализовать псевдо 3д, может кто подскажет?
В SUAS MapServer возможно. Уточните какой из MapServer-ов интересует?
Последний релиз.

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: Псевдо 3D в GeoServer

Сообщение Denis Rykov » 06 мар 2010, 21:23

kosyag писал(а):В 2.0.1 всё уже встроено "из коробки", никаких патчей не надо. Просто пишем SLD.
Спасибо, разобрался. Привожу пример своего SLD:

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

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor version="1.0.0"
  xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc"
  xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd">
  <NamedLayer>
    <Name>alt-buildings</Name>
    <UserStyle>
      <FeatureTypeStyle>
        <Rule>
          <PolygonSymbolizer>
            <Geometry>
              <ogc:Function name="isometric">
                <ogc:PropertyName>the_geom</ogc:PropertyName>
                <ogc:Literal>0.0001</ogc:Literal>
              </ogc:Function>
            </Geometry>
            <Fill>
              <CssParameter name="fill">#7B8F96</CssParameter>
              <CssParameter name="fill-opacity">1</CssParameter>
            </Fill>
          </PolygonSymbolizer>
          <PolygonSymbolizer>
            <Geometry>
              <ogc:Function name="offset">
                <ogc:PropertyName>the_geom</ogc:PropertyName>
                <ogc:Literal>0</ogc:Literal>
                <ogc:Literal>0.0001</ogc:Literal>
              </ogc:Function>
            </Geometry>
            <Fill>
              <CssParameter name="fill">#BAD8E2</CssParameter>
              <CssParameter name="fill-opacity">1</CssParameter>
            </Fill>
          </PolygonSymbolizer>
         </Rule>
      </FeatureTypeStyle>
      </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>
Как уже было отмечено выше - за трёхмерное представление объектов отвечают две функции isometric и offset, причем первая отвечает за экструдинг, а вторая за смещение основания и крыши (в примере смещение основания равно 0, а крыши 0.0001).
Вложения
osm-isometric.gif
osm-isometric.gif (28.02 КБ) 19671 просмотр
Spatial is now, more than ever, just another column- The Geometry Column.

Аватара пользователя
dobeer
Активный участник
Сообщения: 199
Зарегистрирован: 25 дек 2009, 21:54
Репутация: 1
Откуда: Чита
Контактная информация:

Re: Псевдо 3D в GeoServer

Сообщение dobeer » 07 мар 2010, 11:21

bim2010 писал(а):
В SUAS MapServer возможно. Уточните какой из MapServer-ов интересует?
Последний релиз.
У нас установлен mapserver-5.6.1, что необходимо сделать, чтоб реализовать псевдо 3Д?

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: Псевдо 3D в GeoServer

Сообщение Denis Rykov » 07 мар 2010, 11:53

MapServer и SUAS MapServer это совершенно разные продукты, поддержка 3D есть в SUAS, а судя по номеру версии у вас установлен не он.
Spatial is now, more than ever, just another column- The Geometry Column.

Аватара пользователя
dobeer
Активный участник
Сообщения: 199
Зарегистрирован: 25 дек 2009, 21:54
Репутация: 1
Откуда: Чита
Контактная информация:

Re: Псевдо 3D в GeoServer

Сообщение dobeer » 07 мар 2010, 12:26

Я так и понял, посмотрев ссылки)))

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: Ahrefs [Bot] и 0 гостей