Réponse tardive, mais peut-être que quelqu'un veut le savoir aussi.
supposant que vous avez suivant la géométrie:
GEOMETRYCOLLECTION (polygonal ((100 150, 100 340, 350 340, 350 150, 100 150)), LINESTRING (220 340, 220 150))
On pouvait essayez fusionner ligne cette collection de la géométrie, le résultat devrait être:
MULTILINESTRING ((220 340, 220 150), (100 150, 100 340, 350 340, 350 150, 100 150))
A partir de là faire une unaire union, résultat:
MULTILINESTRING ((220 340, 220 150), (100 150, 100 340, 220 340), (220 340, 350 340, 350 150, 220 150), (220 150, 100 150))
Enfin, vous pouvez utiliser le polygonizer et obtenir les deux polygones:
GEOMETRYCOLLECTION (polygonal ((220 150, 220 340, 350 340, 350 150, 220 150)), polygonal ((100 150, 100 340, 220 340, 220 150, 100 150)))
Donc, pour que le polygoniseur fonctionne, vous devez lui donner des lignes simples en entrée et non pas un polygone entier.
testés dans JTS testbuilder