1

Тема: VBS: работа с консольной программой orginfo

Здравствуйте, форумчане.
Пришёл я к вам с идейкой одной - упрощения работы с консольной программой orginfo
Я так думаю использовать VBS будет проще всего.
Для чего используется программа orginfo - вывод на экран или в текстовый файл информации о shape файле. Для меня она интересна тем, что выводит координаты объектов нарисованных в данном шейпе. Пользуюсь я ей давно. Для того, чтобы получить результат - приходится каждый раз руками вбивать путь до нужного шейп файла и путь с названием файла куда сохранить результат.
Выгляит это примерно так:

ogrinfo.exe -al путь\к\файлу\1.shp > куда\сохраняем\результат\1_point.txt

Мне хотелось бы упростить это и при помощи скрипта сделать так, чтобы нужный файл можно было выбрать через диалог выбора файла. Здесь я почитал, что это возможно в VBS.
Вот пример вывод программы orginfo

INFO: Open of `1_point.shp'
      using driver `ESRI Shapefile' successful.

Layer name: 1_point
Geometry: Point
Feature Count: 5
Extent: (51.492453, 62.746093) - (51.520140, 62.757243)
Layer SRS WKT:
GEOGCS["GCS_Pulkovo_1942",
    DATUM["Pulkovo_1942",
        SPHEROID["Krasovsky_1940",6378245.0,298.3]],
    PRIMEM["Greenwich",0.0],
    UNIT["Degree",0.0174532925199433]]
Id: Integer (6.0)
OGRFeature(1_point):0
  Id (Integer) = 0
  POINT (51.492453311330713 62.753389025492581)

OGRFeature(1_point):1
  Id (Integer) = 0
  POINT (51.506102919415113 62.757242537754941)

OGRFeature(1_point):2
  Id (Integer) = 0
  POINT (51.520139578304978 62.749826402423409)

OGRFeature(1_point):3
  Id (Integer) = 0
  POINT (51.502170334364216 62.7460932799464)

OGRFeature(1_point):4
  Id (Integer) = 0
  POINT (51.50494336287251 62.751651487743267)

Координаты выводятся в зависимости от геометрии слоя - линейный, полигональный или точечный. Т.е., например, для полигонального слоя вместо надписи POINT с последующей координатой точки, будет слово POLYGON с набором координат углов полигона.

Пример вывода информации по полигональному объекту:

INFO: Open of `3_polygon.shp'
      using driver `ESRI Shapefile' successful.

Layer name: 3_polygon
Geometry: Polygon
Feature Count: 1
Extent: (51.489175, 62.746164) - (51.512099, 62.756772)
Layer SRS WKT:
GEOGCS["GCS_Pulkovo_1942",
    DATUM["Pulkovo_1942",
        SPHEROID["Krasovsky_1940",6378245.0,298.3]],
    PRIMEM["Greenwich",0.0],
    UNIT["Degree",0.0174532925199433]]
Id: Integer (6.0)
OGRFeature(3_polygon):0
  Id (Integer) = 0
  POLYGON ((51.494000206994841 62.755212880273952,51.512099422620885 62.756772254821215,51.51151348353271 62.747533430387108,51.496215479026027 62.746164019087651,51.489174602817954 62.750359066241955,51.494000206994841 62.755212880273952))

Для чего я собственно написал пример вывода программы - можно каким-то образом средствами VBS извлекать координаты и пересчитывать по формуле из десятичных в градусы с минутами и секундами с последующим выводом этого хозяйства в текстовый файл?

Конечно, если это всё сложно - я буду рад и простому диалогу выбора файла для обработки orginfo с последующим автомотическим сохранением файла в папку с исходным файлом с тем же названием, только в формате ТХТ.

Я так понимаю, что скрипт должен начинаться с

Set objDialog = CreateObject("SAFRCFileDlg.FileOpen")
intResult = objDialog.OpenFileOpenDlg

потом - как правильно не знаю - пишем просто комнаду как в командной строке?

ogrinfo.exe -al а здесь как-то вставить полученный путь до файла > и результат сохранить с тем же именем по этому пути с расширением txt.

Или я совсем не правильно представляю вид скрипта?

2

Re: VBS: работа с консольной программой orginfo

OFF:

Мне хотелось бы упростить это и при помощи скрипта сделать так, чтобы нужный файл можно было выбрать через диалог выбора файла.

Это, по Вашему, упростить? Это же куда больше телодвижений, нежели в Far Manager'е или в Total Commander'е.

3

Re: VBS: работа с консольной программой orginfo

А можно сделать как в гноме на подобии nautlus-scripts ? Чтобы жмык на файле правой кнопкой мыши - выбрал из меню свой скрипт и выполнил - и в момент получил результат? Я просто не в курсе как это в виндоус делается, поэтому и пишу как я это представляю в этой системе.
в линухе скрипт будет иметь вид.. что-то вроде
ogrinfo -al "$1" > ''$1.txt"

4

Re: VBS: работа с консольной программой orginfo

Можно: Настройка контекстного меню Проводника. В этом случае использование диалога для указания файла для сохранения будет разумным.