Ñò üMXc@sddklZddkZddklZddklZeieƒZ ddddgZ ei d ƒZ d „Z d efd „ƒYZdS( iÿÿÿÿ(tzipN(tcrs(tutils gml:Pointsgml:LineStrings gml:Polygons gml:Envelopes urn:x-ogc:def:crs:EPSG:6.11:4326cCsÄ|iƒ}g}|ddd…}|ddd…}|djo;xot||ƒD]#\}}|id||fƒqUWn8x4t||ƒD]#\}}|id||fƒqWdi|ƒS(s)Repurpose gml:posList into WKT aware listiNityxs%s %ss, (tsplitRtappendtjoin(tposlistt axisorderttmptposlist2txlisttylisttitj((sF/local/public/lgc/web/api.rvdata.us/htdocs/pycsw/pycsw/ogc/gml/gml3.pyt _poslist2wkt+s    tGeometrycBsDeZdZd„Zd„Zd„Zd„Zd„Zd„ZRS(sbase geometry classcCsä||_d|_d|_d|_||_|iditƒdhdd6ƒd}d|i jo*t i dƒti |i dƒ|_nt i dt ƒt |_ti|iƒ|_|id jo|iƒnt|id jo|iƒnV|id jo|iƒn8|id jo|iƒntd ditƒƒ‚|idj o€|iidjomt i dƒy"|i|iit iƒ|_Wqàtj o+}td|iit|ƒfƒ‚qàXndS(sinitialize geometry parsert|t namespacesshttp://www.opengis.net/gmltgmlitsrsNamesgeometry srsName detecteds#setting default geometry srsName %stPointt LineStringtPolygontEnvelopes-Unsupported geometry type (Must be one of %s)t,iætCRS84stransforming geometry to 4326s,Reprojection error: Invalid srsName "%s": %sN(iæR(tnsmaptNonettypetwktRt_exmltxpathRtTYPEStattribtLOGGERtdebugtCrst DEFAULT_SRSRt xmltag_splitttagt _get_pointt_get_linestringt _get_polygont _get_envelopet RuntimeErrortcodet transformt Exceptiontidtstr(tselftelementRtoperandterr((sF/local/public/lgc/web/api.rvdata.us/htdocs/pycsw/pycsw/ogc/gml/gml3.pyt__init__As>       # "cCsž|iitid|iƒƒ}|djotdƒ‚n]|iiƒ}|i i djod|d|df|_ nd|d|df|_ dS(sParse gml:Pointsgml:Point/gml:poss,Invalid gml:Point geometry. Missing gml:posRs POINT(%s %s)iiN( RtfindRt nspath_evalRRR-ttextRRRR(R3R txypoint((sF/local/public/lgc/web/api.rvdata.us/htdocs/pycsw/pycsw/ogc/gml/gml3.pyR)ns cCsa|iitid|iƒƒ}|djotdƒ‚n dt|i|i i ƒ|_ dS(sParse gml:LineStringsgml:LineString/gml:posListsRInvalid gml:LineString geometry. Missing gml:posListsLINESTRING(%s)N( RR8RR9RRR-RR:RRR(R3R ((sF/local/public/lgc/web/api.rvdata.us/htdocs/pycsw/pycsw/ogc/gml/gml3.pyR*}s   cCse|iidtid|iƒƒ}|djotdƒ‚n dt|i|i i ƒ|_ dS(sParse gml:Polygons.//%ss gml:posListsRInvalid gml:LineString geometry. Missing gml:posLists POLYGON((%s))N( RR8RR9RRR-RR:RRR(R3R ((sF/local/public/lgc/web/api.rvdata.us/htdocs/pycsw/pycsw/ogc/gml/gml3.pyR+Šs   cCs[|iitid|iƒƒ}|d jotdƒ‚n |i}|iitid|iƒƒ}|d jotdƒ‚n |i}|iƒ}|iƒ}t |ƒdjpt |ƒdjotdƒ‚n|i i djo6ti d|d |d |d |d fƒ|_ n3ti d|d |d |d |d fƒ|_ d S( sParse gml:Envelopesgml:Envelope/gml:lowerCornersTInvalid gml:Envelope geometry. Missing gml:lowerCornersgml:Envelope/gml:upperCornersTInvalid gml:Envelope geometry. Missing gml:upperCornerisiInvalid gml:Envelope geometry. gml:lowerCorner and gml:upperCorner must hold at least x and yRs %s,%s,%s,%siiN(RR8RR9RRR-R:RtlenRRtbbox2wktpolygonR(R3R t lower_leftt upper_righttllminturmax((sF/local/public/lgc/web/api.rvdata.us/htdocs/pycsw/pycsw/ogc/gml/gml3.pyR,—s,        & &cCsìddk}ddkl}l}l}ddkl}tid||fƒg}y|i dd|ƒ} Wnt dƒ‚nXy|i dd|ƒ} Wnt d ƒ‚nX||i ƒ} | i d jo1||i | | | i| iƒƒ} | i } nä| i d jo`xDt| iƒD]3}|i | | |d |d ƒ} |i| ƒq%W||ƒ}|i } nt| i djocxGt| iiƒD]3}|i | | |d |d ƒ} |i| ƒq˜W||ƒ}|i } n| S(s-transform coordinates from one CRS to anotheriÿÿÿÿN(RRR(tloadss#Transforming geometry from %s to %stinitsepsg:%ssInvalid source projectionsInvalid destination projectionRRiiR(tpyprojtshapely.geometryRRRt shapely.wktRBR#R$tProjR-RRR/txtytlisttcoordsRtexterior(R3tsrctdestRDRRRRBtverticestproj_srctproj_dsttgeomtnewgeomtwkt2tverticet linestringtpolygon((sF/local/public/lgc/web/api.rvdata.us/htdocs/pycsw/pycsw/ogc/gml/gml3.pyR/¸sF        ( t__name__t __module__t__doc__R7R)R*R+R,R/(((sF/local/public/lgc/web/api.rvdata.us/htdocs/pycsw/pycsw/ogc/gml/gml3.pyR>s -  !(t six.movesRtloggingtowslibRt pycsw.coreRt getLoggerRXR#R!R%R&RtobjectR(((sF/local/public/lgc/web/api.rvdata.us/htdocs/pycsw/pycsw/ogc/gml/gml3.pyts