3

postGIS+Mapserver を使用して地図を表示しようとしています。そして、PNG画像をWEBに表示しました。ただし、次のようにマップにいくつかの文字を表示したい: mapserv demo http://demo.mapserver.org/cgi-bin/mapserv.exe?map=/ms4w/apps/tutorial/htdocs/example1-4 .map&layer=states_poly&layer=states_line&mode=map

これはMapserverの例です

現在、データベース(postgreSQL)を使用していますが、シェープファイルは使用していません。どうすればキャラクターを追加できますか?

これが私のマップファイルの一部です:

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

"LABEL" に "TEXT ([*])" を追加すると言う人がいますが、方法がわかりません。

ご協力いただきありがとうございます!

4

2 に答える 2

1

レンダリングするテキストを含むテーブルのフィールドの名前でディレクティブを使用する必要LABELITEMがあります。

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

詳細については、マップファイルのドキュメントを確認してください

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

于 2010-03-25T09:47:42.920 に答える
0

上記のアメリカ人の答えはかなり正しいです。ただし、amercaderのヘルプから解決しましたが、サブクエリを使用するだけで少し違います。


部分的なコードは次のとおりです。

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

重要な点は、サブクエリを追加する" data " 属性です。また、「labelitem」のパラメーターは、サブクエリでの選択と同じでなければなりません。

amercader は、サブクエリは不要だと言いました (コメントを参照)。かっこいいね!

これらの言葉が、mapserver を使用している他のプログラマーの助けになることを願っています。そして、ありがとうアメルケード。

于 2010-03-30T11:50:32.177 に答える