Skip to main content

I'm querying a table with geometries (PostGIS) and the resulting geometry column when run through a GeomtryReplacer just ends up with an empty geometry. The encoding is Hex Encoded OGC Well Known Binary.

 

If I copy the string (with copy paste) into an attribute creator then the geometry gets replaced. 

 

The only differnce that I can see is that the string attribute from the SQLExcecutor is encoded as utf-16LE and the attributeCreator string is in UTF-8.

 

It's kind of strange because another geometry column in the same database comes in as a utf-8 string.  It's an envelope.

 

This is the string/geometry in question:

01060000A0E86400000100000001030000800100000005000000333333335C021C41000000C052BF54410000000000A05C403333333354021C41000000C052BF54410000000000A05C403333333354021C41000000C052BF5441CDCCCCCCCCEC5C40333333335C021C41000000C052BF5441CDCCCCCCCCEC5C40333333335C021C41000000C052BF54410000000000A05C40

I was previously casting the Geometry using AS_STBinary() and then replacing using using OCG Well Known Binary. This was working but the query was a lot slower. Not casting (at least for the specific query I'm using) turns out to be much faster. 

 

Anyone got any ideas for a workaround here?

UPDATE - If use an AttributeEncoder to cast to UTF-8 then it works. Not ideal but a workaround none-the-less


Reply