Хранение накладывающихся полигонов

Ответить
KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Хранение накладывающихся полигонов

Сообщение KolesovDmitry » 19 апр 2016, 15:45

У меня есть большое число полигонов с атрибутами, отражающих движение некоторого объекта. Нужно полигоны хранить таким образом, чтобы можно было по заданной дате получить контур объекта и производить с ним определенные операции.

Если полигоны не пересекаются между собой, то, проблем никаких нет, но фикус в том, что они как раз пересекаются (объект двигается медленно). А если пересекающиеся объекты хранить в одном "слое", то GRASS начинает строить топологию, находить пересечения между разновременными контурами и на выходе получается не пойми что. Если же топологию не строить, то доступна очень небольшая часть операций с геометриями, в частности я не могу даже экспортировать данные из GRASS.

Вопрос: как правильно хранить накладывающиеся объекты? Есть какая-то хитрость, которую я не могу сообразить, или же я хочу странного?

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Хранение накладывающихся полигонов

Сообщение Александр Мурый » 19 апр 2016, 15:48

Образец данных бы, а то в устном виде работать с данными трудно.
Редактор материалов, модератор форума

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Хранение накладывающихся полигонов

Сообщение KolesovDmitry » 19 апр 2016, 15:50

Я их генерирую там... Одна из проблем -- как раз не могу экспортировать. Сейчас попробую что-то придумать

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Хранение накладывающихся полигонов

Сообщение Александр Мурый » 19 апр 2016, 15:55

А если попробовать хранить полигоны в пространственно-временном наборе данных (тип "stvds"), а потом по необходимости извлекать нужные объекты (t.vect.extract) и работать уже с ними?
Правда, как там дела с топологией обстоят, не скажу.
Редактор материалов, модератор форума

gamm
Гуру
Сообщения: 4046
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: Хранение накладывающихся полигонов

Сообщение gamm » 19 апр 2016, 16:15

KolesovDmitry писал(а):Вопрос: как правильно хранить накладывающиеся объекты? Есть какая-то хитрость, которую я не могу сообразить, или же я хочу странного?
раз это последовательность, то можно хранить первый и последовательные инкременты, собирая нужный из кусочков. Вообще, от задачи зависит - при большой длине последовательности и малых разностях будет классическое "блюдо спагетти", с которым работать невозможно.

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Хранение накладывающихся полигонов

Сообщение Александр Мурый » 19 апр 2016, 16:20

KolesovDmitry писал(а):Одна из проблем -- как раз не могу экспортировать.
Можно заархивировать область/набор с несколькими векторами или использовать модули v.pack/v.unpack.
Редактор материалов, модератор форума

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Хранение накладывающихся полигонов

Сообщение KolesovDmitry » 19 апр 2016, 16:47

Вот, выдернул более-менее законченный кусок, его описание.

В коде видны команды GRASS, которые создают footprints ландсатов. Суть проблемы я пытался показать начиная с [In 6] Все, что идет до [In 6] -- генерация отпечатков. В слое footprints лежат 12 отпечатков сцен, но не получается ни экспортировать их, ни выбрать какую-нибудь из них геометрически через пересечение с другой геометрией.

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Хранение накладывающихся полигонов

Сообщение Александр Мурый » 19 апр 2016, 16:57

А где сам кусок-то?
Редактор материалов, модератор форума

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Хранение накладывающихся полигонов

Сообщение KolesovDmitry » 19 апр 2016, 16:57

Пока я вижу только вариант, который советует Александр Мурый: работать через пространственно-временные модули. Но меня интересует уже и такой вопрос -- должен же быть какой-нибудь более-менее стандартный способ обработки подобных данных, не требующий временных модулей (появились они относиетльно недавно, как же раньше-то с этим работали)?.

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Хранение накладывающихся полигонов

Сообщение KolesovDmitry » 19 апр 2016, 17:00

Александр Мурый писал(а):А где сам кусок-то?
А, вот он:
Спойлер

Код: Выделить всё

