Бештар

Шакли файли хати шабакаи роҳ ба сегменти сегменти дарозии баробар


Ман мехостам шабакаи роҳро барои як давлат ба сегментҳои дарозии баробар тақсим кунам. Ҳамин тавр, шоҳроҳи X ба сегментҳои 0.5 мил тақсим карда мешавад, ки барои ҳар як сегмент сабт аст ва шоҳроҳи Y низ ба ҳамин монанд ба сегменти 0.5 мил тақсим карда мешавад. Дар айни замон, сегментҳо вобаста ба буришҳо ва кунҷҳо аз рӯи дарозӣ фарқ мекунанд.

Ман бояд сегментҳоро барои пайгирии шабакаи роҳ маҳдуд кунам, бинобар ин ман наметавонам танҳо қуллаҳо/гиреҳҳоро пайваст кунам, ё камонҳо/кунҷҳои мавҷударо пайгирӣ кунам. Дар аксари ҳолатҳо, скрипт бояд нуқтаи нави милро барои 0,5 мил ҷойгир кунад, то ҳамчун нуқтаи охири сегмент ва нуқтаи ибтидоӣ барои сегменти оянда хизмат кунад.

Ман бо Python/ArcPy ошно ҳастам ва фикр мекунам, ки ба ман лозим аст, ки OGR -ро барои гирифтани рӯйхати қуллаҳо истифода барам. Нармафзори GIS ман ArcInfo 10.1 SP2 аст.

Оё касе ҳалли ин мушкилро бомуваффақият татбиқ кардааст ё дар бораи чӣ гуна ҳал кардани он тасаввуроте дорад?

Ман минбаъд асбобҳои стандартиро дар ArcGIS 10.1 омӯхтам. Ҳоло ман кӯшиш мекунам идеяи табдил додани ҳамаи қуллаҳоро ба қабати алоҳидаи нуқтаҳо бо истифода аз абзори Feature Vertices to Points гузаронам. Қадами навбатии ман бо ин шакли нави формат дар Python бозӣ кардан хоҳад буд:

Восита топологияи шабакаи аслии роҳро бо нуқтаҳои нав нигоҳ медорад ва тартиби пайдарпайи FIDs вуҷуд дорад, бинобар ин ман бовар дорам, ки ман метавонам нуқтаҳои {барои ҳар як роҳ, яъне байнидавлатӣ 80} -ро аз {n} то {n пайваст кунам +1}. Ман метавонам масофаи ҷамъшудаи байни қуллаҳо-ҳоло нуқтаҳоро пайгирӣ кунам. Вақте ки масофаи ҷамъшуда бо илова кардани нуқтаи дигар аз ҳадди {d} бузургтар аст, пас ман бояд дар байни нуқтаи охирин ва нуқтаи хеле дур дар масофае нуқтаи нав созам, ки ба остона баробар бошад. Ин нуқтаи ниҳоӣ барои сегменти нав мегардад. Ин нуқтаҳоро якҷоя ҷамъ кунед, хати пайвасткунандаи онҳоро кашед ва voila, сегменти дарозии {d}. Ҳадафи ман албатта ин аст, ки ин хатҳо сегментҳо дар шакли шакл бошанд, на 1000ҳо шаклҳои нави хати нав.

Агар касе бо ин гуна ҳалли геометрӣ таҷриба дошта бошад, лутфан занг занед.


Мисли ҳама чиз дар GIS, зиёда аз як роҳи ин кор вуҷуд дорад:

ArcGIS хусусияте дорад, ки маҳз барои ҳамин кор кунад, нигаред ба Функсияи тақсим кардани хат. Албатта, дар хотир доред, ки шумо кам тақсимоти дақиқ доред, агар шумо опсияи фоизро истифода набаред (яъне шумо каме боқӣ мемонед). Ва рости гап, ман фаҳмидам, ки он на ҳама вақт ба таври комил кор мекунад, аммо ин кори хеле бад намекунад. Функсияи Divide -ро бо Split омехта накунед.

Вобаста аз талаботи шумо, илова кардани арзишҳои M ба маълумот метавонад воситаи тақсим кардани онро таъмин кунад ё метавонад роҳи ҳалли мушкилоти шумо бошад. Ман медонам, ки шумо мегӯед, ки мехоҳед сатрҳоро тақсим кунед, аммо ба шумо лозим аст (шумо намегӯед, ки ҳадафи ниҳоӣ чист). Ман хандаовар нестам, ман танҳо пешниҳод менамоям, ки тафаккури паҳлуӣ дар геопроцесс метавонад аксар вақт ҷавоби ба шумо лозимро осонтар кунад, на ба роҳи равшани ошкоро.

Агар ҳеҷ яке аз имконоти осон ин корро накунад ва шумо мехоҳед инро ҳамчун скрипт иҷро кунед ва ArcGIS дошта бошед, барои гирифтани рӯйхати қуллаҳо ба шумо OGR лозим нест. Шумо метавонед ҳама чизро дар ArcPy иҷро кунед. Дар дастур барои мисолҳо оид ба хондани геометрия нигаред ва сипас фасли навиштани геометрияро хонед. Ин бахшҳо намунаҳои ArcPy доранд. Ман як дорухатро дар сатрҳои зерин пайравӣ мекардам:

  • Шакли файли холӣ (таъинот) эҷод кунед
  • Барои ҳар як хусусият, қуллаҳоро хонед, масофа ва подшипникро дар байни ҳар як ҳисоб кунед ва масофаҳоро ҷамъ кунед, то ба шумо лозим аст, ки тақсим кунед. Ҳангоми рафтан, қуллаҳоро ба объекти нави массиви сатр илова кунед.
  • Вақте ки ба шумо тақсим кардан лозим аст, подшипникро дар байни ду нуқтаи охирини худ ва масофаи боқимонда то 0,5 мил барои ҳисоб кардани координатаҳои нуқтаи нави худ истифода баред. Инро ба объекти массиви хати худ илова кунед.
  • Объекти массиви сатри худро ба формаи таъиноти худ ворид кунед
  • Рамзи худро ҳалқа кунед, то бо истифода аз нуқтаи охирин ҳамчун нуқтаи аввали хати нав объекти массиви дигар созед ва сипас хонданро мисли пешина идома диҳед.
  • То анҷом ёфтани он бишӯед ва дубора пошед.
  • Қисми рӯйхат

Ниҳоят, алтернативӣ дар ҳама гуна нармафзори фаъолшудаи GEOS (PostGIS, SpatiaLite ва ғайра) шумо бояд ST_Line_Interpolate_Point -ро партоед. Ин нуқтаҳоро дар масофаи муқарраршуда дар хатҳо интерполятсия мекунад. Пас шумо метавонед нуқтаҳоро ҳамчун воситаи тақсим кардани сатрҳо истифода баред.

Ман боварӣ дорам, ки роҳҳои дигари ин кор вуҷуд доранд :)


Намедонам, ки шумо инро дидаед, аммо ин одам мисол меорад (ҳарчанд каме бетартибона), ки он ҳам хуб кор мекунад.

http://nodedangles.wordpress.com/2011/05/01/quick-dirty-arcpy-batch-splitting-polylines-to-a-specific-length/


Видеоро тамошо кунед: Часади Ин Актрисаи Туркия ЗУЛАЙХО-РО дар Вакти Чаноза бо Тобуташ Оташ Заданд! (Октябр 2021).