Страница 2 из 3

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

Добавлено: 22 май 2010, 23:38
prc
В GeoServer 2.0.1 cоздал файл стиля как у _DR_ выше, далее определил его по умолчанию для своего слоя домов(shape)(геометрия поле : the_geom type:MultiPolygon ).
Смотрю через Layer Preview - изображение плоское.Пробовал открыть этот WMS-слой через QGIS - аналогично.
Подскажите что я делаю не так?

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

Добавлено: 23 май 2010, 12:23
Denis Rykov
Может быть у вас данные не в географической СК, если так, то параметры в функциях, определяющих трехмерность, будут другими.

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

Добавлено: 24 май 2010, 15:27
prc
Мой shape в WGS 84 / UTM. Поэтому задаю в параметрах величины в метрах.
3-d отображается(нашел таки) только если выбрать в Layer Preview формат SVG или PDF.В остальных случаях(png,tiff и др.) отображает 2-D. Как быть с этими форматами ?

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

Добавлено: 26 май 2010, 16:00
prc
Данное поведение характерно для shape - файлов.
Если геометрия хранится в Oracle - 3D отображается и в остальных форматах.

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

Добавлено: 27 май 2010, 01:45
Denis Rykov
Хм, интересно, надо будет проверить. Я работал с данными, хранящимися в БД PostGIS.

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

Добавлено: 16 дек 2010, 07:38
kosyag
В продолжение темы. Geoserver + PostGIS + два программиста =
Изображение

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

Добавлено: 16 дек 2010, 10:31
Mavka
UMN MapServer
Q: Можно ли получить псевдо-3D в MapServer?
A: Готового решения нет. Но если посмотрите в MS RFC48, то базовая платформа готова. Нужно всего то написать свою функцию преобразования ツ

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

Добавлено: 16 дек 2010, 15:01
wmk
Красиво однако :D ... я думаю что стоит написать мануал пошаговый , как например карту перегнать в PostGIS , как sld написать и т.д. Многим пригодится , многие спасибо скажут!

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

Добавлено: 19 май 2011, 16:32
valeria
помогите пожалуйста,у меня шэйпфалы здания в 3D формате,но делая псевдо 3D получается что все они одной высоты,как назначить высоту здания с шэйп-файла?

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

Добавлено: 20 май 2011, 05:19
kosyag
Надо в функии Offset второй параметр брать не фиксированным, а умножать на этажность.

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

Добавлено: 20 май 2011, 09:06
oxch
Забавно. Вчера обновил Geoserver с версии 2.0.1 до версии 2.1.0 и 3D стиль домов перестал работать... пока вот ищу решение.

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

Добавлено: 30 май 2011, 05:04
oxch
Вот такая версия у меня является рабочей:

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

<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>

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

Добавлено: 01 июн 2011, 16:41
valeria
Долго пыталась создать чтоб высота выводилась динамически никак не получается ,помогите пожалуйста ,получается только через фильтр по высоте вот код

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

<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>

для каждой этажности прописывать как по мне так неверно ,хочется чтоб всё формировалась динамически

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

Добавлено: 01 ноя 2011, 19:49
dobeer
Mavka писал(а):UMN MapServer
Q: Можно ли получить псевдо-3D в MapServer?
A: Готового решения нет. Но если посмотрите в MS RFC48, то базовая платформа готова. Нужно всего то написать свою функцию преобразования ツ
Готового решения так и не появилось?

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

Добавлено: 01 ноя 2011, 20:56
novia
ArcGIS Server нервно курит в сторонке))