y como siempre estos problemas le han pasado a alguien más... http://osgeo-org.1803224.n2.nabble.com/Mapserver-PostGIS-map-file-problem-double-quotes-in-layer-DATA-element-td2984174.html
saludos Cristian O. www.digitalbee.cl 2011/5/25 Cristian Olguín Avila <cristianolg...@gmail.com> > 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 >> > > ------------------------------------------------------------------------------ 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