Se bien que no es por llevarme la contra, pero te muestro el error que me
sale cuando sustituyo lo que tu me sugieres:

*Warning*: [MapServer Error]: loadLayer(): Parsing error near (%):(line 345)
in */var/www/pmapper-4.0/incphp/globals.php* on line *60*

*Warning*: Failed to open map file
/var/www/pmapper-4.0/config/default/geobusqueda.map in *
/var/www/pmapper-4.0/incphp/globals.php* on line *60*

No se reconoce el carácter % del like aparentemente, y si le pongo doble
comillado me pone que no se reconoce la columna "Terciaria" que obviamente
no lo es.

Saludos
Eduardo



El 25 de mayo de 2011 15:48, francisco.goma...@gmail.com <
francisco.goma...@gmail.com> escribió:

> No es por llevarte la contraria, pero con el código que mandé me
> funciona perfectamente en una base de datos en Postgis que tengo montada
> (concretamente para mi capa de CCAA de España y nombre de la columna
> "NOMBRE99") sin necesidad de poner en el nombre dobles comillas:
>
> DATA 'the_geom from (SELECT * FROM zonas_salud WHERE DESCRIPTOR LIKE
> '%Terciaria%') AS subquery USING UNIQUE gid USING srid=23030'
>
> Pongo el like porque por lo que veo de tu configuración buscas 'Ruta
> Terciaria' y supongo que también el resto que lleve 'Terciaria'
>
> En cuanto al error del -1, ¿qué código tienes en tu bd en la columna
> srid de la tabla public.geometry_columns?, te lo digo porque quizás te
> de error entre otras cosas por eso y estoy viendo tu configuración de la
> proyección, ¿sabes el código EPSG?
>
> Otra cosa, si tu bd está codificada en UTF-8 no olvides dentro del
> METADATA definir la codificación:
> "layer_encoding" "UTF-8"
>
> te lo digo porque a veces también da error.
>
> De todas formas es curioso el error que tienes, voy a investigar un poco
> a ver :-), a ver si te puedo ayudar
>
> Un saludo
>
>
> El 25/05/2011 20:29, Eduardo Bieñkowski escribió:
> > A pesar de haberlo solucionado en el log de php_errors me sigue saliendo
> > cada vez que levanta la susodicha capa el siguiene error:
> >
> >
> >   PHP Warning:  DOMDocument::schemaValidate() [<a
> > href='domdocument.schemavalidate'>domdocument.schemavalidate</a>]:
> Element
> > 'pmapper': No matching global declaration available for the validation
> root.
> > in /var/www/pmapper-4.0/incphp/query/search.php on line 69
> > Validation of search.xml file FAILED:
> > <br />
> > <b>Warning</b>:  DOMDocument::schemaValidate() [<a
> > href='domdocument.schemavalidate'>domdocument.schemavalidate</a>]:
> Element
> > 'pmapper': No matching global declaration available for the validation
> root.
> > in<b>/var/www/pmapper-4.0/incphp/query/search.php</b>  on
> line<b>69</b><br
> > />
> >
> > 2011/5/25 Eduardo Bieñkowski<eduko...@gmail.com>
> >
> >> Vuelvo a copiar MAPFILE porque por error quedo mezclado, pinto en verde
> lo
> >> que me dio la solucion.
> >>
> >>        LAYER
> >>          NAME 'areas_salud'
> >>
> >>          TYPE LINE
> >>          STATUS ON
> >>          TRANSPARENCY 100
> >>          TEMPLATE void
> >>
> >>         CONNECTIONTYPE postgis
> >>         CONNECTION "dbname='*****' host=**** port='5432' user='****'
> >> password='****'"
> >> DATA 'the_geom from "areas_salud" USING UNIQUE gid USING srid=-1 '
> >> TYPE LINE
> >>         DUMP true
> >>          TOLERANCE 3
> >>          TOLERANCEUNITS pixels
> >>          SIZEUNITS pixels
> >>
> >>          PROJECTION
> >>          "proj=utm"
> >>          "zone=21"
> >>          "south"
> >>          "ellps=WGS84"
> >>          "datum=WGS84"
> >>          "units=m"
> >>          "no_defs"USING srid=-1
> >>          END # end projection
> >>
> >>        CLASSITEM "DESCRIPTOR"
> >>            CLASS
> >>                     NAME 'Rutas'
> >>                     EXPRESSION 'Ruta Terciaria'
> >>              STYLE
> >>                   WIDTH 0.91
> >>                   COLOR 21 255 51
> >>                     END
> >>              LABEL
> >>                  ENCODING "UTF-8"
> >>                  POSITION lc
> >>                  ANGLE AUTO
> >>                  MINDISTANCE 300
> >>                  COLOR 0 150 150
> >>                  BUFFER 1
> >>                  SIZE small
> >>              END #Label
> >>          END #end class
> >>        END  # end layer
> >>
> >> 2011/5/25 Eduardo Bieñkowski<eduko...@gmail.com>
> >>
> >>> Cristian y Listeros:
> >>>
> >>> He intentado como tu dices pero a pesar de abrirme el mapa no me
> muestra
> >>> esa la capa seleccionada y me vuelve e a enviar el mismo mensaje que ya
> no
> >>> es de SQL sino de parseo de un XML y no se de que se trata.
> >>>
> >>> [25-May-2011 14:19:54] PHP Warning:  DOMDocument::schemaValidate() [<a
> >>> href='domdocument.schemavalidate'>domdocument.schemavalidate</a>]:
> Element
> >>> 'pmapper': No matching global declaration available for the validation
> root.
> >>> in /var/www/pmapper-4.0/incphp/query/search.php on line 69
> >>> [25-May-2011 14:19:54] Validation of search.xml file FAILED:
> >>> <br />
> >>> <b>Warning</b>:  DOMDocument::schemaValidate() [<a
> >>> href='domdocument.schemavalidate'>domdocument.schemavalidate</a>]:
> Element
> >>> 'pmapper': No matching global declaration available for the validation
> root.
> >>> in<b>/var/www/pmapper-4.0/incphp/query/search.php</b>  on
> line<b>69</b><br
> >>> />
> >>>
> >>> En cuanto al caso que me pasaste en el link no es el error que me pasa
> a
> >>> mi, es decir no es un tema de la columna de la tabla, hay algun
> caracter que
> >>> no se reconoce o demas que implica que no se este construyendo de forma
> >>> correcta alguno de los XML.
> >>> De todas maneras yo quiero resolverlo con un SQL y no utilizando el
> >>> FILTER.
> >>> Ya que es una base de una cantidad importante de registros y estaria
> >>> seleccionandolos todos para luego filtrarlos y no al revés es decir
> >>> filtrarlos y seleccionarlos.
> >>> Desde el punto de los tiempos y de la optimización de la consulta lo
> >>> segundo sería lo mejor.
> >>> Gracias
> >>>
> >>> Saludos
> >>> Eduardo
> >>>
> >>>
> >>> El 25 de mayo de 2011 13:47, Cristian Olguín Avila<
> >>> cristianolg...@gmail.com>  escribió:
> >>>
> >>> estimado..
> >>>> pruebe a cambiar el campo DESCRIPTOR a minuscula en su base de datos,
> >>>> si no puede porque se usa en otro lugar,
> >>>> pruebe con
> >>>> DATA 'the_geom from rutasprincipales_ln USING UNIQUE gid USING
> srid=-1'
> >>>> TYPE LINE
> >>>> FILTER \"DESCRIPTOR\" = 'Terciaria'"
> >>>>
> >>>>
> >>>> dado que si es string el valor Terciaria debe ir entre comillas
> simples,
> >>>> y el problema de usar columnas con nombre en mayusculas es que sin las
> >>>> comillas dobles la consulta no funciona
> >>>>
> >>>> si esa linea no funciona pruebe alguna combinacion como 2 comillas
> dobles
> >>>> o algo de modo que cuando interprete el phpmapscript, genere una línea
> que
> >>>> si acepte la base de datos.
> >>>> saludos
> >>>>
> >>>> Cristian O.
> >>>> www.digitalbee.cl
> >>>>
> >>>>
> >>>> 2011/5/25 Eduardo Bieñkowski<eduko...@gmail.com>
> >>>>
> >>>>> Ahora intente hacerlo de esta manera
> >>>>>
> >>>>> DATA 'the_geom from rutasprincipales_ln USING UNIQUE gid USING
> srid=-1'
> >>>>> TYPE LINE
> >>>>> FILTER "'descriptor' = 'Terciaria'"
> >>>>>
> >>>>> y se despliega el mapa, pero ninguna de las capas que solicite en el
> SQL
> >>>>> y
> >>>>> en el php_error.log me despliega
> >>>>>
> >>>>> [25-May-2011 13:32:55] PHP Warning:  DOMDocument::schemaValidate()
> [<a
> >>>>> href='domdocument.schemavalidate'>domdocument.schemavalidate</a>]:
> >>>>> Element
> >>>>> 'pmapper': No matching global declaration available for the
> validation
> >>>>> root.
> >>>>> in /var/www/pmapper-4.0/incphp/query/search.php on line 69
> >>>>> [25-May-2011 13:32:55] Validation of search.xml file FAILED:
> >>>>> <br />
> >>>>> <b>Warning</b>:  DOMDocument::schemaValidate() [<a
> >>>>> href='domdocument.schemavalidate'>domdocument.schemavalidate</a>]:
> >>>>> Element
> >>>>> 'pmapper': No matching global declaration available for the
> validation
> >>>>> root.
> >>>>> in<b>/var/www/pmapper-4.0/incphp/query/search.php</b>  on line
> >>>>> <b>69</b><br
> >>>>> />
> >>>>>
> >>>>> Cuestión que ahora si que estoy desorientado.
> >>>>> Saludos
> >>>>> EB
> >>>>>
> >>>>>
> >>>>>
> >>>>> 2011/5/25 Eduardo Bieñkowski<eduko...@gmail.com>
> >>>>>
> >>>>>> Ya probé con lo que sugirió Francisco y me largo el error de parseo
> >>>>>> siguiente:
> >>>>>>
> >>>>>> *Warning*: [MapServer Error]: loadLayer(): Parsing error near
> >>>>>> (Terciaria):(line 343) in */var/www/pmapper-4.0/incphp/globals.php*
> on
> >>>>>> line *60*
> >>>>>> Además de que no aparece la interrfaz gráfica.
> >>>>>>
> >>>>>> Lo que hice fue ponerle comillas a DESCRIPTOR y sacarle las comillas
> >>>>>> simples a Terciaria.
> >>>>>> De esta manera abre la interfaz gráfica pero no se visualiza el
> mapa,
> >>>>> al
> >>>>>> leer el php_error.log me sale este mensaje
> >>>>>>
> >>>>>> [25-May-2011 11:06:35] PHP Warning:  [MapServer Error]: msDrawMap():
> >>>>> Failed
> >>>>>> to draw layer named 'zonas_salud'.
> >>>>>>   in /var/www/pmapper-4.0/incphp/map/map.php on line 326
> >>>>>> [25-May-2011 11:06:35] PHP Warning:  [MapServer Error]:
> >>>>>> msPostGISLayerWhichShapes(): Error (ERROR:  error de sintaxis en o
> >>>>> cerca de
> >>>>>> «Terciaria»
> >>>>>> LINE 1: ... FROM zonas_salud WHERE "DESCRIPTOR"=Terciaria)...
> >>>>>>                                                               ^
> >>>>>> ) executing query: select
> >>>>>>
> >>>>>
> "NOMBRE",encode(AsBinary(force_collection(force_2d("the_geom")),'NDR'),'hex')
> >>>>>> as geom,"gid" from (SELECT * FROM zonas_salud WHERE
> >>>>> "DESCRIPTOR"=Terciaria)
> >>>>>> AS subquery where the_geom&&  GeomFromText('POLYGON((-169466
> >>>>>> 5995586.35980861,-169466 6789793.64019139,1417430
> >>>>> 6789793.64019139,1417430
> >>>>>> 5995586.35980861,-169466 5995586.35980861))',-1)
> >>>>>>   in /var/www/pmapper-4.0/incphp/map/map.php on line 326
> >>>>>>
> >>>>>> Como escribi en el anterior correo creo que es un tema con los
> campos
> >>>>> CHAR
> >>>>>> cuyos valores son TEXTO.
> >>>>>> Si pruebo con otros campos que sean NUMERIC funciona, el tema que
> los
> >>>>> tengo
> >>>>>> que filtrar si o si por el campo DESCRIPTOR para no tocar toda la
> base
> >>>>>> postgres.
> >>>>>> Entonces creo que lo que pasa es que cuando PMAPPER parsea el
> MAPFILE
> >>>>> no
> >>>>>> encuentra algun caracter especial para validar campos texto.
> >>>>>> Saludos
> >>>>>> Eduardo
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> 2011/5/24 francisco.goma...@gmail.com<francisco.goma...@gmail.com>
> >>>>>>
> >>>>>> Yo haría para tus datos lo siguiente:
> >>>>>>> DATA 'the_geom from (SELECT * FROM zonas_salud WHERE
> >>>>>>> DESCRIPTOR='Terciaria') AS subquery USING UNIQUE gid USING
> >>>>> srid=23030'
> >>>>>>> si lo que quieres es seleccionar las entidades que tengan
> exactamente
> >>>>>>> esa palabra, sino sería LIKE '%Terciaria%' con comodines (también
> >>>>> suelo
> >>>>>>> definir el srid)
> >>>>>>>
> >>>>>>> Un saludo
> >>>>>>>
> >>>>>>> El 24/05/2011 15:56, Eduardo Bieñkowski escribió:
> >>>>>>>> Tengo una consuita para realizar respecto de una SQL en la que
> >>>>> quiero
> >>>>>>>> recuperar datos según un campo de texto.
> >>>>>>>> He utilizado LIKE no funciona
> >>>>>>>> DATA 'the_geom from (SELECT * FROM zonas_salud WHERE "DESCRIPTOR"
> >>>>> LIKE
> >>>>>>>> 'Terciaria') AS zonas USING UNIQUE gid'
> >>>>>>>> asi tampoco
> >>>>>>>> DATA 'the_geom from (SELECT * FROM zonas_salud WHERE "DESCRIPTOR"
> >>>>> LIKE
> >>>>>>>> "Terciaria") AS zonas USING UNIQUE gid'
> >>>>>>>>
> >>>>>>>> He utilizado el signo de = con comillas simples no funciona,
> >>>>>>>> DATA 'the_geom from (SELECT * FROM zonas_salud WHERE "DESCRIPTOR"
> >>>>>>>> ='Terciaria') AS zonas USING UNIQUE gid'
> >>>>>>>>
> >>>>>>>> He utilizado el signo de = con comillas dobles tampoco
> >>>>>>>> DATA 'the_geom from (SELECT * FROM zonas_salud WHERE "DESCRIPTOR"
> >>>>>>>> ='"Terciaria") AS zonas USING UNIQUE gid'
> >>>>>>>>
> >>>>>>>> Sin nada tampoco funciona
> >>>>>>>> DATA 'the_geom from (SELECT * FROM zonas_salud WHERE "DESCRIPTOR"
> >>>>> LIKE
> >>>>>>> Ruta
> >>>>>>>> Terciaria) AS zonas USING UNIQUE gid'
> >>>>>>>> DATA 'the_geom from (SELECT * FROM zonas_salud WHERE "DESCRIPTOR"
> >>>>>>>> =Terciaria) AS zonas USING UNIQUE gid'
> >>>>>>>>
> >>>>>>>> Los errores que me salen son del tipo:
> >>>>>>>> [24-May-2011 10:54:19] PHP Warning:  [MapServer Error]:
> >>>>> msDrawMap():
> >>>>>>> Failed
> >>>>>>>> to draw layer named 'zonas_salud'.
> >>>>>>>>    in /var/www/pmapper-4.0/incphp/globals.php on line 60
> >>>>>>>> [24-May-2011 10:54:19] PHP Warning:  [MapServer Error]:
> >>>>>>>> msPostGISLayerWhichShapes(): Error (ERROR:  error de sintaxis en o
> >>>>> cerca
> >>>>>>> de
> >>>>>>>> «Terciaria»
> >>>>>>>> LINE 1: ...ROM zonas_salud WHERE "DESCRIPTOR" = Terciaria)...
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> Sin embargo si lo hago con PSQL pasando el SELECT * FROM
> >>>>> zonas_salud
> >>>>>>> WHERE
> >>>>>>>> "DESCRIPTOR" ='Terciaria'
> >>>>>>>> ESTO SI FUNCIONA
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>
> ------------------------------------------------------------------------------
> >>>>>>> vRanger cuts backup time in half-while increasing security.
> >>>>>>> With the market-leading solution for virtual backup and recovery,
> >>>>>>> you get blazing-fast, flexible, and affordable data protection.
> >>>>>>> Download your free trial now.
> >>>>>>> http://p.sf.net/sfu/quest-d2dcopy1
> >>>>>>> _______________________________________________
> >>>>>>> pmapper-users mailing list
> >>>>>>> pmapper-users@lists.sourceforge.net
> >>>>>>> https://lists.sourceforge.net/lists/listinfo/pmapper-users
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> Edu
> >>>>>>
> >>>>>
> >>>>>
> >>>>> --
> >>>>> Edu
> >>>>>
> >>>>>
> ------------------------------------------------------------------------------
> >>>>> vRanger cuts backup time in half-while increasing security.
> >>>>> With the market-leading solution for virtual backup and recovery,
> >>>>> you get blazing-fast, flexible, and affordable data protection.
> >>>>> Download your free trial now.
> >>>>> http://p.sf.net/sfu/quest-d2dcopy1
> >>>>> _______________________________________________
> >>>>> pmapper-users mailing list
> >>>>> pmapper-users@lists.sourceforge.net
> >>>>> https://lists.sourceforge.net/lists/listinfo/pmapper-users
> >>>>>
> >>>>
> >>>
> >>> --
> >>> Edu
> >>>
> >>
> >>
> >> --
> >> Edu
> >>
> >
> >
>
>
>
> ------------------------------------------------------------------------------
> vRanger cuts backup time in half-while increasing security.
> With the market-leading solution for virtual backup and recovery,
> you get blazing-fast, flexible, and affordable data protection.
> Download your free trial now.
> http://p.sf.net/sfu/quest-d2dcopy1
> _______________________________________________
> pmapper-users mailing list
> pmapper-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/pmapper-users
>



-- 
Edu
------------------------------------------------------------------------------
vRanger cuts backup time in half-while increasing security.
With the market-leading solution for virtual backup and recovery, 
you get blazing-fast, flexible, and affordable data protection.
Download your free trial now. 
http://p.sf.net/sfu/quest-d2dcopy1
_______________________________________________
pmapper-users mailing list
pmapper-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pmapper-users

Reply via email to