Из двух в одно...

0 голосов
спросил 25 Сен, 07 от yashchuck (1,020 баллов) в категории Программные продукты Esri
    Добрый день! Подскажите мне, есть два векторных слоя (температура и ndmi (значение влажноности)). Они накладываются друг на друга, но не везде. Вот нужно, "вытянуть" те места, где они пересекаются в отдельный слой. Как это сделать??? У меня ArcGIS 9.0. Заранее благодарен. image

26 Ответы

0 голосов
ответил 12 Окт, 07 от yashchuck (1,020 баллов)
    Прошу прощения, что долго не отписывал - был в отъезде. Кстати, AndreyL, спасибо Вам за такие информативные и понятные ответы! Только что пробовал по нвшей старой схеме:
1. Перевёл свои "плавающие значения" в "целые" (Int).
2. Получил новый растр с целыми значениями под назв. - "Вычисление". Далее классифицирую этот растр "Вашим методом", получаю этот же растр, но только уже прокласифицирован, т.е. 2 значения (закрашенной области): [0 - 308] и [308 - 315]. На изображении чётко видно, после подбора соответствующих цветов, выделенные места.
3. Далее то, что получилось конвертирую в полигональный растр (как Вы говорили). Мои данные: Входной растр - Вычисление (назв. растра); Поле - Value (где значения темп-ры); Выходной тип геометрии - Полигон; Галку в Генерализовать линии оставляю по умолчанию и жму ОК. Создаётся *.shp, как и заказывал, столбцы в атрибутах получились следующие - FID, Shape, ID, GRIDCODE. А где же температура? image Может я не так конвертну или ещё что-то...? Подскажите, спасибо!
0 голосов
ответил 12 Окт, 07 от AndreyL (5,420 баллов)
Классификация совершенно нормально работает с плавающей точкой, так что если Вы пошли по пути классификации, то конвертировать в целые не было необходимости. Это нужно было бы, если бы Вы напрямую конвертировали растр температур в шейп.

После классификации Вы должны были получить растр со значениями 1 и 2, причем целочисленными, при этом 1 меньше заданной температуры, а 2 – больше. После преобразования в полигональный слой эти значения как раз и запишутся в поле GRIDCODE. Нарисуйте растр, раскрасьте его цветом в соответствии с температурой. Наложите сверху полигональный слой классификации, раскрасьте в соответствии с полем GRIDCODE. Посмотрите, каким температурам отвечают разные полигоны. Что такое [0 - 308] и [308 - 315]  я не совсем понял.
0 голосов
ответил 12 Окт, 07 от yashchuck (1,020 баллов)
    Да, действительно, после классыфикации значения стают целочисленными (но только после того, как я сам ввёл критерии).
"Что такое [0 - 308] и [308 - 315] я не совсем понял". - Мои значения температуры в пределах от 0 до 315. Чтобы получить нормальную темперетуру в Цельсиях, необходимо отнять 273 (Кельвин).
После классификации Вы должны были получить растр со значениями 1 и 2..., т.е. вместо реальных значений нужно просто прописать в "(синим на рисунке)" 1 и 2??? А у меня прописывается после классификации два значения, но только пределы (напр. 0 - 308 и 309 - 315), вместо 1 и 2.
0 голосов
ответил 12 Окт, 07 от yashchuck (1,020 баллов)
    Только что столкнулся с ещё одной проблемой: у меня все значения влажности ниже ноля, при преобразовании их в целочисленные, значения преврещаютя в ноль. Что делать, ведь с не целочисленными я не смогу конвертировать их в вектора? Спасибо за ответы!
0 голосов
ответил 15 Окт, 07 от yashchuck (1,020 баллов)
    Ну, что ж......, спасибо и на том. Помог очень АндрейЛ!
0 голосов
ответил 15 Окт, 07 от yashchuck (1,020 баллов)
    Только что нашёл выход!!! Взяв все "+" и "-" я решил эту задачку! Спасибо за помощь!
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...