Псевдо 3D в GeoServer
-
- Интересующийся
- Сообщения: 21
- Зарегистрирован: 28 апр 2010, 19:49
- Репутация: 0
- Откуда: Ukraine, Sumy
Re: Псевдо 3D в GeoServer
В GeoServer 2.0.1 cоздал файл стиля как у _DR_ выше, далее определил его по умолчанию для своего слоя домов(shape)(геометрия поле : the_geom type:MultiPolygon ).
Смотрю через Layer Preview - изображение плоское.Пробовал открыть этот WMS-слой через QGIS - аналогично.
Подскажите что я делаю не так?
Смотрю через Layer Preview - изображение плоское.Пробовал открыть этот WMS-слой через QGIS - аналогично.
Подскажите что я делаю не так?
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Псевдо 3D в GeoServer
Может быть у вас данные не в географической СК, если так, то параметры в функциях, определяющих трехмерность, будут другими.
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Интересующийся
- Сообщения: 21
- Зарегистрирован: 28 апр 2010, 19:49
- Репутация: 0
- Откуда: Ukraine, Sumy
Re: Псевдо 3D в GeoServer
Мой shape в WGS 84 / UTM. Поэтому задаю в параметрах величины в метрах.
3-d отображается(нашел таки) только если выбрать в Layer Preview формат SVG или PDF.В остальных случаях(png,tiff и др.) отображает 2-D. Как быть с этими форматами ?
3-d отображается(нашел таки) только если выбрать в Layer Preview формат SVG или PDF.В остальных случаях(png,tiff и др.) отображает 2-D. Как быть с этими форматами ?
-
- Интересующийся
- Сообщения: 21
- Зарегистрирован: 28 апр 2010, 19:49
- Репутация: 0
- Откуда: Ukraine, Sumy
Re: Псевдо 3D в GeoServer
Данное поведение характерно для shape - файлов.
Если геометрия хранится в Oracle - 3D отображается и в остальных форматах.
Если геометрия хранится в Oracle - 3D отображается и в остальных форматах.
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Псевдо 3D в GeoServer
Хм, интересно, надо будет проверить. Я работал с данными, хранящимися в БД PostGIS.
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Интересующийся
- Сообщения: 30
- Зарегистрирован: 22 янв 2010, 13:19
- Репутация: 0
Re: Псевдо 3D в GeoServer
В продолжение темы. Geoserver + PostGIS + два программиста =


- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: Псевдо 3D в GeoServer
UMN MapServer
Q: Можно ли получить псевдо-3D в MapServer?
A: Готового решения нет. Но если посмотрите в MS RFC48, то базовая платформа готова. Нужно всего то написать свою функцию преобразования ツ
Q: Можно ли получить псевдо-3D в MapServer?
A: Готового решения нет. Но если посмотрите в MS RFC48, то базовая платформа готова. Нужно всего то написать свою функцию преобразования ツ
лангольеры под окном жрали время ом-ном-ном
- wmk
- Активный участник
- Сообщения: 102
- Зарегистрирован: 11 янв 2009, 17:38
- Репутация: 0
- Откуда: Казань
- Контактная информация:
Re: Псевдо 3D в GeoServer
Красиво однако
... я думаю что стоит написать мануал пошаговый , как например карту перегнать в PostGIS , как sld написать и т.д. Многим пригодится , многие спасибо скажут!

