Josh and I were able to figure out the problem, but there isn't a
good solution for it right now. The columns in Josh's table are
unicode (SE_NSTRING is the SDE column type). While there is (very)
limited support for rendering these unicode columns with labels,
there's no support for dealing with them in classification or
expressions. The solution is to use non-unicode (SE_STRING) columns
for your data, and things will work as before.
So, to clarify, unicode support for SDE is available only for
rendering labels (and there maybe bugs in that still, I have only
gotten it to work in a few instances) in 5.0. If you need the full
gamut of MapServer power with SDE layers, do not use unicode columns
in ArcSDE 9.2.
Howard
On Sep 12, 2007, at 9:31 AM, Josh Hevenor wrote:
As instructed I setup a proper log file. Nothing caught my eye
there. I started to think that I just wasn't matching the data so I
set the LABELITEM to see what I was dealing with (not sure why I
didn't try that yesterday). The string fields from the service are
coming out garbled (sample image attached). There are mostly I's,
C's, A', and most characters have accents.
It looks like there's a misinterpretation of character encoding but
from I haven't found anywhere to configure this. Has anyone else
come across this?
Josh
-----Original Message-----
From: Howard Butler [mailto:[EMAIL PROTECTED]
Sent: Tuesday, September 11, 2007 4:27 PM
To: Josh Hevenor
Cc: UMN MapServer Users List
Subject: Re: Mapserver SDE 9.2 Question
Josh,
Set MS_ERRORFILE as per MS RFC 28 to get debug output <http://
mapserver.gis.umn.edu/development/rfc/ms-rfc-28>. When it queries
the REGDIV layer, the SDE debug output should tell you what it thinks
the names of the columns are. You should be able to then use that
column name for the CLASSITEM.
Howard
On Sep 11, 2007, at 3:09 PM, Josh Hevenor wrote:
My installation is working well. I really appreciate all your help :)
I had a quick question about symbolization for SDE layers. I made a
sample map file based on my applications existing map file. I
update a couple background layers to use our SDE services. Two of
three of these layers work well and the third does not draw. This
third layer (REGDIV) has a CLASSITEM set and a number of CLASSES
defined. There is no error displayed, even with the -map_debug or -
all_debug flags set. If I change the layer to use just one default
class then the layer draws.
I tried updating my CLASSITEM to use a full path, for example DIVID
became GIS.DBO.REGDIV.DIVID but I received the following error:
C:\ms4w\apps\sdedemo>shp2img -m gp.map -o gp.png
msDrawMap(): Image handling error. Failed to draw layer named
'REGDIV'. <br>
msSDELayerInitItemInfo(): SDE error. A specified CLASSITEM,
FILTERITEM, or expression key cannot be found <br>
My Layer looks like this
LAYER
NAME 'REGDIV'
STATUS on
TYPE POLYGON
CONNECTIONTYPE PLUGIN
PLUGIN "c:/ms4w/apache/specialplugins/msplugin_sde_92.dll"
CONNECTION "matata,port:5252,GIS,sa,sa"
PROCESSING 'CLOSE_CONNECTION=DEFER'
DATA "GIS.DBO.REGDIV,Shape,dbo.DEFAULT"
TOLERANCE 12
TRANSPARENCY 75
CLASSITEM 'GIS.DBO.REGDIV.DIVID'
CLASS
NAME 'West'
EXPRESSION 'West'
TEMPLATE 'null'
STYLE
COLOR 204 204 204
OUTLINECOLOR 5 5 5
END #STYLE
END #CLASS
CLASS
NAME 'Ontario'
EXPRESSION 'Ontario'
TEMPLATE 'null'
STYLE
COLOR 204 204 204
OUTLINECOLOR 5 5 5
END #STYLE
END #CLASS
CLASS
NAME 'Québec'
EXPRESSION 'Québec'
TEMPLATE 'null'
STYLE
COLOR 204 204 204
OUTLINECOLOR 5 5 5
END #STYLE
END #CLASS
CLASS
NAME 'Atlantic'
EXPRESSION 'Atlantic'
TEMPLATE 'null'
STYLE
COLOR 246 197 103
OUTLINECOLOR 5 5 5
END #STYLE
END #CLASS
PROJECTION
"init=epsg:4326"
END
END #LAYER
What am I missing?
Thanks again,
Josh
-----Original Message-----
From: Howard Butler [mailto:[EMAIL PROTECTED]
Sent: Tuesday, September 11, 2007 11:43 AM
To: Josh Hevenor
Cc: [email protected]
Subject: Re: Mapserver SDE 9.2 Question
No, the 9.1 ArcSDE SDK dlls are not sufficient to connect to 9.2 with
the 9.2 plugin. The plugins are linked against each specific
version of the ArcSDE SDK and have to be matched. The use of plugins
makes this less obnoxious than it was in the past, which required
swapping out the entire libmap.dll, but it is still some hassle.
The rules for ArcSDE MapServer connections are as follows:
- If you have to connect to both ArcSDE X.1 and X.2 servers, use the
X.2 version of the ArcSDE SDK. You can usually connect to a X.1
version server with X.2 version client DLLs without ill effect.
- To connect to X.2 servers, you *have* to use X.2 versions of the
ArcSDE SDK.
- Do not use both the X.1 and X.2 versions of the plugins in the same
MapServer map if you have to connect to both X.1 and X.2 version
servers. Just use X.2.
Howard
On Sep 11, 2007, at 10:21 AM, Josh Hevenor wrote:
I had a quick question on using the msplugin_sde_92.dll to connect
to an SDE service from mapserver. The SDE Notes from the README
file state the following:
As of Map Server 5.0 (including betas and release
candidates), the following applies:
Steps to Enable SDE 9.1 and 9.2 Support in MS4W's Map Server
***********************************************************
1. Make sure the ArcSDE? SDK dlls for 9.1 are available on... But
it doesn't mention arcSDE 9.2 SDK dll's for connecting to a 9.2
service. Are the 9.1 dll's sufficient? I'm just working through my
setup and thought I should clear this up as I go along. Thanks,
Josh Hevenor
Application Developer
____________________________________________
5230 South Service Road
Burlington, Ontario
L7L 5K2 Canada
Phone: 905-333-4544 ext. 19
Fax: 905-333-0455
Cell: 905-320-7525
Email: [EMAIL PROTECTED]
Internet: http://www.dpra.com
<image001.jpg>
Attention:
Privileged/Confidential Information may be contained in this
message. Disclosure to any person other than the named recipient is
unauthorized. If you are not the intended recipient, please delete
all copies of this information and kindly notify the sender by
reply email. Opinions, conclusions and other information in this
message that do not relate to the official business of DPRA shall
be understood as neither given nor endorsed by it. DPRA and any of
its subsidiaries reserve the right to monitor all e-mail
communications through its networks. Thank you.
<gp.png>