Неправильная оставшаяся точка при вычитании перекрытия между двумя полигонами.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Неправильная оставшаяся точка при вычитании перекрытия между двумя полигонами.

Сообщение Anonymous »

Я идентифицирую пересекающиеся многоугольники, затем вычисляю их пересечение и удаляю их из первого многоугольника. Я получаю странный остаток. Если я просто возьму разницу между полигонами, этого не произойдет.
Почему?

Код: Выделить всё

import pandas as pd
import geopandas as gpd
import shapely

test = pd.DataFrame({"geo_uuid": ["a", "b"], "geometry": [shapely.from_wkt("POLYGON ((-85.489530540446 40.72197039620563, -85.54038813980434 40.686016211216575, -85.42963027177998 40.682309666676865, -85.489530540446 40.72197039620563))"),
shapely.from_wkt("POLYGON ((-85.52717584228726 40.732495186799525, -85.49542480146151 40.693215026642285, -85.44637022730953 40.73203119983377, -85.52717584228726 40.732495186799525))")]})

test = gpd.GeoDataFrame(test).set_geometry("geometry").set_crs(epsg=4326)

geo_1 = test.geometry.values[0]
geo_2 = test.geometry.values[1]

overlap = geo_1.intersection(geo_2)
geo_1_overlap_removed = geo_1.difference(overlap)  # this will have an extra point contained in geo_2

geo_1_minus_geo_2 = geo_1.difference(geo_2)  # this is good

Почему это происходит? Что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/790 ... o-polygons
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»