Способ и сервер сохранения на машиночитаемом носителе двухмерных объектов
Иллюстрации
Показать всеИзобретение относится к области хранения двухмерных объектов. Технический результат – обеспечение сокращения требуемых ресурсов памяти посредством сохранения ссылки на общую часть периметра. Способ сохранения на носителе двухмерных объектов включает: получение первого двухмерного объекта; сохранение на носителе первого периметра посредством сохранения первой части первого периметра и второй части первого периметра; получение второго двухмерного объекта, причем вторая часть периметра является общей частью периметра для первого и второго двухмерных объектов; проверку логической иерархии второго и первого двухмерных объектов, и при включении второго двухмерного объекта в первый двухмерный объект, сохранение на носителе второго периметра посредством сохранения третьей части периметра и ссылки на вторую часть первого периметра; в ответ на то, что второй и первый двухмерные объекты являются соседними двухмерными объектами, сохранение на носителе второго периметра посредством сохранения третьей части периметра и ссылки на вторую часть первого периметра, при этом ссылка включает инструкцию интерпретации крайних точек второй части первого периметра. 2 н. и 10 з.п. ф-лы, 13 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Настоящее решение относится к способу и системе хранения двух двухмерных объектов.
УРОВЕНЬ ТЕХНИКИ
[0002] В компьютерных технологиях существует необходимость в хранении двухмерных объектов, которые могут быть далее отображены на экране компьютерного устройства. Эти двухмерные объекты могут представлять собой любые графические объекты, такие как карты или другие изображения. Эти изображения могут приходить из множества источников, например, это могут быть отсканированные изображения, загруженные изображения с удаленного сервера и тому подобное.
[0003] В компьютерной графике традиционно используются две формы представления изображения: растровая и векторная. Естественно, в конкретных обстоятельствах может существовать необходимость перевести изображение из одного формата представления в другой. Например, в патенте US 6639593 В1 (28.10.2003), озаглавленном «Преобразование растровых объектов в полигоны» (англ. “Converting bitmap objects to polygons”), в параграфе «Уровень техники» описано, что «иногда удобно или необходимо получить векторное изображение одной или нескольких областей растрового изображения, например, для изменения формы растровой области, для изменения ее размера, для треппинга объекта или для обрезания векторного объекта по форме растровой маски. Одним из способов получения векторного представления является очерчивание границы растрового объекта попиксельно, чтобы создать замкнутый контур, или полигон, соответствующий растровому объекту».
[0004] Обычно при сохранении нескольких двухмерных объектов, это сохранение происходит независимо, что может потребовать значительных ресурсов памяти от машиночитаемых носителей информации.
[0005] Кроме того, некоторые двухмерные объекты могут обладать иерархией. Например, карта объекта представляет штат Калифорния, который является частью США, а США является частью Северной Америки. Во многих случаях есть необходимость сохранять двухмерные объекты вместе с информацией об их взаимной иерархии.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0006] Таким образом, задачей предлагаемого решения является устранение по меньшей мере некоторых недостатков, присущих известному уровню техники.
[0007] Одним объектом настоящего решения является способ сохранения по меньшей мере двух двухмерных объектов на машиночитаемом носителе, способ выполняется на вычислительном устройстве, которое обладает доступом к информационному носителю, способ включает в себя: (1) получение первого двухмерного объекта, который будет сохранен на информационном (машиночитаемом) носителе, первый периметр первого двухмерного объекта включает в себя первую часть периметра и вторую часть периметра; (2) сохранение первого периметра на информационном устройстве следующим образом: (i) сохранение первой части периметра в виде первого отрезка, соединяющего две крайние точки первой части периметра, в котором первая крайняя точка первой части периметра сохраняется как начальная крайняя точка первой части периметра, а вторая крайняя точка первой части периметра сохраняется как конечная крайняя точка первой части периметра, (и) сохранение второй части первого периметра как второго отрезка, соединяющего две крайние точки второй части периметра, в котором первая крайняя точка второй части периметра сохраняется как начальная крайняя точка второй части периметра, а вторая крайняя точка второй части периметра сохраняется как конечная крайняя точка второй части периметра, причем конечная крайняя точка первой части периметра является начальной крайней точкой второй части периметра; и (3) получение второго двухмерного объекта, который будет сохранен на информационном носителе, второй периметр второго двухмерного объекта включает в себя вторую часть периметра и третью часть периметра, вторая часть периметра является первой общей частью периметра первого двухмерного объекта и второго двухмерного объекта; (4) проверка логической иерархии второго двухмерного объекта и первого двухмерного объекта, и (i) в ответ на то, что второй двухмерный объект включен в первый двухмерный объект, сохранение на информационном носителе второго периметра следующим образом: сохранение третьей части периметра как третьего отрезка, соединяющего две крайние точки третьей части периметра, в котором первая крайняя точка третьей части периметра сохраняется как начальная крайняя точка третьей части периметра, а вторая крайняя точка третьей части периметра сохраняется как конечная крайняя точка третьей части периметра, и сохранение ссылки на вторую часть периметра первого периметра; (ii) в ответ на то, что второй двухмерный объект и первый двухмерный объект являются соседними двухмерными объектами, сохранение на информационном носителе второго периметра следующим образом: сохранение третьей части периметра в виде третьего отрезка, соединяющего две крайние точки третьей части периметра, в котором первая крайняя точка третьей части периметра сохраняется как начальная крайняя точка третьей части периметра, а вторая крайняя точка третьей части периметра сохраняется как конечная точка третьей части периметра, и сохранение ссылки на вторую часть первого периметра, ссылка включает в себя инструкции интерпретировать начальную крайнюю точку второй части первого периметра как конечную крайнюю точку второй части второго периметра, и интерпретировать конечную крайнюю точку второй части первого периметра как начальную крайнюю точку второй части второго периметра.
[0008] В некоторых вариантах осуществления, (1) крайние точки соответствующего периметра соединены соответствующими отрезками в первом выбранном направлении вращения, начиная с крайней точки и заканчивая этой же крайней точкой, и (2) первое направление вращение выбирается из: (а) вращения по часовой стрелке и (b) вращения против часовой стрелки.
[0009] В некоторых вариантах, по меньшей мере один из (а) первого двухмерного объекта и (b) второго двухмерного объекта является полигональным объектом.
[0010] В некоторых вариантах осуществления, каждый из первого и второго двухмерного объекта является частью множества двухмерных объектов, и множество из двух двухмерных объектов является множеством картографических объектов.
[0011] В некоторых вариантах осуществления, сохранение на информационном носителе по меньшей мере одной выбранной: первой части периметра, второй части периметра и третьей части периметра, является сохранением по меньшей мере в одной базе данных.
[0012] Другим объектом настоящего решения является сервер. Сервер включает в себя: информационный носитель; процессор, функционально соединенный с информационным носителем, и выполненный с возможностью сохранять объекты на информационном носителе, процессор выполнен с возможностью осуществлять: (1) получение первого двухмерного объекта, который будет сохранен на информационном носителе, первый периметр первого двухмерного объекта включает в себя первую часть периметра и вторую часть периметра; (2) сохранение первого периметра на информационном устройстве следующим образом: (i) сохранение первой части периметра в виде первого отрезка, соединяющего две крайние точки первой части периметра, в котором первая крайняя точка первой части периметра сохраняется как начальная крайняя точка первой части периметра, а вторая крайняя точка первой части периметра сохраняется как конечная крайняя точка первой части периметра, (ii) сохранение второй части первого периметра как второго отрезка, соединяющего две крайние точки второй части периметра, в котором первая крайняя точка второй части периметра сохраняется как начальная крайняя точка второй части периметра, а вторая крайняя точка второй части периметра сохраняется как конечная крайняя точка второй части периметра, причем конечная крайняя точка первой части периметра является начальной крайней точкой второй части периметра; и (3) получение второго двухмерного объекта, который будет сохранен на информационном носителе, второй периметр второго двухмерного объекта включает в себя вторую часть периметра и третью часть периметра, вторая часть периметра является первой общей частью периметра первого двухмерного объекта и второго двухмерного объекта; (4) проверка логической иерархии второго двухмерного объекта и первого двухмерного объекта, и (i) в ответ на то, что второй двухмерный объект включен в первый двухмерный объект, сохранение на информационном носителе второго периметра следующим образом: сохранение третьей части периметра как третьего отрезка, соединяющего две крайние точки третьей части периметра, в котором первая крайняя точка третьей части периметра сохраняется как начальная крайняя точка третьей части периметра, а вторая крайняя точка третьей части периметра сохраняется как конечная крайняя точка третьей части периметра, и сохранение ссылки на вторую часть периметра первого периметра; (ii) в ответ на то, что второй двухмерный объект и первый двухмерный объект являются соседними двухмерными объектами, сохранение на информационном носителе второго периметра следующим образом: сохранение третьей части периметра в виде третьего отрезка, соединяющего две крайние точки третьей части периметра, в котором первая крайняя точка третьей части периметра сохраняется как начальная крайняя точка третьей части периметра, а вторая крайняя точка третьей части периметра сохраняется как конечная точка третьей части периметра, и сохранение ссылки на вторую часть первого периметра, ссылка включает в себя инструкции интерпретировать начальную крайнюю точку второй части первого периметра как конечную крайнюю точку второй части второго периметра, и интерпретировать конечную крайнюю точку второй части первого периметра как начальную крайнюю точку второй части второго периметра.
[0013] В некоторых вариантах осуществления сервера, (1) крайние точки соответствующего периметра соединены соответствующими отрезками в первом выбранном направлении вращения, начиная с крайней точки и заканчивая этой же крайней точкой, и (2) первое направление вращение выбирается из: (а) вращения по часовой стрелке и (b) вращения против часовой стрелки.
[0014] В некоторых вариантах, по меньшей мере один из (а) первого двухмерного объекта и (b) второго двухмерного объекта является полигональным объектом.
[0015] В некоторых вариантах осуществления сервера, каждый из первого и второго двухмерного объекта является частью множества двухмерных объектов, и множество из двух двухмерных объектов является множеством картографических объектов.
[0016] В некоторых вариантах, сохранение на информационном носителе по меньшей мере одной выбранной: первой части периметра, второй части периметра и третьей части периметра, является сохранением по меньшей мере в одной базе данных.
[0017] Другим объектом настоящего решения является способ восстановления логической иерархии по меньшей мере двух двухмерных объектов, первый двухмерный объект обладает первым периметром, второй двухмерный объект обладает вторым периметром, первый и второй периметры включают в себя части периметра, каждая часть периметра является отрезком, соединяющим две крайние точки соответствующей части периметра, крайние точки в первом периметре соединены соответствующими отрезками в первом выбранном направлении вращения, крайние точки второго периметра соединены соответствующими отрезками в первом выбранном направлении вращения, способ выполняется на вычислительном устройстве. Способ включает в себя: (1) получение первого и второго двухмерных объектов; (2) определение того, обладают ли первый и второй двухмерные объекты первой общей частью периметра; (3) в ответ на определение того, что первый двухмерный объект и второй двухмерный объект обладают первой общей частью периметра, определение того, соединены ли оба - первый и второй двухмерный объекты - в одном направлении первой общей частью периметра; (4) в ответ на то, что последовательность двух крайних точек первой общей части периметра в отношении обоих объектов - первого и второго двухмерного объекта - соединена в одном и том же направлении, (i) определение размеров первого двухмерного объекта и второго двухмерного объекта, и (ii) определение того, что меньший двухмерный объект, выбранный из: первого двухмерного объекта и второго двухмерного объекта, включен в больший двухмерный объект, выбранный из другого из: первого двухмерного объекта и второго двухмерного объекта; и (5) в ответ на то, что последовательность двух крайних точек первой общей части периметра, в отношении обоих из первого двухмерного объекта и второго двухмерного объекта, соединены в противоположных направлениях, определение того, что первый и второй двухмерный объекты являются соседними.
[0018] В некоторых вариантах осуществления, в которых второй двухмерный объект включен в первый двухмерный объект, способ дополнительно включает в себя получение третьего двухмерного объекта, причем третий двухмерный объект обладает второй общей частью периметра со вторым двухмерным объектом, третий двухмерный объект не обладает общей частью периметра с первым двухмерным объектом, способ дополнительно включает в себя: (1) определение того, соединены ли оба - третий двухмерный объект и второй двухмерный объект - в одном направлении второй общей частью периметра; и (2) в ответ на то, что последовательность двух крайних точек второй общей части периметра, в отношении обоих из третьего двухмерного объекта и второго двухмерного объекта, соединены в противоположных направлениях: (i) определение того, что третий двухмерный объект и второй двухмерный объект являются соседними, и (ii) определение того, что третий двухмерный объект включен в первый двухмерный объект.
[0019] В некоторых вариантах осуществления, в которых первый и второй двухмерный объекты являются частью множества двухмерных объектов, способ включает определение логической иерархии по меньшей мере двух двухмерных объектов, в которых ранг соответствующего двухмерного объекта обратно пропорционален числу других двухмерных объектов, которые включает в себя соответствующий двухмерный объект.
[0020] В некоторых вариантах осуществления, направление вращения выбирается из: (а) вращения по часовой стрелке и (b) вращения против часовой стрелки.
[0021] В некоторых вариантах осуществления, по меньшей мере один из (а) первого двухмерного объекта и (b) второго двухмерного объекта является полигональным объектом.
[0022] В некоторых вариантах осуществления, первый двухмерный объект и второй двухмерный объект являются частью множества двухмерных объектов, и множество из двух двухмерных объектов является множеством картографических объектов.
[0023] В некоторых вариантах осуществления, до получения первого периметра и второго периметра и определения того, обладают ли первый и второй двухмерные объекты первой общей частью периметра, способ дополнительно включает в себя: (1) получение первого двухмерного объекта, который будет сохранен на информационном носителе, первый периметр первого двухмерного объекта включает в себя первую часть периметра и вторую часть периметра; (2) сохранение первого периметра на информационном устройстве следующим образом: (i) сохранение первой части периметра в виде первого отрезка, соединяющего две крайние точки первой части периметра, в котором первая крайняя точка первой части периметра сохраняется как начальная крайняя точка первой части периметра, а вторая крайняя точка первой части периметра сохраняется как конечная крайняя точка первой части периметра, (ii) сохранение второй части первого периметра как второго отрезка, соединяющего две крайние точки второй части периметра, в котором первая крайняя точка второй части периметра сохраняется как начальная крайняя точка второй части периметра, а вторая крайняя точка второй части периметра сохраняется как конечная крайняя точка второй части периметра, причем конечная крайняя точка первой части периметра является начальной крайней точкой второй части периметра; и (3) получение второго двухмерного объекта, который будет сохранен на информационном носителе, второй периметр второго двухмерного объекта включает в себя вторую часть и третью часть периметра, вторая часть периметра является первой общей частью периметра первого и второго двухмерных объектов; (4) проверка логической иерархии второго и первого двухмерных объектов, и (i) в ответ на то, что второй двухмерный объект включен в первый двухмерный объект, сохранение на информационном носителе второго периметра следующим образом: сохранение третьей части периметра как третьего отрезка, соединяющего две крайние точки третьей части периметра, в котором первая крайняя точка третьей части периметра сохраняется как начальная крайняя точка третьей части периметра, а вторая крайняя точка третьей части периметра сохраняется как конечная крайняя точка третьей части периметра, и сохранение ссылки на вторую часть периметра первого периметра; (ii) в ответ на то, что второй и первый двухмерные объекты являются соседними двухмерными объектами, сохранение на информационном носителе второго периметра следующим образом: сохранение третьей части периметра в виде третьего отрезка, соединяющего две крайние точки третьей части периметра, в котором первая крайняя точка третьей части периметра сохраняется как начальная крайняя точка третьей части периметра, а вторая крайняя точка третьей части периметра сохраняется как конечная точка третьей части периметра, и сохранение ссылки на вторую часть первого периметра, ссылка включает в себя инструкции интерпретировать начальную крайнюю точку второй части первого периметра как конечную крайнюю точку второй части второго периметра, и интерпретировать конечную крайнюю точку второй части первого периметра как начальную крайнюю точку второй части второго периметра.
[0024] Другим объектом настоящего решения является сервер. Сервер включает в себя: информационный носитель; процессор, функционально соединенный с информационным носителем, и выполненный с возможностью сохранять объекты на информационном носителе, процессор выполнен с возможностью осуществлять: (1) получение первого и второго двухмерных объектов; (2) определение того, обладают ли первый и второй двухмерные объекты первой общей частью периметра; (3) в ответ на определение того, что первый и второй двухмерные объекты обладают первой общей частью периметра, определение того, соединены ли оба - первый и второй двухмерные объекты - в одном направлении первой общей частью периметра; (4) в ответ на то, что последовательность двух крайних точек первой общей части периметра в отношении обоих объектов - первого и второго двухмерного объектов - соединена в одном и том же направлении, (i) определение размеров первого и второго двухмерных объектов, и (ii) определение того, что меньший двухмерный объект, выбранный из: первого и второго двухмерных объектов, включен в больший двухмерный объект, выбранный из другого из: первого и второго двухмерного объекта; и (5) в ответ на то, что последовательность двух крайних точек первой общей части периметра, в отношении обоих из первого и второго двухмерного объекта, соединены в противоположных направлениях, определение того, что первый двухмерный объект и второй двухмерный объект являются соседними.
[0025] В некоторых вариантах осуществления сервера, в которых второй двухмерный объект включен в первый двухмерный объект, процессор выполнен с возможностью осуществлять получение третьего двухмерного объекта, причем третий двухмерный объект обладает второй общей частью периметра со вторым двухмерным объектом, третий двухмерный объект не обладает общей частью периметра с первым двухмерным объектом, процессор выполнен с возможностью осуществлять: (1) определение того, соединены ли оба - третий и второй двухмерные объекты - в одном направлении второй общей частью периметра; и (2) в ответ на то, что последовательность двух крайних точек второй общей части периметра, в отношении обоих из третьего и второго двухмерных объектов, соединены в противоположных направлениях: (i) определение того, что третий и второй двухмерные объекты являются соседними, и (ii) определение того, что третий двухмерный объект включен в первый двухмерный объект.
[0026] В некоторых вариантах осуществления сервера, процессор выполнен с возможностью осуществлять определение логической иерархии по меньшей мере двух двухмерных объектов, являющихся частью множества двухмерных объектов, в котором ранг соответствующего двухмерного объекта обратно пропорционален числу других двухмерных объектов, которые включает этот соответствующий двухмерный объект.
[0027] В некоторых вариантах осуществления сервера, направление вращения выбирается из: (а) вращения по часовой стрелке и (b) вращения против часовой стрелки.
[0028] В некоторых вариантах, по меньшей мере один из (а) первого двухмерного объекта и (b) второго двухмерного объекта является полигональным объектом.
[0029] В некоторых вариантах сервера, первый двухмерный объект и второй двухмерный объект являются частью множества двухмерных объектов, и множество из двух двухмерных объектов является множеством картографических объектов.
[0030] В некоторых вариантах осуществления сервера, процессор выполнен с возможностью осуществлять: (1) получение первого двухмерного объекта, который будет сохранен на информационном носителе, первый периметр первого двухмерного объекта включает в себя первую часть периметра и вторую часть периметра; (2) сохранение первого периметра на информационном устройстве следующим образом: (i) сохранение первой части периметра в виде первого отрезка, соединяющего две крайние точки первой части периметра, в котором первая крайняя точка первой части периметра сохраняется как начальная крайняя точка первой части периметра, а вторая крайняя точка первой части периметра сохраняется как конечная крайняя точка первой части периметра, (ii) сохранение второй части первого периметра как второго отрезка, соединяющего две крайние точки второй части периметра, в котором первая крайняя точка второй части периметра сохраняется как начальная крайняя точка второй части периметра, а вторая крайняя точка второй части периметра сохраняется как конечная крайняя точка второй части периметра, причем конечная крайняя точка первой части периметра является начальной крайней точкой второй части периметра; и (3) получение второго двухмерного объекта, который будет сохранен на информационном носителе, второй периметр второго двухмерного объекта включает вторую часть периметра и третью часть периметра, вторая часть периметра является первой общей частью периметра первого и второго двухмерных объектов; (4) проверка логической иерархии второго и первого двухмерных объектов, и (i) в ответ на то, что второй двухмерный объект включен в первый двухмерный объект, сохранение на информационном носителе второго периметра следующим образом: сохранение третьей части периметра как третьего отрезка, соединяющего две крайние точки третьей части периметра, в котором первая крайняя точка третьей части периметра сохраняется как начальная крайняя точка третьей части периметра, а вторая крайняя точка третьей части периметра сохраняется как конечная крайняя точка третьей части периметра, и сохранение ссылки на вторую часть периметра первого периметра; (ii) в ответ на то, что второй и первый двухмерные объекты являются соседними двухмерными объектами, сохранение на информационном носителе второго периметра следующим образом: сохранение третьей части периметра в виде третьего отрезка, соединяющего две крайние точки третьей части периметра, в котором первая крайняя точка третьей части периметра сохраняется как начальная крайняя точка третьей части периметра, а вторая крайняя точка третьей части периметра сохраняется как конечная точка третьей части периметра, и сохранение ссылки на вторую часть первого периметра, ссылка включает в себя инструкции интерпретировать начальную крайнюю точку второй части первого периметра как конечную крайнюю точку второй части второго периметра, и интерпретировать конечную крайнюю точку второй части первого периметра как начальную крайнюю точку второй части второго периметра.
[0031] В контексте настоящего описания, если конкретно не указано иное, «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным. В контексте настоящего описания использование выражения «сервер» не означает, что каждая задача (например, полученные инструкции или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может являться одним сервером или несколькими серверами, оба варианта включены в выражение «по меньшей мере один сервер».
[0032] В контексте настоящего описания, если конкретно не указано иное, термин «база данных» подразумевает любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, которое выполняет процесс, который сохраняет или использует информацию, хранящуюся в базе данных, или она может находиться на отдельном оборудовании, например, выделенном сервере или множестве серверов.
[0033] В контексте настоящего описания, если конкретно не указано иное, термин «информация» включает в себя информацию любую информацию, включая информацию, которая может храниться в базе данных. Таким образом, информация включает в себя, среди прочего, аудиовизуальные произведения (фотографии, видео, звукозаписи, презентации и т.д.), данные (картографические данные, данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы и т.д.
[0034] В контексте настоящего описания, если конкретно не указано иное, термин «компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).
[0035] В контексте настоящего описания, если конкретно не указано иное, термин «информационный носитель» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.
[0036] В контексте настоящего описания, если конкретно не указано иное, слова «первый», «второй», «третий» и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной связи между этими существительными. Так, например, следует иметь в виду, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) серверов/между серверами, равно как и их использование (само по себе) не предполагает, что некий «второй сервер» обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание «первого» элемента и «второго» элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, «первый» сервер и «второй» сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.
[0037] В контексте настоящего описания, если специально не указано иное, выражение «двухмерный объект» подразумевает плоскую фигуру, отображаемую на компьютерном экрана, которая ограничена конечной цепочкой отрезков, образующих замкнутый контур.
[0038] В контексте настоящего описания, если специально не указано иное, выражение «полигональный объект» подразумевает под собой двухмерный объект, отображаемый на компьютерном экране, полигональный объект ограничен конечной цепочкой прямых отрезков, образующих замкнутый контур.
[0039] В контексте настоящего описания, если специально не указано иное, слово «периметр» означает путь, который ограничивает двухмерный объект. Периметр может включать в себя части периметра, которые могут храниться в виде отрезков, соединяющих две крайние точки соответствующей части периметра.
[0040] В контексте настоящего описания, если специально не указано иное, выражение «направление вращения» подразумевает под собой последовательность соединения последовательных крайних точек таким образом, что конечная крайняя точка одной части периметра является начальной крайней точкой следующей части того же самого периметра. Направление вращения может быть по или против часовой стрелки.
[0041] В контексте настоящего описания, если специально не указано иное, выражение «направление вращения» подразумевает направление соединения двух крайних точек той же общей части периметра, которая относится к двум двухмерным объектам, обладающим этой общей частью периметра. Например, отрезок, соединяющий первую крайнюю точку и вторую крайнюю точку той же общей части периметра, может быть соединен в любом из двух противоположных направлений соединения: (1) «первая крайняя точка - вторая крайняя точка», т.е. первая крайняя точка является начальной крайней точкой, а вторая крайняя точка является конечной крайней точкой; и (2) «вторая крайняя точка - первая крайняя точка», т.е. вторая крайняя точка является начальной точкой, а первая крайняя точка является конечная точка.
[0042] Каждый вариант осуществления настоящего решения включает по меньшей мере одну из вышеупомянутых целей и/или объектов. Следует иметь в виду, что некоторые объекты настоящего решения, полученные в результате попыток достичь вышеупомянутой цели, могут удовлетворять другим целям, отдельно не указанным здесь.
[0043] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящего решения станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0044] Для лучшего понимания настоящего решения, а также других его аспектов и характерных черт сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:
[0045] На Фиг. 1 представлена структурная схема системы, выполненной в соответствии с вариантом осуществления настоящего решения.
[0046] На Фиг. 2 представлен неограничивающий пример первого двухмерного объекта, являющегося полигональным объектом, в котором крайние точки периметра первого двухмерного объекта соединены соответствующими отрезками в первом выбранном направлении вращения.
[0047] На Фиг. 3 представлен неограничивающий пример двух двухмерных объектов, первый двухмерный объект включает в себя второй двухмерный объект, оба двухмерных объекта являются полигональными объектами, где крайние точки соответствующих периметров соединены соответствующими отрезками в первом направлении вращения.
[0048] На Фиг. 4 представлен неограничивающий пример двух двухмерных объектов, первый двухмерный объект и второй двухмерный объект являются соседними объектами, оба двухмерных объекта являются полигональными объектами, где крайние точки соответствующих периметров соединены соответствующими отрезками в первом выбранном направлении вращения.
[0049] На Фиг. 5 представлен неограничивающий пример двух двухмерных объектов, первый двухмерный объект включает в себя второй двухмерный объект, оба двухмерных объекта являются не полигональными объектами.
[0050] На Фиг. 6 представлен неограничивающий пример другого варианта осуществления, в котором крайние точки соответствующих периметров соединены соответствующими отрезками во втором выбранном направлении вращения.
[0051] На Фиг. 7 представлен исполняемый на компьютере способ сохранения по меньшей мере двух двухмерных объектов на информационном носителе, способ реализован в соответствии с вариантами осуществления настоящего решения и выполняется на сервере системы, представленной на Фиг. 1.
[0052] На Фиг. 8 представлена блок-схема выполняемого на компьютере способа 800 восстановления логической иерархии по меньшей мере двух двухмерных объектов, способ реализован в соответствии с неограничивающими вариантами осуществления решения.
[0053] На Фиг. 9 представлен пример трех двухмерных объектов, первый двухмерный объект включает второй и третий двухмерные объекты, оба двухмерных объекта являются полигональными объектами, где крайние точки соответствующих периметров соединены соответствующими отрезками в первом выбранном направлении вращения.
[0054] На Фиг. 10 представлен вариант 1000 исполняемого на компьютере способа 800, вариант 1000 способа 800 реализован соответствии с неограничивающими вариантами осуществления.
[0055] На Фиг. 11 представлен первый двухмерный объект - Северная Америка на карте Северной Америки (материк).
[0056] На Фиг. 12 представлен первый двухмерный объект - Северная Америка и второй двухмерный объект - континентальная часть Канады на карте Северной Америки (материк).
[0057] На Фиг. 13 представлен первый двухмерный объект Северная Америка, второй двухмерный объект - континентальная часть Канады, третий двухмерный объект -провинция Квебек в Канаде, и четвертый двухмерный объект - провинция Онтарио в Канаде, на карте Северной Америки (материк).
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[0058] На Фиг. 1 представлена диаграмма системы, выполненной в соответствии с вариантами осуществления настоящего решения, не ограничивающими объем. Важно иметь в виду, что нижеследующее описание системы представляет собой описание иллюстративных вариантов осуществления. Таким образом, все последующее описание представлено только как описание иллюстративного примера. Это описание не предназначено для определения объема или установления границ решения. Некоторые полезные примеры модификаций системы также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ решения. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, это не должно интерпретироваться так, что там, где это еще не было сделано, т.е. там, где не были изложены примеры модификаций, никакие модификации невозможны, и/или что то, что описано, является единственным вариантом осуществления этого элемента. Как будет понятно специалисту в данной области техники, это скорее всего не так. Кроме того, следует иметь в виду, что система представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления, и в подобных случаях представлен здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления будут обладать гораздо большей сложностью.
[0059] Система включает в себя сервер 102. Сервер 102 может представлять собой обычный компьютерный сервер. В примере варианта осуществления, сервер 102 м