ORGANIZATION: 
DIGIT DATE:   
DIGIT NAME:   klsvd
MAP NAME:     Output from v.patch
MAP DATE:     Tue Apr 19 16:36:06 2016
MAP SCALE:    1
OTHER INFO:   
ZONE:         53
MAP THRESH:   0.000000
VERTI:
B  43
 657334.56521739 5136885     
 637062.39130435 5136885     
 637062.39130435 5146748.75  
 606654.13043478 5146748.75  
 606654.13043478 5156612.5   
 566109.7826087 5156612.5   
 566109.7826087 5166476.25  
 525565.43478261 5166476.25  
 525565.43478261 5176340     
 485021.08695652 5176340     
 485021.08695652 5186203.75  
 474885       5186203.75  
 474885       5205931.25  
 485021.08695652 5205931.25  
 485021.08695652 5245386.25  
 495157.17391304 5245386.25  
 495157.17391304 5284841.25  
 505293.26086957 5284841.25  
 505293.26086957 5324296.25  
 515429.34782609 5324296.25  
 515429.34782609 5363751.25  
 525565.43478261 5363751.25  
 525565.43478261 5373615     
 545837.60869565 5373615     
 545837.60869565 5363751.25  
 586381.95652174 5363751.25  
 586381.95652174 5353887.5   
 626926.30434783 5353887.5   
 626926.30434783 5344023.75  
 667470.65217391 5344023.75  
 667470.65217391 5334160     
 708015       5334160     
 708015       5304568.75  
 697878.91304348 5304568.75  
 697878.91304348 5265113.75  
 687742.82608696 5265113.75  
 687742.82608696 5225658.75  
 677606.73913043 5225658.75  
 677606.73913043 5186203.75  
 667470.65217391 5186203.75  
 667470.65217391 5146748.75  
 657334.56521739 5146748.75  
 657334.56521739 5136885     
C  1 1
 606654.13043478 5319364.375 
 1     2         
B  43
 656969.34782609 5136885     
 636671.08695652 5136885     
 636671.08695652 5146748.75  
 606223.69565217 5146748.75  
 606223.69565217 5156612.5   
 565627.17391304 5156612.5   
 565627.17391304 5166476.25  
 525030.65217391 5166476.25  
 525030.65217391 5176340     
 484434.13043478 5176340     
 484434.13043478 5186203.75  
 474285       5186203.75  
 474285       5205931.25  
 484434.13043478 5205931.25  
 484434.13043478 5245386.25  
 494583.26086957 5245386.25  
 494583.26086957 5284841.25  
 504732.39130435 5284841.25  
 504732.39130435 5324296.25  
 514881.52173913 5324296.25  
 514881.52173913 5363751.25  
 525030.65217391 5363751.25  
 525030.65217391 5373615     
 545328.91304348 5373615     
 545328.91304348 5363751.25  
 585925.43478261 5363751.25  
 585925.43478261 5353887.5   
 626521.95652174 5353887.5   
 626521.95652174 5344023.75  
 667118.47826087 5344023.75  
 667118.47826087 5334160     
 707715       5334160     
 707715       5314432.5   
 697565.86956522 5314432.5   
 697565.86956522 5265113.75  
 687416.73913043 5265113.75  
 687416.73913043 5225658.75  
 677267.60869565 5225658.75  
 677267.60869565 5186203.75  
 667118.47826087 5186203.75  
 667118.47826087 5146748.75  
 656969.34782609 5146748.75  
 656969.34782609 5136885     
C  1 1
 606223.69565217 5319364.375 
 1     4         
B  43
 656069.34782609 5136885     
 635771.08695652 5136885     
 635771.08695652 5146748.75  
 605323.69565217 5146748.75  
 605323.69565217 5156612.5   
 564727.17391304 5156612.5   
 564727.17391304 5166476.25  
 524130.65217391 5166476.25  
 524130.65217391 5176340     
 483534.13043478 5176340     
 483534.13043478 5186203.75  
 473385       5186203.75  
 473385       5205931.25  
 483534.13043478 5205931.25  
 483534.13043478 5245386.25  
 493683.26086957 5245386.25  
 493683.26086957 5284841.25  
 503832.39130435 5284841.25  
 503832.39130435 5324296.25  
 513981.52173913 5324296.25  
 513981.52173913 5363751.25  
 524130.65217391 5363751.25  
 524130.65217391 5373615     
 544428.91304348 5373615     
 544428.91304348 5363751.25  
 585025.43478261 5363751.25  
 585025.43478261 5353887.5   
 625621.95652174 5353887.5   
 625621.95652174 5344023.75  
 666218.47826087 5344023.75  
 666218.47826087 5334160     
 706815       5334160     
 706815       5314432.5   
 696665.86956522 5314432.5   
 696665.86956522 5265113.75  
 686516.73913043 5265113.75  
 686516.73913043 5225658.75  
 676367.60869565 5225658.75  
 676367.60869565 5186203.75  
 666218.47826087 5186203.75  
 666218.47826087 5146748.75  
 656069.34782609 5146748.75  
 656069.34782609 5136885     
