
Из раза в раз переписывается код, копируются глюки, баги, и прочая живность.
Возможно, не секрет, что такие действия:
1) добавление слоя постгис (если важно, кодировка utf8)
2) экспорт слоя в shp
дают размер текстовых полей в shp 80 символов длиной. (а может я что и не так делаю, но факт есть факт)
экспорт нужен в кодировке win1251
база в utf8
Путем копания в манах, перелопачивания интернета, был найден простой выход. Очень простой выход.
Код: Выделить всё
PGCLIENTENCODING=WIN1251 pgsql2shp -h 127,0,0,1 -P pgpassword -u postgres -f exportshp postgistable tochk_point
А мысль вот какая. Как я прочитал, юниксвэй, это когда для конкретного действия есть конкретная утилита, и использовать ее можно откуда угодно. При этом она обеспечивает весь нужный функционал по выполнению данной конкретной задачи (если немного не так или кто не согласен, прошу рассматривать это не как определение, а как предпосылку к следующим мыслям).
Если принять это, и использовать это, понадобится для экспорта слоя просто вызвать нужную утильку с нужными параметрами.
Для экспорта - одну, для импорта - другую... и так далее.
В связи с этим мысль. А если иметь контекстное меню для каждого типа слоя (например, слой БД, слой shp, растровый слой и т.п.) настраиваемое контекстное меню.
И чтобы можно было утильке запускаемой передавать по выбору некие параметры, например имя слоя, путь к файлу и т.п.
Ведь это расширение возможностей, может, стОит подумать и обсудить?