Вижу, что представленные решения не дают должного результата.
Итак, делается все средствами ArcGIS инструментами топологии:
1. Кидаем в ArcMap полигональный фичакласс (Р), который хотим разбить, и линейный фичакласс (L), которым будем бить.
2. Создаем новый полигональный фичакласс (P1), с такими же параметрами СК и проекции как у (P).
3. Включаем редактирование (P1), включаем панель инструментов топологии.
4. Если слои лежат в одной папке (базе), то смотрим, чтобы в target стоял P1
5. Делаем селект объектов из (L), один, два или все, и объектов которыми хотим резать и объектов из (P).
6. На панели топологии жмем на construct features
7. Задаем параметры cluster tolerance или оставляем по умолчанию и жмем ОК. На выходе получаем разбитые полигоны и паразитные полигоны.
8. Чтобы избавиться от паразитных полигонов делаем select by location
(P1) по (P) методом are contained by
9. Делаем switch selection и убиваем паразитов. На выходе получаем разбитый полигональный фичакласс по линейному.