[Gvsig_usuarios] Como preparar una tabla para segmentacion dinamica en postgis

Francisco Salas Rosette fsalas en pinar.geocuba.cu
Mie Ago 8 17:41:10 CEST 2012


Gracias  Andrés , 
el problema como comente en la lista es que en estos momentos no cuento con
internet para poder acceder a esa información , no obstante estuve revisando
documentación sobre postgis  y desarrolle esta posible solución,
1.Creo la Tabla
  CREATE TABLE public.vialcalibrado(gid serial NOT NULL,idvial integer)
2. Adiciono el campo de geometría 
  SELECT addgeometrycolumn('public','vialcalibrado','the_geom',2085,
'MULTILINESTRINGM',3)
3. Le inserto  la línea calibrada 
insert into vialcalibrado(the_geom) (select ST_AddMeasure(the_geom,0,
length(the_geom)) as the_geom from viales)

 que no se si estará bien, pero cuando al final realizo esta consulta 
select ST_AsEWKT(the_geom) as the_geom from vialcalibrado
veo que me devuelve una MULTILINESTRINGM 

saludos Francisco Salas




-----Mensaje original-----
De: gvsig_usuarios-bounces en listserv.gva.es
[mailto:gvsig_usuarios-bounces en listserv.gva.es] En nombre de Andrés Maneiro
Enviado el: miércoles, 08 de agosto de 2012 10:23 a.m.
Para: Lista de Usuarios de gvSIG
Asunto: Re: [Gvsig_usuarios] Como preparar una tabla para segmentacion
dinamica en postgis

Hola Francisco,

por si te resulta de utilidad, aquí puedes encontrar un ejemplo de
referenciación lineal y segmentación dinámica con PostGIS:
https://github.com/amaneiro/snippets/tree/master/pgsql/postgis-linear-refere
ncing

Basta con que configures los datos de tu BD en el archivo db_config y
ejecutes el archivo lrs-example.sh para tener una BD con ejemplos.

Andrés

On 08/08/12 15:24, Francisco Salas Rosette wrote:
> Hola a todos, estoy tratando de preparar una tabla en Postgis para ser 
> usada en segmentación dinámica, pero tengo las siguientes dudas y en 
> estos momentos no cuento con internet.
>
> 1.He leído que hay que calibrar la línea para que se representen bien 
> los datos sobre ella.
>
> Par esto he empleado la función de postgis 1.5 *ST_AddMeasure* 
> mediante esta consulta sql pudo ver que me genera una geometría con un
tercer dato que es M :
> select gid,ST_AsEWKT(ST_AddMeasure(the_geom,0, length(the_geom))) as 
> the_geom from viales.
>
> Para llevarla a postgis como tabla física , creo una vista :
>
> CREATE OR REPLACE VIEW prueba_addmeasure AS
>
>   SELECT viales.gid, st_addmeasure(viales.the_geom, 0::double 
> precision,
> length(viales.the_geom)) AS the_geom
>
> FROM viales;
>
> Y  la cargo con gvSIG , opción de Capa/Exportar y ya tengo la tabla 
> nueva , pero cuando reviso su estructura de esta forma :
>
> select gid,ST_AsEWKT(the_geom) as the_geom from vialcalibrado
>
> me dice que es del tipo "MULTILINESTRING" y no "MULTILINESTRINGM" .
>
> No he podido calibrar la línea , sin embargo estoy usando esta vista
>
> CREATE OR REPLACE VIEW prueba_estacionado AS
>
>   SELECT estadovia.oid, estadovia.estado*, 
> st_line_substring*(viales.the_geom,
> estadovia.est_ini / length(viales.the_geom), estadovia.est_final /
> length(viales.the_geom)) AS the_geom
>
>     FROM viales, estadovia
>
>    WHERE viales.idvial = estadovia.idvia;
>
> Y cuando  cargo la vista con gvSIG , pude comprobar que plotea los 
> tramos del estado de la via correctamente , pero sobre una línea no
calibrada .
>
> Porque ocurre esto????
>
> Alguien me pudiera orientar los pasos de como calibrar las líneas 
> empleando las funciones que trae postgis 1.5?
>
> Saludos Francisco Salas
>
>
>
> _______________________________________________
> 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
_______________________________________________
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




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