[Gvsig_usuarios] Fwd: consulta de novato consultas sql , mapserver, gvsig

Andres Juarez albertoandres.juarez en gmail.com
Mar Ago 23 19:45:18 CEST 2011


Perdón el anterior mail anterior salió cortado.

Insisto en que investigues MapScritp. Es la única forma que conozco (quizás
alguien en la lista conozca otra) de pasar parámetros vía formulario html
para definir la simbología a aplicar.

Te adjunto un ejemplo:

------En el Mapfile

 LAYER
    NAME "*Parcelas*"
    STATUS ON
    CONNECTIONTYPE POSTGIS
    CONNECTION "host=localhost dbname=BD user=uuuuu password=xxxxxxx"
    DATA "the_geom from parcelas USING UNIQUE gid USING SRID=4326"
    TYPE POLYGON
    *CLASSITEM* "*idmza*"
    PROJECTION
      "init=epsg:4326"
    END    #fin projection
   * CLASS*
      *NAME* "*Parce*"
      STYLE
      SYMBOL 0
  OUTLINECOLOR 96 96 96
      SIZE 2
     END #fin style
    END #fin class
 END #fin layer

---------En tu aplicación WEB

$variable= "proveniente del formulario";

1º Consulta a la BD

$query = "*SELECT idmza FROM parcelas WHERE manzana = '$variable*';
$result = pg_Exec($dbconn, $query);
$row    = pg_Fetch_Row($result, 0);
*$filtro * = $row[1];

2º Definición del Mapfile

//Ubicación del map file
$map_path="c:/ms4w/apps/mapa_web/";
$map = ms_newMapObj($map_path."/*mapa_parcelas.map*");

3º Filtrar parcelas con el resultado de la consulta
//para filtrar las parcelas
$layer  = $map->getLayerByName('*Parcelas*');   // se posiciona en el layer
Parcelas
$clasp = $layer->getClass('*Parce*');                  //Obtiene el objeto
CLASS de nombre 'Parce' del layer Parcelas
$clasp->setExpression(*$filtro*);                       //Solo las parcelas
con el mismo "idmza" se representaran con el estilo definido en el CLASS
'Parce'

4º Imprimir el mapa

//dibujar mapa
$image=$map->draw();
$image_url=$image->saveWebImage();


Luego en el cuerpo de la página imprimís la imagen que queda guardada en
"$image_url"

Espero te sirva de guía!
Saludos

PD: te recomiendo envíes tus consultas a la lista de Mapserver[1] o a
OSGEOes[2], para no mezclar temas.

[1] http://www.osgeo.org/mailman/listinfo/mapserver-users
[2] http://lists.osgeo.org/mailman/listinfo/spanish



El 23 de agosto de 2011 11:52, Amalia Carolina Canavire <
acarolinagc en gmail.com> escribió:

