[Mapserver-users] postgis & mapserver
Gernot Katzlberger
knozi at gmx.at
Wed May 19 00:17:28 PDT 2004
hi list,
again I have some problems with mapserver and postgis:
the first data-statement works and I get a map back:
the_geom from
(select gd_point_002.the_geom,gd_point_002.id,gd_point_002.oid,case
when td_theme_temperature.m6 < 100 then 0
when td_theme_temperature.m6 >= 100 and td_theme_temperature.m6 < 150 then 1
when td_theme_temperature.m6 >= 150 then 2
end as myclass
from gd_point_002,td_theme_temperature,td_dim_geom,td_dim_year
where
gd_point_002.id = td_dim_geom.id AND
td_dim_geom.id = td_theme_temperature.geom AND
td_dim_year.id = td_theme_temperature.year AND
td_dim_year.id = 1990) as foo USING SRID=4326
with the next statement mapserver crashes (shp2img gives me a "segmentation
fault"), the only difference is that I want to make 4 instead of 3 classes:
the_geom from
(select gd_point_002.the_geom,gd_point_002.id,gd_point_002.oid,case
when td_theme_temperature.m6 < 100 then 0
when td_theme_temperature.m6 >= 100 and td_theme_temperature.m6 < 150 then 1
when td_theme_temperature.m6 >= 150 and td_theme_temperature.m6 < 200 then 2
when td_theme_temperature.m6 >= 200 then 3
end as myclass
from gd_point_002,td_theme_temperature,td_dim_geom,td_dim_year
where
gd_point_002.id = td_dim_geom.id AND
td_dim_geom.id = td_theme_temperature.geom AND
td_dim_year.id = td_theme_temperature.year AND
td_dim_year.id = 1990) as foo USING SRID=4326
Both sqls work in when I execute it in psql so I think it is a problem how
Mapserver accesses the database. At the end I added the layer which crashes.
i use mapserver_dev (13.2.2004) on suse linux.
any hints?
thanks, Gernot
LAYER
CLASSITEM "myclass"
CONNECTION "user=xxx password=yyy dbname=iso host=localhost"
CONNECTIONTYPE POSTGIS
DATA "the_geom from (select
gd_point_002.the_geom,gd_point_002.id,gd_point_002.oid,case when
td_theme_temperature.m6 < 100 then 0 when td_theme_temperature.m6 >= 100 and
td_theme_temperature.m6 < 150 then 1 when td_theme_temperature.m6 >= 150 and
td_theme_temperature.m6 < 200 then 2 when td_theme_temperature.m6 >= 200
then 3 end as myclass from
gd_point_002,td_theme_temperature,td_dim_geom,td_dim_year where
gd_point_002.id = td_dim_geom.id AND td_dim_geom.id =
td_theme_temperature.geom AND td_dim_year.id = td_theme_temperature.year AND
td_dim_year.id = 1990) as foo USING SRID=4326"
METADATA
"DESCRIPTION" "NOAA Stations"
"RESULT_FIELDS" "id"
END
NAME "gd_point_002"
STATUS ON
TYPE POINT
UNITS METERS
CLASS
NAME "name1"
EXPRESSION "0"
STYLE
COLOR 241 238 246
OUTLINECOLOR 0 0 0
SIZE 10
SYMBOL 1
END
TEMPLATE "xxx"
END
CLASS
NAME "name2"
EXPRESSION "1"
STYLE
COLOR 208 209 230
OUTLINECOLOR 0 0 0
SIZE 10
SYMBOL 1
END
TEMPLATE "xxx"
END
CLASS
NAME "name3"
EXPRESSION "2"
STYLE
COLOR 116 169 207
OUTLINECOLOR 0 0 0
SIZE 10
SYMBOL 1
END
TEMPLATE "xxx"
END
CLASS
NAME "name4"
EXPRESSION "3"
STYLE
COLOR 4 90 141
OUTLINECOLOR 0 0 0
SIZE 10
SYMBOL 1
END
TEMPLATE "xxx"
END
END
More information about the MapServer-users
mailing list