|
||||
[maplab-users] Limited length to layer connection string?Mike Leahy mgleahy@fes.uwaterloo.caSun, 9 Nov 2003 23:15:11 -0500
|
Hello list, I've run into a bit of trouble with my work today... I'm using MapServer/PHP- Mapscript, with our data in PostgreSQL/PostGIS on a WinXP/IIS platform. So far everything has been working fine. I have modified a map-project generated using MapLab to load map settings from information stored in PHP session variables rather than a static map file. The lastest of my work has focused on developing a web interface to allow users to evaluate education quality vs. social well-being with options to specify weights and preferences for various indicators, and then display those indicators as attributes of a spatial data layer. Basically, I end up with quite lengthy query strings. When I try to run the map viewer I'll get an error report from Windows saying the "PHP Script Interpreter has encoutered a problem and needs to close", etc... The final result in the web page is "The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:". Not much to go on there...and for the longest time I thought it was the complexity of the formulas. I eventually figured out from playing around with it before emailing the list that it was simply the length of the query string itself. I've got a workaround for this...I just create a view in postgresql with the gis table joined to the indicators, but I don't like this approach, as I may end up with the database littered with views for which I'll have to find some way of cleaning up...has anyone else run into this problem? Does anyone know if there is a solution and/or is there a possiblity of getting the PHP- MapScript DLL fixed for this? The following is an example of a query that works fine; sig_provincias is a GIS table with provinces, being joined to a query with a sample formula using a variable from the table tbl_ind_provincias: the_geom from (select sig_provincias.oid, sig_provincias.the_geom, sig_provincias.nomb_prov, indicators.* from sig_provincias left join (select cod_provincia, (case when pob_edu_p > 0 then 1 else 1 end) as test_indicator from tbl_ind_provincias) as indicators on codigo_pro = cod_provincia where codigo_pro = '1502' or codigo_pro = '1503' or codigo_pro = '1504' or codigo_pro = '1505' or codigo_pro = '1506' or codigo_pro = '1507' or codigo_pro = '1508' or codigo_pro = '1501' or codigo_pro = '1509') as tbl1 using unique oid using srid=4326; This next one is the same query, but with an additional province code added to the where clause...this one will cause the error I mention above... the_geom from (select sig_provincias.oid, sig_provincias.the_geom, sig_provincias.nomb_prov, indicators.* from sig_provincias left join (select cod_provincia, (case when pob_edu_p > 0 then 1 else 1 end) as test_indicator from tbl_ind_provincias) as indicators on codigo_pro = cod_provincia where codigo_pro = '1502' or codigo_pro = '1503' or codigo_pro = '1504' or codigo_pro = '1505' or codigo_pro = '1506' or codigo_pro = '1507' or codigo_pro = '1508' or codigo_pro = '1501' or codigo_pro = '1509' or codigo_pro = '1510') as tbl1 using unique oid using srid=4326; Many thanks for your help. Kind regards, Mike ---------------------------------------- This mail sent through www.mywaterloo.ca
This archive was generated by Pipermail. |
MapTools.org -- Hosted by DM Solutions Group |