Теперь когда задача решена, я позволю себе вопрос, а при наличии программы, которая объединяет два SHP файла, почему с самого начала не использовались средства командной строки?
Подозреваю, что речь шла о Windows, а в нем(ней-них?) рекурсивный обход дерева каталогов встроен в командную строку.
Последний раз редактировалось Boris 04 авг 2011, 07:12, всего редактировалось 2 раза.
_DR_ писал(а):Решение на питоне - кроссплатформенно.
Это я не спорю. Но начальный вопрос был с указанием на ArcGIS, там с множественностью плотформ, как-то сильно не очень.
Кроме того, не верю я, что это Winsows такие умные, что команду FOR для своего DOS-интерфейса сами придумали. А если FOR и ogr2ogr есть на разных платформах, то и решение с рекурсивным вызовом - то же кроссплатформенное.
Не совсем понимаю - реализация for есть в командных интерпретаторах различных ОС, но синтаксис его использования - разный, как такое решение можно назвать кросс-платформенным?
Spatial is now, more than ever, just another column- The Geometry Column.
В GDAL'овском FAQVector есть примеры пакетного объединения шейпов на Windows (с пом. цикла for...do).
P.S. Кроссплатформенность
Согласен с _DR_, скрипты с использованием разные реализаций циклов в командных интерпретаторах (коих десятки) далеко не всегда будут кроссплатформенными, в отличие от скриптов на питоне.
я еще раз перечитал вопрос в начале. там был вопрос "как". ответ - "рекурсивное повторение программы ogr2ogr с использованием стандартных средств командной строки" - универсален. задачу решает. применим ко всем ОС, где есть GDAL. О кроссплатформенности не было не слова. Если уж точно говорить, то и python присутствует не на всех машинах, где есть ogr2ogr.
IMHO "универсальность" - она посильнее "кроссплатформенности" будет. Мы ведь в разделе "общие вопросы", а не "я - новичок".
Итак, немного продлим удовольствие от спора тему
"Универсальность" -- понятие скорее общефилософское, а вот "кроссплатформенность" --- чисто техническое, так? Наверное, они соотносятся по-разному в каждом конкретном случае.
Если уж точно говорить, то и python присутствует не на всех машинах, где есть ogr2ogr.
Ой ли..?
Если сравнить www.python.org/about/ и trac.osgeo.org/gdal/wiki/SupportedCompilers, то видно, что Питон с его небольшими зависимостями собирается под что угодно вплоть до телефонов, а GDAL --- под разновидности Unix, разные версии Windows, MacOS X ... и как бы все.
так мы SHP файлы объединяли в дисковой операционной системе (там, помните, речь о папках шла) или о мощь питонов измеряли?
что до универсальности, и кроссплатформенности, то тут все зависит о цели. если при решении задачи, умножили сущности и решили на одну проблему больше - это очень приятно. но к задаче отношения не имеет, только если ее решение не стало от этого сильно проще.
на мой взгляд, и я высказал его только после того, как задача решена, что бы не мешать техническому спору, решение конкретной задачи было избыточным, потому как вместо использования стандартных средств потребовалось программирование.
Что до второй части, то сильно я сомневаюсь, что есть ГИС о которых стоит говорить, или пользователи которых приходят на этот форум, за пределами тех 3-х вселенных, которые вы перечислили в конце.
Со своей стороны (далекой от нюансов разработки) замечу по поводу решения, что при прочих равных, наверно, имеет смысл выбирать наименее зависимое (от иного ПО), то которое сможет использовать большее кол-во людей. При использовании какого-либо одного подхода в будущем, при накоплении готовых решений отдельных задач, возможно, получится их каким-то образом комбинировать в последовательности (a la modelbuilder).