Ticket #173: ogr_sp.patch

File ogr_sp.patch, 5.9 KB (added by jmckenna, 5 years ago)

full patch with proper encoding

  • ogr_sp.py

     
    2727from osgeo import *
    2828import osgeo.ogr
    2929import osgeo.gdal
    30 import libxml2
     30import lxml
    3131import os
    3232import sys
    3333import zoo
     
    3535def readFileFromBuffer(data,ext):
    3636    try:
    3737        geometry=[]
    38         print >> sys.stderr,'/vsimem//temp1'+ext
     38        print ('/vsimem//temp1'+ext, file=sys.stderr)
    3939        #print >> sys.stderr,data
    4040        osgeo.gdal.FileFromMemBuffer('/vsimem//temp1'+ext,data)
    4141        ds = osgeo.ogr.Open('/vsimem//temp1'+ext)
     
    4848        ds.Destroy()
    4949        osgeo.gdal.Unlink('/vsimem//temp1'+ext)
    5050        return geometry
    51     except Exception,e:
     51    except Exception as e:
    5252        print >> sys.stderr,e
    5353        return []
    5454   
     
    6969def createGeometryFromWFS(conf,my_wfs_response):
    7070    try:
    7171        geom=osgeo.ogr.CreateGeometryFromGML(my_wfs_response.replace('<?xml version="1.0" encoding="utf-8"?>\n','').replace('<?xml version=\'1.0\' encoding="utf-8"?>\n',''))
    72     except Exception,e:
    73         print >> sys.stderr,"**"
     72    except Exception as e:
     73        print ("**", file=sys.stderr)
    7474        print >> sys.stderr,e
    7575        geom=None
    7676    try:
    77         print >> sys.stderr,geom is None
     77        print (geom is None, file=sys.stderr)
    7878        if geom is None:
    7979            if not(conf["lenv"].has_key("cnt")):
    8080                conf["lenv"]["cnt"]=0
     
    8484        else:
    8585            return buildFeatureFromGeomtry(conf,geom,"GML","xml")
    8686    except:
    87         print >> sys.stderr,"Unable to load file input data !!!\n\n\n"
     87        print ("Unable to load file input data !!!\n\n\n", file=sys.stderr)
    8888
    8989def createLayerFromJson(conf,obj):
    9090    geom=osgeo.ogr.CreateGeometryFromJson(obj)
     
    9494        return buildFeatureFromGeomtry(conf,geom,"GeoJSON","json")
    9595
    9696def extractInputs(conf,obj):
    97     if obj.keys().count("cache_file"):
    98         print >> sys.stderr,obj
     97    if list(obj).count("cache_file"):
     98        print (obj, file=sys.stderr)
    9999        geometry=[]
    100100        ds = osgeo.ogr.Open(obj["cache_file"])
    101101        lyr = ds.GetLayer(0)
     
    124124        driverName = "GeoJSON"
    125125        extension = [ ".js" ]
    126126        opts=None
    127     if obj.keys().count("schema")>0 and \
     127    if list(obj).count("schema")>0 and \
    128128            obj["schema"]=="http://schemas.opengis.net/kml/2.2.0/ogckml22.xsd":
    129129        driverName = "KML"
    130130        extension = [ ".kml" ]
    131131        opts=None
    132132    drv = osgeo.ogr.GetDriverByName( driverName )
    133     print >> sys.stderr,drv
     133    print (drv, file=sys.stderr)
    134134    # Create virtual file
    135135    ds = drv.CreateDataSource( "/vsimem/store"+conf["lenv"]["sid"]+extension[0],options = opts)
    136     print >> sys.stderr,ds
     136    print (ds, file=sys.stderr)
    137137    lyr = ds.CreateLayer( "Result", None, osgeo.ogr.wkbUnknown )
    138     print >> sys.stderr,lyr
     138    print (lyr, file=sys.stderr)
    139139    i=0
    140     print >> sys.stderr,driverName
    141     print >> sys.stderr,extension
     140    print (driverName, file=sys.stderr)
     141    print (extension, file=sys.stderr)
    142142    while i < len(geom):
    143143        if i==0 and driverName!="GeoJSON":
    144144            poDstFDefn=geom[i].GetDefnRef()
     
    167167    osgeo.gdal.Unlink("/vsimem/store"+conf["lenv"]["sid"]+extension[0])
    168168
    169169def BufferPy(conf,inputs,outputs):
    170     print >> sys.stderr, "Starting service ..."
     170    print ("Starting service ...", file=sys.stderr)
    171171    try:
    172172        bdist=float(inputs["BufferDistance"]["value"])
    173173    except:
    174174        bdist=1
    175     print >> sys.stderr, bdist
     175    print (bdist, file=sys.stderr)
    176176    geometry=extractInputs(conf,inputs["InputPolygon"])
    177177    i=0
    178178    rgeometries=[]
     
    191191
    192192def Clean(conf,inputs,outputs):
    193193    from shapely.wkb import loads
    194     print >> sys.stderr, "Starting service ..."
     194    print ("Starting service ...", file=sys.stderr)
    195195    features=extractInputs(conf,inputs["InputData"])
    196196    i=0
    197197    rgeometries=[]
     
    203203            if geom.is_valid:
    204204                tmp.SetGeometryDirectly(resg)
    205205                rgeometries+=[tmp]
    206                 print >> sys.stderr,"valid !"
     206                print ("valid !", file=sys.stderr)
    207207            else:
    208                 print >> sys.stderr,"invalid !"
    209                 print >> sys.stderr,geom.wkt[0:50]
     208                print ("invalid !", file=sys.stderr)
     209                print (geom.wkt[0:50], sys.stderr)
    210210        features[i].Destroy()
    211211        resg.thisown=False
    212212        tmp.thisown=False
     
    213213        i+=1
    214214    outputResult(conf,outputs["Result"],rgeometries)
    215215    i=0
    216     print >> sys.stderr,"Return"
     216    print ("Return", file=sys.stderr)
    217217    return zoo.SERVICE_SUCCEEDED
    218218
    219219def TransformService(conf,inputs,outputs):
     
    288288
    289289
    290290def EnvelopePy(conf,inputs,outputs):
    291     print >> sys.stderr, inputs
     291    print (inputs, file=sys.stderr)
    292292    try:
    293293        bdist=float(inputs["BufferDistance"]["value"])
    294294    except:
     
    296296    geometry=extractInputs(conf,inputs["InputPolygon"])
    297297    tmp=geometry[0].GetGeometryRef().GetEnvelope()
    298298    outputs["Result"]["value"]=str(tmp[0])+','+str(tmp[2])+','+str(tmp[1])+','+str(tmp[3])+','+'urn:ogc:def:crs:OGC:1.3:CRS84'
    299     print >> sys.stderr,outputs["Result"]
     299    print (outputs["Result"], file=sys.stderr)
    300300    return 3
    301301
    302302def UnionPy(conf,inputs,outputs):
     
    328328    geometry1=extractInputs(conf,inputs["InputEntity1"])
    329329    geometry2=extractInputs(conf,inputs["InputEntity2"])
    330330
    331     print >> sys.stderr,str(len(geometry1))+" "+str(len(geometry2))
     331    print (str(len(geometry1))+" "+str(len(geometry2)), file=sys.stderr)
    332332
    333333    rgeometries=[]
    334334    fids=[]
     
    354354        geometry2[i].Destroy()
    355355        i+=1
    356356    outputResult(conf,outputs["Result"],rgeometries)
    357     print >> sys.stderr,"/outputResult"
     357    print ("/outputResult", file=sys.stderr)
    358358    return 3
    359359
    360360def DifferencePy(conf,inputs,outputs):

Search

Context Navigation

ZOO Sponsors

http://www.zoo-project.org/trac/chrome/site/img/geolabs-logo.pnghttp://www.zoo-project.org/trac/chrome/site/img/neogeo-logo.png http://www.zoo-project.org/trac/chrome/site/img/apptech-logo.png http://www.zoo-project.org/trac/chrome/site/img/3liz-logo.png http://www.zoo-project.org/trac/chrome/site/img/gateway-logo.png

Become a sponsor !

Knowledge partners

http://www.zoo-project.org/trac/chrome/site/img/ocu-logo.png http://www.zoo-project.org/trac/chrome/site/img/gucas-logo.png http://www.zoo-project.org/trac/chrome/site/img/polimi-logo.png http://www.zoo-project.org/trac/chrome/site/img/fem-logo.png http://www.zoo-project.org/trac/chrome/site/img/supsi-logo.png http://www.zoo-project.org/trac/chrome/site/img/cumtb-logo.png

Become a knowledge partner

Related links

http://zoo-project.org/img/ogclogo.png http://zoo-project.org/img/osgeologo.png