Добро пожаловать!

Войдите или зарегистрируйтесь сейчас!

Войти

Отвод площади в мапинфо

Тема в разделе "MapInfo", создана пользователем hisma86, 27 окт 2013.

  1. hisma86

    Регистрация:
    26 окт 2013
    Сообщения:
    7
    Симпатии:
    0
    Подскажите, пожалуйста, как определить площади отдельных выделов, входящих в полигон? Имеются TAB лесничества, надо делать отвод и определять какие выдела и квартала попадают в отвод и сколько площадь каждого. Делала при помощи SQL-запроса, получилось только выдела и их целую площадь выбрать, а мне надо только площадь, которая попадает в полигон? Очень необходимо, т.к. на работе каждый день это необходимо, приходится каждый раз разрезать объекты, а это не очень удобно.
    отвод.jpg
     
    #1
  2. nightlind1

    Форумчанин

    Регистрация:
    30 июл 2012
    Сообщения:
    189
    Симпатии:
    32
    Адрес:
    г.Омск-Нижневартовск
    Ну если делаете полигоном, то в чем проблема? Обвели нужный контур, щелкнули 2 раза на обведенный контур - получили площадь контура
     
    #2
  3. hisma86

    Регистрация:
    26 окт 2013
    Сообщения:
    7
    Симпатии:
    0
    Площадь контура, целиком, а мне надо что бы отдельно показывалась площадь (смотрите на картинку) болота и лесных земель, которые входят в полигон.
     
    #3
  4. thegeo

    Форумчанин

    Регистрация:
    19 фев 2012
    Сообщения:
    83
    Симпатии:
    15
    Думаю, что без программирования здесь не обойтись. В целом это может выглядеть так: выделяете полигон, нажимаете кнопку, получаете результат. Ну а если конкретно, то сразу возникают вопросы:
    - все выделы хранятся в одном слое (имя слоя всегда одно и то же или его надо выбирать)
    - структура этого слоя (имена и типы полей)
    - вид результата, например тип контура; площадь (кв. м, га, …)
    - вывод результата (в окно сообщений, в файл, …)
     
    #4
    hisma86 нравится это.
  5. hisma86

    Регистрация:
    26 окт 2013
    Сообщения:
    7
    Симпатии:
    0
    Да, все выдела входят в одну таблицу, выглядит она так:
    таблица.jpg
    Результат, в идеале, должен быть в виде таблицы, в которой указан квартал, выдел и площадь, которая (от общей площади) входит в полигон, в га до 0.0001ед. И чтобы результаты сразу выводились в эксель (ну или хотя бы таблица , которая экспортировалась в эксель). Я очень долека от программирования, поэтому буду очень признательна.
     
    #5
  6. thegeo

    Форумчанин

    Регистрация:
    19 фев 2012
    Сообщения:
    83
    Симпатии:
    15
    #6
  7. hisma86

    Регистрация:
    26 окт 2013
    Сообщения:
    7
    Симпатии:
    0
    Спасибо большое , сейчас сразу попробую и отпишусь о результатах.
     
    #7
  8. hisma86

    Регистрация:
    26 окт 2013
    Сообщения:
    7
    Симпатии:
    0
    Программа запускается, но не считает результаты: у меня появились вопросы:
    1. Откуда взять табл. Afrea? (Я просто открыла ее из вашего примера.);
    2. Полигон, который я строю, должен быть в косметике или в сохраненном слое?
    3. Таблица, на которой выдела, всегда должна называться "Угодья"?
    Буду ждать ответы.
     
    #8
  9. thegeo

    Форумчанин

    Регистрация:
    19 фев 2012
    Сообщения:
    83
    Симпатии:
    15
    По порядку:
    1. Таблица fArea это таблица для размещения результатов. Вы можете создать свою, с новым именем (в этом случае в файле Layers.txt имя fAreaнужно заменить на выбранное вами имя), только структура таблицы должна остаться прежней.
    2. Полигон может размещаться в любом слое кроме слоя с выделами. В принципе его можно размещать и там, но тогда в результатах будет появляться дополнительная строка с площадью этого полигона.
    3. Аналогично пункту 1.

    * Не понял что означает «не считает результаты». Вы писали «определить площади отдельных выделов, входящих в полигон», именно это и выполняется, т.е. площади выделов попадающих в полигон помещаются в таблицу результатов. Возможно, вы имели в виду, что результаты нужно просуммировать по какому-то признаку (порода, группа, категория)?

    ** Для размещения таблицы результатов в Excel достаточно использовать технику Копировать/Вставить (При активном окне списка выполнить Запрос/Выбрать полностью, далее Правка/Копировать. На листе Excel выполнить Правка/Вставить.).
     
    #9
  10. hisma86

    Регистрация:
    26 окт 2013
    Сообщения:
    7
    Симпатии:
    0
    Спасибо огромное уже разобралась , очень помогли мне, теперь процентов 50% моего рабочего времени освободилось. (раньше приходилось постоянно заниматься рутинной работой по разрезанию полигонов, выписыванию площадей на листок, а потом вбиванием их в эксель - а объекты иногда по 60 100 га).
     
    #10
  11. Artixz

    Регистрация:
    24 авг 2016
    Сообщения:
    3
    Симпатии:
    0
    hisma86,
    thegeo,
    Здравствуйте. Я также столкнулся с проблемой отвода площадей в MAPINFO. Я так понял, что проблема была решена. Решил и я воспользоваться предложенным решением. Но к сожалению ссылка http://dfiles.ru/files/arqv943ti не привела меня к необходимому файлу. Пожалуйста выложите снова действующую ссылку. Увы, самостоятельно решить обозначенную проблему поднятой в данном отвлетвлении форума не смогу. Ибо я не только не разбираюсь в программировании, но мало знаком с программным продуктом. С данной проблемой сталкиваюсь ежедневно, ибо работаю в ПТО лесозаготовительной компании. Помогите пожалуйста.....
     
    #11
  12. Roman1979

    Регистрация:
    24 авг 2016
    Сообщения:
    4
    Симпатии:
    0
    thegeo,
    Artixz,
    Здравствуйте. Я также столкнулся с обозначенной проблемой. Файл по ссылке отсутствует. Помогите...повторите ссылку пожалуйста.
     
    #12
  13. thegeo

    Форумчанин

    Регистрация:
    19 фев 2012
    Сообщения:
    83
    Симпатии:
    15
    Дело было три года назад. Еле нашел и, кажется то, что нужно. Повезло.
     

    Вложения:

    • forester.rar
      Размер файла:
      215,6 КБ
      Просмотров:
      68
    #13
  14. Элен

    Форумчанин

    Регистрация:
    10 дек 2010
    Сообщения:
    2.218
    Симпатии:
    1.802
    Никакого программирования не нужно в MapInfo это делается быстро, надо "разрезать" ваш отвод по границам выделов (выделяете свой объект- объект-сделать изменяемым-выделяете выделы(курсором)- объект- разрезать). Дальше Таблица(на панели инстументов) - обновить- выбираете наименование слоя- дальше(нижняя строка) -выбираете столбец-с условием(справа выбираете функцию aria, только поменяйте на м, по умолчанию стоит км)- и нажмите ок, и MapInfo посчитает площадь полигонов.
    Оффтоп
    Пишу по памяти, если не получится сбросьте файлы, посчитаю, дело 2 минут
     
    #14
  15. Roman1979

    Регистрация:
    24 авг 2016
    Сообщения:
    4
    Симпатии:
    0
    Спасибо за помощь. С таким подходом я буду быстро обрабатывать лесосеки, тем самым буду обладать свободным временем для изучения MAPINFO.
     
    #15
  16. Artixz

    Регистрация:
    24 авг 2016
    Сообщения:
    3
    Симпатии:
    0
    Спасибо большое. Вы правы - повезло! и не только в том, что Вы нашли файлик, но и в том что именно наткнулся на этот форум и на отзывчивых людей))). Честно сказать я не думал, что так оперативно получу помощь.
    --- Сообщения объединены, 25 авг 2016, Оригинальное время сообщения: 25 авг 2016 ---
    Большое спасибо. Теперь у меня есть два альтернативных способа решения поставленной задачи. Честно сказать я и на один то не рассчитывал)))))
     
    #16
  17. Roman1979

    Регистрация:
    24 авг 2016
    Сообщения:
    4
    Симпатии:
    0
    Здравствуйте thegeo. Пользуюсь вовсю вашей наработкой. Но приходится подгонять свою таблицу под структуру Вашего программного кода. У меня родилась "наглая"))) идея изменить программный код под структуру своей таблицы. Уперлась идея в исходный код)))) Декомпелировать не могу))) не нашел проги. Но очень бы хотелось изменить программный код под свою структуру таблицы. Если это возможно скиньте ссылку на файл в формате md.
     
    #17
  18. thegeo

    Форумчанин

    Регистрация:
    19 фев 2012
    Сообщения:
    83
    Симпатии:
    15
    Попробуйте. Думаю это будет не сложно.
     

    Вложения:

    • forester.rar
      Размер файла:
      2 КБ
      Просмотров:
      24
    #18
  19. Roman1979

    Регистрация:
    24 авг 2016
    Сообщения:
    4
    Симпатии:
    0
    <p>
    </p><p><br /></p>
    --- Сообщения объединены, 5 окт 2016, Оригинальное время сообщения: 5 окт 2016 ---
    Здравствуйте. Спасибо Вам большое за первоначальный код. Не думал я что моя проблема приведет меня к изучению Visul Basic::blink.gif:: Помимо игр с вашим первоисточником теперь я в свободное время стал изучать программирование. По часу стараюсь каждый день уделять этому время, причем в рабочее время::biggrin24.gif::. От начальства держу в полном секрете частичную автоматизацию процесса обсчета лесосек::biggrin24.gif::.
     
    #19
  20. thegeo

    Форумчанин

    Регистрация:
    19 фев 2012
    Сообщения:
    83
    Симпатии:
    15
    Roman1979,
    Используемый в прилагаемом коде язык именуется как MapBasic и применим только в рамках MapInfo. Visual Basic это несколько другое и в настоящее время актуальна версия VisualBasic.NET.
    Для работы с MapBasic имеет смысл использовать MapBasic IDE (https://mustafaozcetin.wordpress.com/mapbasic/MapBasicIDE-En/). Будет также полезна информация в прилагаемом архиве.
     

    Вложения:

    #20

Поделиться этой страницей

  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление