[OSGeo-Brasil] Passando de 2D para 3D

Luiz Motta motta.luiz em gmail.com
Terça Março 19 14:09:30 PDT 2013


Jorge,

Vc. está querendo colocar o Z numa camada 2d ?

Acho que vc. está confundindo Multipart, anel interno,... com geometria 3D.

Faça uma revisão nesses conceitos, veja na OGC Single Feature e depois a
API da Gdal/Ogr.


Em 19 de março de 2013 17:23, jorge.destri
<jorge.destri em labtrans.ufsc.br>escreveu:

> Preciso converter o conteúdo de um shapefile de 2D para 3D.
> Na internet, peguei umas dicas e cheguei a esse código python:
>
> from osgeo import ogr
> shapefile = ogr.Open('/home/jorge/temp/**42MUE250GC_SIR.shp', 1)
> layer = shapefile.GetLayer(0)
>
> i = 0
> for feat in layer:
>    i += 1
>    geom = feat.GetGeometryRef()
>
>    #geom.SetCoordinateDimension (3)
>
>    ring = geom.GetGeometryRef(0)
>    points = ring.GetPointCount()
>    #para teste
>    if i > 292:
>        j = 0
>        for p in xrange(points):
>            j += 1
>            lon, lat, z = ring.GetPoint(p)
>            ring.SetPoint( p, 1on, 1at, 5 )
>
>            #para confirmar a altereção
>            lon, lat, z = ring.GetPoint(p)
>            print( i, j, lon, lat, z )
>
>            layer.SetFeature(feat)
> shapefile.Destroy()
>
> Na execução ele mostra os pontos alterados com elevação 5, mas quando
> executo novamente, a coordenada Z está zerada. Se altero a longitude ou a
> latitude a mudança persiste.
> Tentei usar o comando comentado : geom.SetCoordinateDimension (3), mas
> também ele não persiste.
> Acredito que talvez tenha que mudar a geometria para wkbLineString25D ou
> wkbMultiPoint25D ou wkbMultiLineString25D ou wkbMultiPolygon25D ou
> wkbPoint25D conforme o tipo 2D, porém não encontro um método que faça isso.
>
> Agradeço por qualquer dica.
>
> ______________________________**_________________
> Brasil mailing list
> Brasil em lists.osgeo.org
> http://lists.osgeo.org/**mailman/listinfo/brasil<http://lists.osgeo.org/mailman/listinfo/brasil>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://lists.osgeo.org/pipermail/brasil/attachments/20130319/5a491521/attachment.html>


More information about the Brasil mailing list