lalex писал(а):наиболее внятные речи и цельные построения удалось услышать от сторонников "целочисленных" координатных пространств - нечто среднее между вектором и растром, не помню. Ктонить слышал, может, об этой кухне?
Да, Анна, задач много и дробятся они бесконечно, но разве это означает окончание спора? Просто нам так и не удалось вопрос сформулировать, а тема-то интересная не только теоретикам. Давайте вернемся к тому, что базовых операций не так уж много на низком уровне - пересечение, проверка вхождения точки в многоугольник, выяснение соседства/близости объектов и т.п. все это - базовая координатная геометрия для любого пакета ГИС или КАД. Где удобнее решать такие низкоуровневые задачи, в какой среде? И вот тут есть интересные примеры, которые наводят на мысль, что вопрос автора темы не так уж бессмысленен в его "чистом виде" - что главнее... и т.п. Попробую объяснить:
Если предположить гипотетически некоторую целочисленную среду (или дробночисленную, но с заданной дискретностью, что то же самое), то такая среда будет иметь некоторые признаки растрового пространства. Согласитесь, что если поле координат по сути матрица целых чисел, как бы ячеек, то это очень похоже на растр. Появляется возможность иметь адекватную растеризацию вектора - при одних и тех же координатах растр отрезка будет всегда одинаковым, в отличие от сред, где координаты недискретные (если не менять алгоритм, конечно - он тоже должен быть "зашит" в такой системе).
Итак, имеем вектор в виде описания и его растеризованный образ, одновременно, для всех объектов системы - линий, полигонов и т.п. Растр играет роль индекса! Появляется возможность решать ОЧЕНЬ быстро многие типовые геометрические задачи. Подсчет площадей, например, или вхождение точки в полигон становится тривиальным. Пересечение двух объектов вобще просто выборка по базе растровых данных, ну и многое другое. Система начинает работать быстро и адекватно. Конечно, многие задачи придется решать традиционным способом, конечно, точность ограничена дискретностью, но... Интересно, область таких тривиальных операций примерно соответствует области ГИС, где геометрия проста в своей основе, и где не требуется супер-точности!
Реального примера такой системы я не знаю, но в свое время знакомые разработчики очень "болели" такими идеями. Почти все современные системы не целочисленные, а "плавающие". В некоторых, например, Microstation, дискретность все-таки задается явно для пространства, но в ГИС предпочитают дискретность задавать де-факто, в момент выполнения отдельной операции. Соответственно на больших массивах все тормозит невероятно, т.к. идет итеративный опрос всего массива данных. Решать это предполагалось индексированием объектов, однако только сейчас, кажется, с внедрением БГД, это более-менее заработало. недискретность приводит к тому, что задачи подсчета дают всегда некоторый разброс, а задачи соотвествия не решаются без некоторого допуска.
Интересно было б знать мнение коллег, если кто-то задавался такими мыслями. Полностью растровая система, конечно, нонсенс, растр в чистом виде это либо исходные данные либо конечный отпечаток, мне кажется. Мыслим мы все-таки векторно. Хотя...
Итак, глядим в корень? Какой должно быть мат. ядро идеальной ГИС- (да и любой пространственной) системы для выполнения типовых операций? Чисто векторной, чисто растровой, или гибридной?Плавающей или целочисленной?