C  1 1
 605323.69565217 5319364.375 
 1     6         
B  43
 656134.56521739 5136885     
 635862.39130435 5136885     
 635862.39130435 5146748.75  
 605454.13043478 5146748.75  
 605454.13043478 5156612.5   
 564909.7826087 5156612.5   
 564909.7826087 5166476.25  
 524365.43478261 5166476.25  
 524365.43478261 5176340     
 483821.08695652 5176340     
 483821.08695652 5186203.75  
 473685       5186203.75  
 473685       5205931.25  
 483821.08695652 5205931.25  
 483821.08695652 5245386.25  
 493957.17391304 5245386.25  
 493957.17391304 5284841.25  
 504093.26086957 5284841.25  
 504093.26086957 5324296.25  
 514229.34782609 5324296.25  
 514229.34782609 5363751.25  
 524365.43478261 5363751.25  
 524365.43478261 5373615     
 544637.60869565 5373615     
 544637.60869565 5363751.25  
 585181.95652174 5363751.25  
 585181.95652174 5353887.5   
 625726.30434783 5353887.5   
 625726.30434783 5344023.75  
 666270.65217391 5344023.75  
 666270.65217391 5334160     
 706815       5334160     
 706815       5314432.5   
 696678.91304348 5314432.5   
 696678.91304348 5265113.75  
 686542.82608696 5265113.75  
 686542.82608696 5225658.75  
 676406.73913043 5225658.75  
 676406.73913043 5186203.75  
 666270.65217391 5186203.75  
 666270.65217391 5146748.75  
 656134.56521739 5146748.75  
 656134.56521739 5136885     
C  1 1
 605454.13043478 5319364.375 
 1     8         
B  43
 655469.34782609 5136885     
 635171.08695652 5136885     
 635171.08695652 5146748.75  
 604723.69565217 5146748.75  
 604723.69565217 5156612.5   
 564127.17391304 5156612.5   
 564127.17391304 5166476.25  
 523530.65217391 5166476.25  
 523530.65217391 5176340     
 482934.13043478 5176340     
 482934.13043478 5186203.75  
 472785       5186203.75  
 472785       5205931.25  
 482934.13043478 5205931.25  
 482934.13043478 5245386.25  
 493083.26086957 5245386.25  
 493083.26086957 5284841.25  
 503232.39130435 5284841.25  
 503232.39130435 5324296.25  
 513381.52173913 5324296.25  
 513381.52173913 5363751.25  
 523530.65217391 5363751.25  
 523530.65217391 5373615     
 543828.91304348 5373615     
 543828.91304348 5363751.25  
 584425.43478261 5363751.25  
 584425.43478261 5353887.5   
 625021.95652174 5353887.5   
 625021.95652174 5344023.75  
 665618.47826087 5344023.75  
 665618.47826087 5334160     
 706215       5334160     
 706215       5314432.5   
 696065.86956522 5314432.5   
 696065.86956522 5265113.75  
 685916.73913043 5265113.75  
 685916.73913043 5225658.75  
 675767.60869565 5225658.75  
 675767.60869565 5186203.75  
 665618.47826087 5186203.75  
 665618.47826087 5146748.75  
 655469.34782609 5146748.75  
 655469.34782609 5136885     
C  1 1
 604723.69565217 5319364.375 
 1     10        
B  45
 617969.34782609 4978485     
 597671.08695652 4978485     
 597671.08695652 4988373.75  
 567223.69565217 4988373.75  
 567223.69565217 4998262.5   
 526627.17391304 4998262.5   
 526627.17391304 5008151.25  
 486030.65217391 5008151.25  
 486030.65217391 5018040     
 445434.13043478 5018040     
 445434.13043478 5027928.75  
 435285       5027928.75  
 435285       5047706.25  
 445434.13043478 5047706.25  
 445434.13043478 5087261.25  
 455583.26086957 5087261.25  
 455583.26086957 5126816.25  
 465732.39130435 5126816.25  
 465732.39130435 5166371.25  
 475881.52173913 5166371.25  
 475881.52173913 5205926.25  
 486030.65217391 5205926.25  
 486030.65217391 5215815     
 506328.91304348 5215815     
 506328.91304348 5205926.25  
 546925.43478261 5205926.25  
 546925.43478261 5196037.5   
 577372.82608696 5196037.5   
 577372.82608696 5186148.75  
 617969.34782609 5186148.75  
 617969.34782609 5176260     
 658565.86956522 5176260     
 658565.86956522 5166371.25  
 668715       5166371.25  
 668715       5146593.75  
 658565.86956522 5146593.75  
 658565.86956522 5107038.75  
 648416.73913043 5107038.75  
 648416.73913043 5067483.75  
 638267.60869565 5067483.75  
 638267.60869565 5027928.75  
 628118.47826087 5027928.75  
 628118.47826087 4988373.75  
 617969.34782609 4988373.75  
 617969.34782609 4978485     
