W moim obecnym projekcie wizualizuję dane na mapie przedstawiające pewne wartości dla każdego obszaru administracyjnego kraju. Dostaję plik kształtu tego kraju, który przekształcam w GeoJSON do użytku z PolyMaps. Teraz mam obowiązek grupowania wielu obszarów w większe, ponieważ nie ma danych dla niektórych mniejszych części, ale można zebrać dane zagregowane dla dużych. Te klastry są predefiniowane (np. A + B + C = D), więc pomyślałem, że łatwiej byłoby utworzyć klastrowany plik kształtu i przekonwertować go później na GeoJSON.
Ale jak utworzyć taki klaster, najlepiej zautomatyzowany i przy użyciu narzędzi typu open source? Każdy inny rozsądny sposób jest oczywiście mile widziany.
źródło
Aby uzyskać mniej pracy ręcznej, możesz spojrzeć na SpatiaLite. Możesz łatwo importować pliki kształtu za pomocą np
Następnie dla części rozpuszczającej:
Potrzebną tutaj funkcją jest GUnion (). Możesz zdefiniować swoje „klastry” w drugiej tabeli. Następnie możesz dołączyć klaster i tabelę obszarów i użyć GUnion () z GROUP BY, aby utworzyć końcową tabelę union_table.
Następnie możesz wyeksportować do pliku kształtu za pomocą .dumpshp
Jeśli potrzebujesz GeoJSON, możesz teraz przekonwertować plik.
Możesz napisać krótki skrypt np. W Pythonie, który obsługuje wszystkie te obciążenia, sprzężenia i zrzuty.
źródło
UPDATE
iSELECT
linie zrobić?