Pregunta

Estoy tratando de mostrar un mapa usando Postgis+Mapserver. Y he mostrado una imagen de PNG en mi web. Sin embargo, quiero mostrar algunos charactores en el mapa, solo así:mapserv demo http://demo.mapserver.org/cgi-bin/mapserv.exe?map=/ms4w/apps/tutorial/htdocs/example1-4.map&layer=states_poly&layer=states_line=map

Este es el ejemplo de Mapas

Ahora estoy usando la base de datos (PostgreSQL), pero no un archivo de forma. ¿Cómo puedo agregar los Charactors entonces?

Aquí hay una parte de mi mapa:

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

Algunos dijeron agregando un "texto ([*])" en "etiqueta", pero no sé cómo.

¡Gracias por tu ayuda!

¿Fue útil?

Solución

Deberías usar el LABELITEM Directiva con el nombre del campo de la tabla que contiene el texto que desea renderizar:

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

Consulte la documentación del archivo del mapa para obtener más detalles

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

Otros consejos

La respuesta de Amercader anterior es bastante correcta. Sin embargo, lo resolví de amercaderLa ayuda, pero un poco de diferencias, solo usando subconsulto.


Aquí hay un código seccional:

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

El punto clave es "datos"Atributo, agregando una subconsulta; así como el"etiqueta"El parámetro de" debe ser el mismo que seleccionar en subconsulta.

Amercader me dijo que la subconsulta es innecesaria (ver comentarios). ¡Es genial!

Espero que estas palabras puedan dar una mano a otros programadores que usan el mapserver. Y gracias Amercader.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top