if (!GeometryUtils.compareSpatialReferences(geometryref1, geometryref2)) {
LogUtils.Log_SRIDMismatch(LOG, geometryref1, geometryref2);
return null;
}
OGCGeometry ogcGeom1 = GeometryUtils.geometryFromEsriShape(geometryref1);
OGCGeometry ogcGeom2 = GeometryUtils.geometryFromEsriShape(geometryref2);
if (ogcGeom1 == null || ogcGeom2 == null){
LogUtils.Log_ArgumentsNull(LOG);
return null;
}
try {
OGCGeometry diffGeometry = ogcGeom1.symDifference(ogcGeom2);
return GeometryUtils.geometryToEsriShapeBytesWritable(diffGeometry);
} catch (Exception e) {
LogUtils.Log_InternalError(LOG, "ST_SymmetricDiff: " + e);
return null;
}