Szukam sposobu na wdrożenie widoczności (czyli pola widzenia). Znalazłem poprzednie pytanie GIS SE, które sugerowało kilka aplikacji GIS (nie to, czego potrzebuję - staram się osadzić obliczenia), a także SAGA. SAGA wygląda bardziej jak to, czego szukam (klasy C ++, Java, C #), ale nie rozumiem wystarczającej ilości dokumentacji API, aby dowiedzieć się, jakie klasy muszę nawet utworzyć (lub podklasę).
Nie jestem przywiązany do idei SAGA - po prostu szukam biblioteki / silnika, który może wykonywać cielesności w zakresie niewidzialności.
Ograniczenia są następujące:
- rozsądnie „lekki” (ponieważ chciałbym być w stanie objąć embedded / mobile)
- w miarę otwarte oprogramowanie (ponieważ moja aplikacja będzie oprogramowaniem typu open source, chociaż jestem elastyczny na konkretnej licencji, o ile jest ona zgodna z (L) GPL).
Czy ktoś może polecić taką bibliotekę lub silnik oraz podać opis lub link do której części biblioteki lub silnika muszę użyć do obliczeń przeglądanych?
Alternatywnie / dodatkowo doceniłbym również odniesienia do dokumentów lub samouczków, które wyjaśniają, jak wykonać te obliczenia w efektywny sposób (dotyczy to urządzeń wbudowanych / mobilnych, więc implementacja oparta na GPU może nie być tak przydatna jak coś, co jest bardziej ogólne i obsługuje urządzenia małej mocy)
Preferuję istniejącą implementację, a nie tworzenie czegoś samodzielnie (co jest opcją tworzenia kopii zapasowych).
Edycja: C ++ nie jest twardym wymaganiem - zrobi wszystko, co jest w zasadzie przenośne (C #, C ++, Java). Próbuję biblioteki lub szablonów zamiast osadzania dużej aplikacji.
Odpowiedzi:
Jak zauważyliście w przytoczonym pytaniu GIS SE , wydaje się, że nie ma wiele przeszkód dla osobnych pakietów przeglądanych przynajmniej na rynku Open Source poza SAGA i GRASS GIS. Poza napisaniem otoki wokół kodu dla tych algorthimów, możesz niestety sam wdrożyć viewhed. (Chciałbym być w tej kwestii naprawiony).
Jeśli czytasz dokumentację funkcji GRASS r.viewshed , zawiera ona szeroki opis algorytmu i odniesienie do następującego artykułu, który dokładnie omawia jeden algorytm podglądu:
Alternatywnie artykuł w Wikipedii na temat Viewhed zawiera odniesienia:
źródło
Istnieje darmowy pakiet o nazwie RadioMobile, który jest przeznaczony do badań komunikacji radiowej, który generuje wizję. Dane wyjściowe są oparte na danych wejściowych DEM i mogą być wektorem (plik punktowy) lub rastrem. Udało mi się użyć pliku punktów wektorowych do tworzenia wielokątów za pomocą skryptów, którymi chętnie się z tobą podzielę. Ponieważ możesz ustawić paletę na wyjściu rastra, możesz także przekonwertować raster na wektor za pomocą gdal.
Program ma GUI, ale może być również uruchamiany w trybie wsadowym, dzięki czemu można łatwo włączyć go do programu. Chociaż istnieje wiele więcej opcji niż jest to wymagane w przypadku tradycyjnego widoku, możesz ustawić je na zero, aby nie uwzględniać efektów takich jak moc nadajnika - patrz http://www.g3tvu.co.uk/RM_Batch_Files.htm
Program znajduje się pod adresem http://www.cplus.org/rmw/rme.html Autor jest również bardzo pomocny.
Mam nadzieję że to pomoże,
źródło