두 기하학을 교차하는 동안 문제가 발생하여 작업 중에 반올림 오류로 TopologyException이 발생했다면 this fix을 읽고 두 입력 구조에서 모두 시도했지만 성공하지 못했습니다. 그런 다음 geo.buffer(1).buffer(-1)
을 시도했는데 효과가있었습니다.JTS에서 geometry.buffer (1) .buffer (-1)을 수행 할 때 최종 도형이 원본과 동일합니까?
이러한 지오메트리는 원래 지오메트리와 동일합니까?
두 기하학을 교차하는 동안 문제가 발생하여 작업 중에 반올림 오류로 TopologyException이 발생했다면 this fix을 읽고 두 입력 구조에서 모두 시도했지만 성공하지 못했습니다. 그런 다음 geo.buffer(1).buffer(-1)
을 시도했는데 효과가있었습니다.JTS에서 geometry.buffer (1) .buffer (-1)을 수행 할 때 최종 도형이 원본과 동일합니까?
이러한 지오메트리는 원래 지오메트리와 동일합니까?
저는 JTS에 대해 아무것도 모릅니다. 그러나 일반적으로 사실 일 수는 없습니다.
당신이이 모양이 가정 : 모두에buffer(1)
이 될 것입니다 내 이해에서
XXX XXX X X XXX XXX XXX
을 대략이 :
이제XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX
buffer(-1)
가에서 두 개의 서로 다른 결과를 생성 할 수 없습니다 그 두 가지 모양.
효과적으로 buffer()
작업은 정보를 잃어 버리기 때문에 다른 곳에서 정보를 다시 추가하지 않으면 실행 취소 할 수 없습니다.
이것은 정확합니다. 모양이 동일하지 않습니다. 그러나 매우 작은 양의 버퍼링 및 버퍼 해제로 조각이나 작은 틈과 같은 형상의 문제가있는 영역을 "매끄럽게"제거 할 수 있으므로 이점을 활용할 수 있습니다. –
나는이 도형이 동일하지 않을 것이라고 생각합니다. 기본적으로 피처를 버퍼링하는 동작은 원래 구성에 정점을 추가하므로 동일한 정점이 제거되지 않을 수도 있습니다.
예를 들어 아주 작은 버퍼 인 a.buffer (0.00001)를 사용해보십시오 (미터법 시스템의 경우 1/1000th mm).
PostGIS에서는 일부 문제가 해결되었습니다.
아주 작은 값으로이 작업을 수행했습니다. 우리는 지리적 좌표를 사용하고 있습니다. –
자체가 "수정"되어야합니다. GEOS 및 기타 GEOS 기반 소프트웨어 작동. GEOS가 JTS 포트를 기반으로한다고 착각하지 않으면. –
GEOS는 실제로 JTS 포트를 기반으로합니다. 또한 NTS, C# 포트가 있습니다 (이전 JTS 버전 임에도 불구하고). PostGIS는 많은 공간 작업을 위해 GEOS를 사용합니다. –
이것은 자바 토폴로지 스위트입니다. 자바 트랜잭션 서비스가 아닙니다. – skaffman
더 많은 태그가 트릭을 수행해야합니다.) –