> Se de php , ahora viendo esto
> http://mapserver.org/input/vector/postgis.html  algo asi es? Gracias
> :):):)
>
>
> El 23 de agosto de 2011 11:46, Andres Juarez <
> albertoandres.juarez en gmail.com> escribió:
>
> Tenes algún conocimiento sobre PHP? Si no es muy difícil que pueda
>> explicarte como funciona.
>>
>> Te describo los pasos:
>> 1º Consulta a la BD postgres: esta consulta te devolvería el identificador
>> común a las parcelas que cumplan cierta condición.
>> La consulta sería algo así: "SELECT "columna" FROM tabla WHERE
>>
>>
>> El 23 de agosto de 2011 11:26, Amalia Carolina Canavire <
>> acarolinagc en gmail.com> escribió:
>>
>> hola Andres, gracias por tu tiempo y ayuda, pero como veras soy novata en
>>> esto, por lo q me resulta algo complicado poder terminar de entender lo
>>> sgte: como hago para indicarles las consultas sql , si bien se q debo
>>> definir capas en map file para q me proyecte, de color y demas, pero para
>>> hacer esto debo primero por asi decirlo tomar de la bd todos los registros q
>>> cumplen con una condicion, dy se supone q tomando los valores geometrico
>>> devueltos, pueda ubicarlos, y aplicar capas con estilo y demás, va esa es la
>>> logistica cuando se hace consulta en bd?, tendrías algún ejemplo?..GRACIAS
>>>
>>> El 23 de agosto de 2011 10:51, Andres Juarez <
>>> albertoandres.juarez en gmail.com> escribió:
>>>
>>> Hola Amalia
>>>>
>>>> Tenes que usar PHP-MapScript [1] para hacer filtros o selecciones.
>>>> Creo que lo más sencillo (es la única manera que conozco) es definir las
>>>> clases [2] en el mapfile, y después en tu aplicación web pasar las variables
>>>> a las clases usando "*getClass*" del *layerObj* y "*setExpression*" de
>>>> *classObj*.
>>>>
>>>> [1] http://mapserver.org/mapscript/php/index.html
>>>> [2] http://mapserver.org/mapfile/class.html
>>>>
>>>> Saludos
>>>> <http://mapserver.org/mapscript/php/index.html>
>>>>
>>>> El 23 de agosto de 2011 10:36, Amalia Carolina Canavire <
>>>> acarolinagc en gmail.com> escribió:
>>>>
>>>>>
>>>>> hola gente, quisiera pedirle una ayuda, quiero realizar una aplicacion
>>>>> web sencilla que haga consulta de bd de manera que los atributos
>>>>> seleccionados, se visualicen con algun color o simbolo en parcelas
>>>>> afectadas.Estoy trabajando con parcelas de tierras , tengo una bd en
>>>>> postgres, estoy usando gvsig, mapserver, si bien logro conectar la base de
>>>>> datos en map, no se me ocurre como especificar consultas en map, navegando
>>>>> todavia no encontre como hacer consultas dinamicas mediante formulario web,
>>>>> de manera q en misma pagina se muestre imagen o simbolo en mapa en base a
>>>>> atributo indicado . Hay q especificar consultas sql en map, o como se hace?
>>>>> capaz q lo estoy razonando o viendo mal las relaciones?.
>>>>> Uso gvsig y probando con consulta me muestra, pero claro es usando el
>>>>> programa gvsig, si yo quiero hacer consultas como la anteriormente indicada,
>>>>> no se como?.GRACIAS
>>>>>
>>>>> --
>>>>>
>>>>> *************** *  :) *sonrei que te queda lindo :):):):): **amy **cgc
>>>>> **************************
>>>>> *
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> *************** *  :) *sonrei que te queda lindo :):):):): **amy **cgc
>>>>> **************************
>>>>> *
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> gvSIG_usuarios mailing list
>>>>> gvSIG_usuarios en listserv.gva.es
>>>>>
>>>>> Para ver histórico de mensajes, editar sus preferencias de usuario o
>>>>> darse de baja en esta lista, acuda a la siguiente dirección:
>>>>>
>>>>> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>>    Andrés Juarez
>>>>
>>>>
>>>> _______________________________________________
>>>> gvSIG_usuarios mailing list
>>>> gvSIG_usuarios en listserv.gva.es
>>>>
>>>> Para ver histórico de mensajes, editar sus preferencias de usuario o
>>>> darse de baja en esta lista, acuda a la siguiente dirección:
>>>>
>>>> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios
>>>>
>>>>
>>>
>>>
>>> --
>>>
>>> *************** *  :) *sonrei que te queda lindo :):):):): **amy **cgc
>>> **************************
>>> *
>>>
>>>
>>> _______________________________________________
>>> gvSIG_usuarios mailing list
>>> gvSIG_usuarios en listserv.gva.es
>>>
>>> Para ver histórico de mensajes, editar sus preferencias de usuario o
>>> darse de baja en esta lista, acuda a la siguiente dirección:
>>>
>>> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios
>>>
>>>
>>
>>
>> --
>>    Andrés Juarez
>>
>>
>> _______________________________________________
>> gvSIG_usuarios mailing list
>> gvSIG_usuarios en listserv.gva.es
>>
>> Para ver histórico de mensajes, editar sus preferencias de usuario o darse
>> de baja en esta lista, acuda a la siguiente dirección:
>>
>> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios
>>
>>
>
>
> --
>
> *************** *  :) *sonrei que te queda lindo :):):):): **amy **cgc
> **************************
> *
>
>
> _______________________________________________
> gvSIG_usuarios mailing list
> gvSIG_usuarios en listserv.gva.es
>
> Para ver histórico de mensajes, editar sus preferencias de usuario o darse
> de baja en esta lista, acuda a la siguiente dirección:
>
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios
>
>


-- 
   Andrés Juarez
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20110823/c284fb8e/attachment.htm 


Más información sobre la lista de distribución gvSIG_usuarios