Mam następującą warstwę używającą SRID 27700 w Postgis:
Jest to każdy region administracyjny w Wielkiej Brytanii i (jak widać z grupowania kolorów) każdy z nich ma pole tekstowe określające region, w którym się znajduje.
Chciałbym zrobić większe wielokąty hrabstwa z mniejszych w danym hrabstwie, więc EG na powyższym zdjęciu wszystkie wielokąty w kolorze turkusowym utworzyłyby jeden duży wielokąt z pojedynczego zewnętrznego pierścienia, który zawiera wszystkie bieguny w tym kolor, podobnie jak wszystkie fioletowe, brązowe, różowe, szare itp. powinny wszystkie tworzyć jeden wielokąt.
Próbowałem już:
insert into parishesmerged (geometry)
select astext(multi(ST_Union(the_geom))) as the_geom from parishes
group by county_name
Ale ciągle generuje uszkodzone geometrie, które mam duże problemy z dalszym przetwarzaniem.
Próbuję stworzyć prostszą mapę na poziomie hrabstwa z głównymi obszarami wyjściowymi w.
Żadne rozwiązania nie muszą też być w Postgis, mam zainstalowany pełny stos OS4Geo, najnowszą wersję QGis i więcej narzędzi, niż mogę sobie wyobrazić.
Jedyne rzeczy, których nie mam, to duzi chłopcy, tacy jak ArcGis (chociaż mogę gdzieś leżeć gdzieś w pobliżu Stare Mapinfo)
Dla przypomnienia zestaw danych, który próbuję utworzyć, ma towarzyszyć książce GIS, którą piszę, skierowanej do programistów .NET, którzy chcą pisać aplikacje GIS przy użyciu .NET
Po wypróbowaniu poniższych sugestii najlepiej działało rozwiązanie „Paul Ramseys”.
Mam teraz ładny, uproszczony plik hrabstw i dzielnic, który jest po prostu wystarczająco prosty dla mojej książki, ale wystarczająco skomplikowany, aby umożliwić mi zademonstrowanie ciekawego geograficznego przestrzennego SQL.
Chociaż ostatecznie rozwiązanie Paula było dla mnie skuteczne, skorzystałem również z innych odpowiedzi, na przykład w celu uproszczenia mapy wielokątów i dalszego zmniejszenia złożoności.
Na rzeczy, którą zaobserwowałem, robiąc to, chociaż ST_Collect jest rzeczywiście szybszy niż ST_Union, biegnij za biegiem, ale to on był głównie odpowiedzialny za złamane geometrie. Domyślam się, że wzrost prędkości jest uzyskiwany kosztem mniejszej dokładności w funkcji rdzenia.
astext(multi())
części? Po prostu odchodzę od tego, co widzę w innych przykładach rozwiązania PostGIS.