C  1 1
 567223.69565217 5161426.875 
 1     12        
B  45
 617669.34782609 4978485     
 597371.08695652 4978485     
 597371.08695652 4988373.75  
 566923.69565217 4988373.75  
 566923.69565217 4998262.5   
 526327.17391304 4998262.5   
 526327.17391304 5008151.25  
 485730.65217391 5008151.25  
 485730.65217391 5018040     
 445134.13043478 5018040     
 445134.13043478 5027928.75  
 434985       5027928.75  
 434985       5047706.25  
 445134.13043478 5047706.25  
 445134.13043478 5087261.25  
 455283.26086957 5087261.25  
 455283.26086957 5126816.25  
 465432.39130435 5126816.25  
 465432.39130435 5166371.25  
 475581.52173913 5166371.25  
 475581.52173913 5205926.25  
 485730.65217391 5205926.25  
 485730.65217391 5215815     
 506028.91304348 5215815     
 506028.91304348 5205926.25  
 546625.43478261 5205926.25  
 546625.43478261 5196037.5   
 577072.82608696 5196037.5   
 577072.82608696 5186148.75  
 617669.34782609 5186148.75  
 617669.34782609 5176260     
 658265.86956522 5176260     
 658265.86956522 5166371.25  
 668415       5166371.25  
 668415       5146593.75  
 658265.86956522 5146593.75  
 658265.86956522 5107038.75  
 648116.73913043 5107038.75  
 648116.73913043 5067483.75  
 637967.60869565 5067483.75  
 637967.60869565 5027928.75  
 627818.47826087 5027928.75  
 627818.47826087 4988373.75  
 617669.34782609 4988373.75  
 617669.34782609 4978485     
C  1 1
 566923.69565217 5161426.875 
 1     14        
B  45
 618569.34782609 4978485     
 598271.08695652 4978485     
 598271.08695652 4988373.75  
 567823.69565217 4988373.75  
 567823.69565217 4998262.5   
 527227.17391304 4998262.5   
 527227.17391304 5008151.25  
 486630.65217391 5008151.25  
 486630.65217391 5018040     
 446034.13043478 5018040     
 446034.13043478 5027928.75  
 435885       5027928.75  
 435885       5047706.25  
 446034.13043478 5047706.25  
 446034.13043478 5087261.25  
 456183.26086957 5087261.25  
 456183.26086957 5126816.25  
 466332.39130435 5126816.25  
 466332.39130435 5166371.25  
 476481.52173913 5166371.25  
 476481.52173913 5205926.25  
 486630.65217391 5205926.25  
 486630.65217391 5215815     
 506928.91304348 5215815     
 506928.91304348 5205926.25  
 547525.43478261 5205926.25  
 547525.43478261 5196037.5   
 577972.82608696 5196037.5   
 577972.82608696 5186148.75  
 618569.34782609 5186148.75  
 618569.34782609 5176260     
 659165.86956522 5176260     
 659165.86956522 5166371.25  
 669315       5166371.25  
 669315       5146593.75  
 659165.86956522 5146593.75  
 659165.86956522 5107038.75  
 649016.73913043 5107038.75  
 649016.73913043 5067483.75  
 638867.60869565 5067483.75  
 638867.60869565 5027928.75  
 628718.47826087 5027928.75  
 628718.47826087 4988373.75  
 618569.34782609 4988373.75  
 618569.34782609 4978485     
C  1 1
 567823.69565217 5161426.875 
 1     16        