OurGuns.ru - пневматическое оружие России и мира
Пневматическое оружие , Страйкбольное оружие , Пейнтбольное оружие
Пневматическое оружие , Страйкбольное оружие , Пейнтбольное оружие
-
- Интересующийся
- Сообщения: 38
- Зарегистрирован: 19 май 2011, 16:27
- Репутация: 0
Re: Псевдо 3D в GeoServer
помогите пожалуйста,у меня шэйпфалы здания в 3D формате,но делая псевдо 3D получается что все они одной высоты,как назначить высоту здания с шэйп-файла?
-
- Интересующийся
- Сообщения: 30
- Зарегистрирован: 22 янв 2010, 13:19
- Репутация: 0
Re: Псевдо 3D в GeoServer
Надо в функии Offset второй параметр брать не фиксированным, а умножать на этажность.
-
- Участник
- Сообщения: 53
- Зарегистрирован: 04 мар 2010, 11:30
- Репутация: 0
- Откуда: Комсомольск-на-Амуре
- Контактная информация:
Re: Псевдо 3D в GeoServer
Забавно. Вчера обновил Geoserver с версии 2.0.1 до версии 2.1.0 и 3D стиль домов перестал работать... пока вот ищу решение.
Чудес на свете не бывает, они просто случаются.
Знать - значит уметь использовать.
Интерактивная карта-схема Хабаровского края
Знать - значит уметь использовать.
Интерактивная карта-схема Хабаровского края
-
- Участник
- Сообщения: 53
- Зарегистрирован: 04 мар 2010, 11:30
- Репутация: 0
- Откуда: Комсомольск-на-Амуре
- Контактная информация:
Re: Псевдо 3D в GeoServer
Вот такая версия у меня является рабочей:
Код: Выделить всё
<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>Default Polygon</Name>
<UserStyle>
<FeatureTypeStyle>
<Rule>
<Title>Shadow</Title>
<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">#5e9aab</CssParameter>
<CssParameter name="fill-opacity">1</CssParameter>
</Fill>
</PolygonSymbolizer>
</Rule>
</FeatureTypeStyle>
<FeatureTypeStyle>
<Rule>
<Title>Polygon</Title>
<PolygonSymbolizer>
<Fill>
<CssParameter name="fill">#76c3d6</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#4a7682</CssParameter>
<CssParameter name="stroke-width">0.5</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
Чудес на свете не бывает, они просто случаются.
Знать - значит уметь использовать.
Интерактивная карта-схема Хабаровского края
Знать - значит уметь использовать.
Интерактивная карта-схема Хабаровского края
-
- Интересующийся
- Сообщения: 38
- Зарегистрирован: 19 май 2011, 16:27
- Репутация: 0
Re: Псевдо 3D в GeoServer
Долго пыталась создать чтоб высота выводилась динамически никак не получается ,помогите пожалуйста ,получается только через фильтр по высоте вот код
для каждой этажности прописывать как по мне так неверно ,хочется чтоб всё формировалась динамически
Код: Выделить всё
<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>Default Polygon</Name>
<UserStyle>
<FeatureTypeStyle>
<Rule>
<Title>3</Title>
<ogc:Filter>
<ogc:PropertyIsLessThan>
<ogc:PropertyName>HEIGHT</ogc:PropertyName>
<ogc:Literal>3</ogc:Literal>
</ogc:PropertyIsLessThan>
</ogc:Filter>
<PolygonSymbolizer>
<Geometry>
<ogc:Function name="isometric">
<ogc:PropertyName>the_geom</ogc:PropertyName>
<ogc:Literal>-0.00003</ogc:Literal>
</ogc:Function>
</Geometry>
<Fill>
<CssParameter name="fill">#5e9aab</CssParameter>
<CssParameter name="fill-opacity">1</CssParameter>
</Fill>
</PolygonSymbolizer>
</Rule>
<Rule>
<Title>3 TO 6</Title>
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyName>HEIGHT</ogc:PropertyName>
<ogc:Literal>3</ogc:Literal>
</ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyIsLessThan>
<ogc:PropertyName>HEIGHT</ogc:PropertyName>
<ogc:Literal>6</ogc:Literal>
</ogc:PropertyIsLessThan>
</ogc:And>
</ogc:Filter>
<PolygonSymbolizer>
<Geometry>
<ogc:Function name="isometric">
<ogc:PropertyName>the_geom</ogc:PropertyName>
<ogc:Literal>-0.00006</ogc:Literal>
</ogc:Function>
</Geometry>
<Fill>
<CssParameter name="fill">#5e9aab</CssParameter>
<CssParameter name="fill-opacity">1</CssParameter>
</Fill>
</PolygonSymbolizer>
</Rule>
<Rule>
<Title>6 TO 9</Title>
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyName>HEIGHT</ogc:PropertyName>
<ogc:Literal>6</ogc:Literal>
</ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyIsLessThan>
<ogc:PropertyName>HEIGHT</ogc:PropertyName>
<ogc:Literal>9</ogc:Literal>
</ogc:PropertyIsLessThan>
</ogc:And>
</ogc:Filter>
<PolygonSymbolizer>
<Geometry>
<ogc:Function name="isometric">
<ogc:PropertyName>the_geom</ogc:PropertyName>
<ogc:Literal>-0.00009</ogc:Literal>
</ogc:Function>
</Geometry>
<Fill>
<CssParameter name="fill">#5e9aab</CssParameter>
<CssParameter name="fill-opacity">1</CssParameter>
</Fill>
</PolygonSymbolizer>
</Rule>
<Rule>
<Title>9 TO 12</Title>
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyName>HEIGHT</ogc:PropertyName>
<ogc:Literal>9</ogc:Literal>
</ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyIsLessThan>
<ogc:PropertyName>HEIGHT</ogc:PropertyName>
<ogc:Literal>12</ogc:Literal>
</ogc:PropertyIsLessThan>
</ogc:And>
</ogc:Filter>
<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">#5e9aab</CssParameter>
<CssParameter name="fill-opacity">1</CssParameter>
</Fill>
</PolygonSymbolizer>
</Rule>
<Rule>
<Title>12 TO 15</Title>
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyName>HEIGHT</ogc:PropertyName>
<ogc:Literal>12</ogc:Literal>
</ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyIsLessThan>
<ogc:PropertyName>HEIGHT</ogc:PropertyName>
<ogc:Literal>15</ogc:Literal>
</ogc:PropertyIsLessThan>
</ogc:And>
</ogc:Filter>
<PolygonSymbolizer>
<Geometry>
<ogc:Function name="isometric">
<ogc:PropertyName>the_geom</ogc:PropertyName>
<ogc:Literal>-0.00012</ogc:Literal>
</ogc:Function>
</Geometry>
<Fill>
<CssParameter name="fill">#5e9aab</CssParameter>
<CssParameter name="fill-opacity">1</CssParameter>
</Fill>
</PolygonSymbolizer>
</Rule>
<Rule>
<Title>15 TO 18</Title>
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyName>HEIGHT</ogc:PropertyName>
<ogc:Literal>15</ogc:Literal>
</ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyIsLessThan>
<ogc:PropertyName>HEIGHT</ogc:PropertyName>
<ogc:Literal>18</ogc:Literal>
</ogc:PropertyIsLessThan>
</ogc:And>
</ogc:Filter>
<PolygonSymbolizer>
<Geometry>
<ogc:Function name="isometric">
<ogc:PropertyName>the_geom</ogc:PropertyName>
<ogc:Literal>-0.00015</ogc:Literal>
</ogc:Function>
</Geometry>
<Fill>
<CssParameter name="fill">#5e9aab</CssParameter>
<CssParameter name="fill-opacity">1</CssParameter>
</Fill>
</PolygonSymbolizer>
</Rule>
<Rule>
<Title>18 TO 22</Title>
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyName>HEIGHT</ogc:PropertyName>
<ogc:Literal>18</ogc:Literal>
</ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyIsLessThan>
<ogc:PropertyName>HEIGHT</ogc:PropertyName>
<ogc:Literal>22</ogc:Literal>
</ogc:PropertyIsLessThan>
</ogc:And>
</ogc:Filter>
<PolygonSymbolizer>
<Geometry>
<ogc:Function name="isometric">
<ogc:PropertyName>the_geom</ogc:PropertyName>
<ogc:Literal>-0.00018</ogc:Literal>
</ogc:Function>
</Geometry>
<Fill>
<CssParameter name="fill">#5e9aab</CssParameter>
<CssParameter name="fill-opacity">1</CssParameter>
</Fill>
</PolygonSymbolizer>
</Rule>
<Rule>
<Title>22</Title>
<ogc:Filter>
<ogc:PropertyIsGreaterThanOrEqualTo>
<ogc:PropertyName>HEIGHT</ogc:PropertyName>
<ogc:Literal>22</ogc:Literal>
</ogc:PropertyIsGreaterThanOrEqualTo>
</ogc:Filter>
<PolygonSymbolizer>
<Geometry>
<ogc:Function name="isometric">
<ogc:PropertyName>the_geom</ogc:PropertyName>
<ogc:Literal>-0.0002</ogc:Literal>
</ogc:Function>
</Geometry>
<Fill>
<CssParameter name="fill">#5e9aab</CssParameter>
<CssParameter name="fill-opacity">1</CssParameter>
</Fill>
</PolygonSymbolizer>
</Rule>
</FeatureTypeStyle>
<FeatureTypeStyle>
<Rule>
<Title>Polygon</Title>
<PolygonSymbolizer>
<Fill>
<CssParameter name="fill">#76c3d6</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#4a7682</CssParameter>
<CssParameter name="stroke-width">0.5</CssParameter>
</Stroke>
</PolygonSymbolizer>
<TextSymbolizer>
<Label>
<ogc:PropertyName>HEIGHT</ogc:PropertyName>
</Label>
</TextSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
- dobeer
- Активный участник
- Сообщения: 199
- Зарегистрирован: 25 дек 2009, 21:54
- Репутация: 1
- Откуда: Чита
- Контактная информация:
Re: Псевдо 3D в GeoServer
Готового решения так и не появилось?Mavka писал(а):UMN MapServer
Q: Можно ли получить псевдо-3D в MapServer?
A: Готового решения нет. Но если посмотрите в MS RFC48, то базовая платформа готова. Нужно всего то написать свою функцию преобразования ツ
- novia
- Гуру
- Сообщения: 2261
- Зарегистрирован: 29 апр 2011, 15:06
- Репутация: 489
- Откуда: Тель-Авив
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя