Pergunta

Estou tentando mostrar um mapa usando o PostGIS+Mapserver. E eu exibi uma imagem PNG na minha web. No entanto, quero mostrar alguns charactores no mapa, assim:Mapsersert Demo http://demo.mapserver.org/cgi-bin/maperserv.exe?map=/ms4w/apps/tutorial/htdocs/example1-4.map&layer=states_poly&layer=states_line=map=Map

Este é o exemplo de MapServer

Agora estou usando o banco de dados (PostgreSQL), mas não um arquivo de forma. Como posso adicionar os charactores então?

Aqui está uma parte do meu MapFile:

LAYER
  CONNECTIONTYPE postgis
  NAME "state"
  //Connect to a remote spatial database
  CONNECTION "user=postgres dbname=*** host=*** password=***"
  PROCESSING "CLOSE_CONNECTION=DEFER"
  DATA "the_geom from province"
  STATUS ON
  TYPE POLYGON
  CLASS
    STYLE
      COLOR 122 122 122
      OUTLINECOLOR 0 0 0
    END
    LABEL
      COLOR 132 31 31
      SHADOWCOLOR 218 218 218
      SHADOWSIZE 2 2
      TYPE TURETYPE
      FONT arial-bold
      SIZE 12
      ANTIALIAS TRUE
      POSITION CL
      PARTIALS FALSE
      MINDISTANCE 300
      BUFFER 4
    END
  END
END

Alguns disseram adicionar um "texto ([*])" no "rótulo", mas eu não sei como?

Obrigado pela ajuda!

Foi útil?

Solução

Você deve usar o LABELITEM Diretiva com o nome do campo da tabela que contém o texto que você deseja renderizar:

...
DATA "the_geom from province"
LABELITEM "<field_name>"
STATUS ON
...

Verifique a documentação do arquivo do mapa para obter mais detalhes

http://mapserver.org/mapfile/layer.html

Outras dicas

A resposta do Amercader acima é bastante correta. No entanto, eu resolvi de AmercaderAjuda, mas um pouco de diferenças, apenas usando a subconsulta.


Aqui está um código secional:

LAYER
  CONNECTIONTYPE postgis
  NAME "state"
  //# Connect to a remote spatial database
  CONNECTION "user=postgres dbname=*** host=*** password=***"
  PROCESSING "CLOSE_CONNECTION=DEFER"
  DATA "the_geom from (select gid, the_geom, name from province) as subquery using unique gid using srid=4326"
  STATUS ON
  TYPE POLYGON
  LABELITEM "name"
  CLASS
    STYLE
      ...
    END
    LABEL
      ...
    END
  END
END

O ponto principal é "dados"Atributo, adicionando uma subconsência; assim como o"LabelItem"O parâmetro do" s deve ser o mesmo que a seleção na subconsência.

Amercader me disse que a subconsulta é desnecessária (veja comentários). É legal!

Espero que essas palavras possam ajudar outros programadores usando o Mapsever. E obrigado Amercader.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top