B  45
 617904.13043478 4978485     
 597579.7826087 4978485     
 597579.7826087 4988373.75  
 567093.26086957 4988373.75  
 567093.26086957 4998262.5   
 526444.56521739 4998262.5   
 526444.56521739 5008151.25  
 485795.86956522 5008151.25  
 485795.86956522 5018040     
 445147.17391304 5018040     
 445147.17391304 5027928.75  
 434985       5027928.75  
 434985       5047706.25  
 445147.17391304 5047706.25  
 445147.17391304 5087261.25  
 455309.34782609 5087261.25  
 455309.34782609 5126816.25  
 465471.52173913 5126816.25  
 465471.52173913 5166371.25  
 475633.69565217 5166371.25  
 475633.69565217 5205926.25  
 485795.86956522 5205926.25  
 485795.86956522 5215815     
 506120.2173913 5215815     
 506120.2173913 5205926.25  
 536606.73913043 5205926.25  
 536606.73913043 5196037.5   
 577255.43478261 5196037.5   
 577255.43478261 5186148.75  
 617904.13043478 5186148.75  
 617904.13043478 5176260     
 658552.82608696 5176260     
 658552.82608696 5166371.25  
 668715       5166371.25  
 668715       5146593.75  
 658552.82608696 5146593.75  
 658552.82608696 5107038.75  
 648390.65217391 5107038.75  
 648390.65217391 5067483.75  
 638228.47826087 5067483.75  
 638228.47826087 5027928.75  
 628066.30434783 5027928.75  
 628066.30434783 4988373.75  
 617904.13043478 4988373.75  
 617904.13043478 4978485     
C  1 1
 567093.26086957 5161426.875 
 1     18        
B  45
 617004.13043478 4978485     
 596679.7826087 4978485     
 596679.7826087 4988373.75  
 566193.26086957 4988373.75  
 566193.26086957 4998262.5   
 525544.56521739 4998262.5   
 525544.56521739 5008151.25  
 484895.86956522 5008151.25  
 484895.86956522 5018040     
 444247.17391304 5018040     
 444247.17391304 5027928.75  
 434085       5027928.75  
 434085       5047706.25  
 444247.17391304 5047706.25  
 444247.17391304 5087261.25  
 454409.34782609 5087261.25  
 454409.34782609 5126816.25  
 464571.52173913 5126816.25  
 464571.52173913 5166371.25  
 474733.69565217 5166371.25  
 474733.69565217 5205926.25  
 484895.86956522 5205926.25  
 484895.86956522 5215815     
 505220.2173913 5215815     
 505220.2173913 5205926.25  
 535706.73913043 5205926.25  
 535706.73913043 5196037.5   
 576355.43478261 5196037.5   
 576355.43478261 5186148.75  
 617004.13043478 5186148.75  
 617004.13043478 5176260     
 657652.82608696 5176260     
 657652.82608696 5166371.25  
 667815       5166371.25  
 667815       5146593.75  
 657652.82608696 5146593.75  
 657652.82608696 5107038.75  
 647490.65217391 5107038.75  
 647490.65217391 5067483.75  
 637328.47826087 5067483.75  
 637328.47826087 5027928.75  
 627166.30434783 5027928.75  
 627166.30434783 4988373.75  
 617004.13043478 4988373.75  
 617004.13043478 4978485     
C  1 1
 566193.26086957 5161426.875 
 1     20        
B  45
 616704.13043478 4978485     
 596379.7826087 4978485     
 596379.7826087 4988373.75  
 565893.26086957 4988373.75  
 565893.26086957 4998262.5   
 525244.56521739 4998262.5   
 525244.56521739 5008151.25  
 484595.86956522 5008151.25  
 484595.86956522 5018040     
 443947.17391304 5018040     
 443947.17391304 5027928.75  
 433785       5027928.75  
 433785       5047706.25  
 443947.17391304 5047706.25  
 443947.17391304 5087261.25  
 454109.34782609 5087261.25  
 454109.34782609 5126816.25  
 464271.52173913 5126816.25  
 464271.52173913 5166371.25  
 474433.69565217 5166371.25  
 474433.69565217 5205926.25  
 484595.86956522 5205926.25  
 484595.86956522 5215815     
 504920.2173913 5215815     
 504920.2173913 5205926.25  
 535406.73913043 5205926.25  
 535406.73913043 5196037.5   
 576055.43478261 5196037.5   
 576055.43478261 5186148.75  
 616704.13043478 5186148.75  
 616704.13043478 5176260     
 657352.82608696 5176260     
 657352.82608696 5166371.25  
 667515       5166371.25  
 667515       5146593.75  
 657352.82608696 5146593.75  
 657352.82608696 5107038.75  
 647190.65217391 5107038.75  
 647190.65217391 5067483.75  
 637028.47826087 5067483.75  
 637028.47826087 5027928.75  
 626866.30434783 5027928.75  
 626866.30434783 4988373.75  
 616704.13043478 4988373.75  
 616704.13043478 4978485     
