GEOSwift - Создать пустой многоугольник

Я использую GEOswift в приложении для построения инженерных графиков. Мне нужно определить несколько пустых полигонов на разных этапах построения. До недавнего обновления у меня была функция для создания пустого многоугольника, и она отлично работала:

 func emptyPoly() -> Geometry {
        let poly1 = Geometry.create("POLYGON((0 0, 0 0, 0 0, 0 0))")
        let poly2 = Geometry.create("POLYGON((1 1, 1 1, 1 1, 1 1))")
        return poly1!.intersection(poly2!)!
    }

теперь на основе изменений библиотеки мне пришлось изменить ее на:

    func emptyPoly() -> Geometry? {
        var poly1: Geometry
        var poly2: Geometry
        var poly1_intersect_poly2: Geometry
        do {
            poly1 = try Geometry(wkt: "POLYGON((0 0, 0 0, 0 0, 0 0))")
            poly2 = try Geometry(wkt: "POLYGON((1 1, 1 1, 1 1, 1 1))")
            poly1_intersect_poly2 = try poly1.intersection(with: poly2)!
            return poly1_intersect_poly2
        } catch {
            print(error.localizedDescription)
            return nil
        }

    }

и он всегда заканчивается сбоем, потому что:

Неустранимая ошибка: неожиданно обнаружен ноль при разворачивании необязательного

Что я могу изменить в функции, чтобы избежать этой ошибки?

0 ответов

Другие вопросы по тегам