Көбірек

Shapely/Fiona геометриясына қасиет (атрибут) қосу

Shapely/Fiona геометриясына қасиет (атрибут) қосу


Сізде сызықтық және көпбұрышты геометрия болғаннан кейін, Shapely көмегімен қиылысу өте тура алға өтеді. Содан кейін мен жасаған барлық циклды «қиылысқан» геометрияны MultiLineString -ке біріктіру болды.

Енді менің сұрағым MultiLineString -ті Fiona көмегімен салыстыру кезінде шығыс - бір атрибуты бар жалғыз геометрия. Егер мен әрбір қиылысу геометрия нәтижесіне жеке атрибуттар қосатын болсам, менің MultiLineString бірнеше геометриядан тұрады.

Геометрия дайын болғаннан кейін LineString -ге қасиетті немесе атрибутты қалай қосуға болады ???

Бұл мәселе алдыңғы мәселелерге қатысты.

Бірінші қадам - ​​көпбұрышты пішінді файлдағы тік сызықтар

Екінші қадам - ​​Көпбұрыш шегінде сызық пішінін кесу

Менің бұлай жасауымның себебі себебі мен барлық қиылған сызықтардың геометриясын алғаннан кейін олардың әрқайсысының түйін координаттарын алуым керек.


Пішінді геометрия - бұл питон кластары, сондықтан объектіге жаңа қасиетті орнатуға болады.

Қолдану жағдайында бұл жұмыс істеді, бірақ сіздің сценарийіңізге байланысты күтпеген жанама әсерлерді тексеру қажет болуы мүмкін.

p = geometry.Point (0, 0) p.uid = 'бірегей нүкте' басып шығару (p.uid) # басып шығару: 'бірегей нүкте'