C  1 1
 565893.26086957 5161426.875 
 1     22        
B  45
 616169.34782609 4978485     
 595871.08695652 4978485     
 595871.08695652 4988373.75  
 565423.69565217 4988373.75  
 565423.69565217 4998262.5   
 524827.17391304 4998262.5   
 524827.17391304 5008151.25  
 484230.65217391 5008151.25  
 484230.65217391 5018040     
 443634.13043478 5018040     
 443634.13043478 5027928.75  
 433485       5027928.75  
 433485       5047706.25  
 443634.13043478 5047706.25  
 443634.13043478 5087261.25  
 453783.26086957 5087261.25  
 453783.26086957 5126816.25  
 463932.39130435 5126816.25  
 463932.39130435 5166371.25  
 474081.52173913 5166371.25  
 474081.52173913 5205926.25  
 484230.65217391 5205926.25  
 484230.65217391 5215815     
 504528.91304348 5215815     
 504528.91304348 5205926.25  
 534976.30434783 5205926.25  
 534976.30434783 5196037.5   
 575572.82608696 5196037.5   
 575572.82608696 5186148.75  
 616169.34782609 5186148.75  
 616169.34782609 5176260     
 656765.86956522 5176260     
 656765.86956522 5166371.25  
 666915       5166371.25  
 666915       5146593.75  
 656765.86956522 5146593.75  
 656765.86956522 5107038.75  
 646616.73913043 5107038.75  
 646616.73913043 5067483.75  
 636467.60869565 5067483.75  
 636467.60869565 5027928.75  
 626318.47826087 5027928.75  
 626318.47826087 4988373.75  
 616169.34782609 4988373.75  
 616169.34782609 4978485     
C  1 1
 565423.69565217 5161426.875 
 1     24        

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Хранение накладывающихся полигонов

Сообщение Александр Мурый » 23 апр 2016, 17:09

Проблема действительно в расположении дублирующихся центроидов в пределах одного какого-то полигона. Если попробовать немного "разнести" вручную полигоны и перетащить центроиды в разные "углы", то <v.select> с выбором полигонов в точке работает как надо.

Чтобы экспортировать такие полигоны, надо вначале добавить категории к границам:

Код: Выделить всё

v.category in=footprints opt=add type=boundary out=footprints_bcats
Экспортируем тоже границы, а не полигоны:

Код: Выделить всё

v.out.ogr -c input=footprints_bcats output=footprints.shp type=boundary
Потом (например, в QGIS) делаем полигоны из линий и используем инструмент идентификации в данной точке.
Редактор материалов, модератор форума

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Хранение накладывающихся полигонов

Сообщение Александр Мурый » 23 апр 2016, 20:16

Написал "на коленке" модуль GRASS v.what.spoly, который работает с полигонами типа "спагетти". Он выбирает полигоны в данной точке, и либо пишет в станд.вывод, либо в новый слой. Используются Python-GDAL и ogr2ogr.

Код: Выделить всё

> v.what.spoly -help

Description:
 Queries vector map with overlaping "spaghetti" polygons (e.g. Landsat footprints) at given location. Polygons must have not intersected boundaries.

Keywords:
 vector

Usage:
 v.what.spoly [-p] input=name [output=name] coor=name [--overwrite]
   [--help] [--verbose] [--quiet] [--ui]

Flags:
  -p   Only print selected polygons
 --o   Allow output files to overwrite existing files
 --h   Print usage summary
 --v   Verbose module output
 --q   Quiet module output
 --ui  Force launching GUI dialog

Parameters:
   input   Name of input polygon vector map
  output   Name of output vector map
    coor   Coordinates to query
Редактор материалов, модератор форума

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Хранение накладывающихся полигонов

Сообщение KolesovDmitry » 25 апр 2016, 16:57

Спасибо за скрипт!

Я тем временем перебрался на пространственно-временные модули. Как выяснилось по ходу дела, не зря их ввели и они на самом деле удобны (особенно растровые).

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Хранение накладывающихся полигонов

Сообщение Александр Мурый » 25 апр 2016, 17:38

KolesovDmitry писал(а):Я тем временем перебрался на пространственно-временные модули. Как выяснилось по ходу дела, не зря их ввели и они на самом деле удобны (особенно растровые).
Раз такое дело, то ждём новых статей на ГИС-Лабе :)
Редактор материалов, модератор форума

Ответить

Вернуться в «GRASS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей