Czy ktoś może zasugerować szybki (i najlepiej otwarty) sposób na utworzenie obrazu z pliku kształtu. Na przykład mam plik kształtu zawierający granice działki, chcę utworzyć plik png przedstawiający te działki. Symbolika wymagana dla tego obrazu będzie bez kości (jednolity kontur i wypełnienie).
Wiem, że shp2img z MapServer zrobiłby to. Jestem tylko ciekawy, czy jest coś jeszcze.
Wszelkie odniesienia do wstępnie skompilowanych narzędzi lub api / sdks są mile widziane.
open-source-gis
raster
shapefile
użytkownik890
źródło
źródło
Odpowiedzi:
Możesz użyć Pythona (moduły: shapley , GDAL / OGR , numpy , matplotlib ) i GDAL / OGR, aby narysować obraz z prawie dowolnego źródła danych wektorowych, w twoim przypadku pliku kształtu . Może to ci pomoże.
Przykład:
źródło
Szybki, tani (i brudny):
Wada: oczywiście rozdzielczość obrazu nie może być lepsza niż rozdzielczość ekranu.
źródło
GeoTools http://geotools.org zawiera wszystkie bity potrzebne do zrobienia tego, zdziwiłbym się, gdyby ktoś jeszcze nie miał kodu, aby to zrobić.
źródło
Myślę, że to zależy od tego, co masz na myśli przez szybkie. Czy masz na myśli coś łatwego w instalacji lub coś, co jest łatwe w użyciu po zainstalowaniu?
Wspominasz o MapServer i shp2img. Jeśli masz zainstalowany MapServer, prawdopodobnie mógłbyś napisać całkiem prosty skrypt MapScript (Python lub php), który przechodziłby przez folder plików kształtów i renderowałby ich obrazy z domyślną symboliką.
źródło
Na to pytanie już udzielono odpowiedzi, ale przedstawię dodatkowe informacje, ponieważ mogą być pomocne dla kogoś. Ta lista mailingowa wyjaśnia, jak przekonać SHP do obrazów, a obecnie pracuję z nim, aby ukończyć zadanie: http://lists.osgeo.org/pipermail/qgis-user/2010-October/010239.html
źródło
Udokumentowałem to rozwiązanie nieco wcześniej, używając dwóch różnych metod.
Jeden używa czystego Pythona, który będzie działał w dowolnym miejscu Python: http://geospatialpython.com/2010/12/rasterizing-shapefiles-2-pure-python.html
I jeden z wykorzystaniem biblioteki obrazowania Python: http://geospatialpython.com/2010/12/rasterizing-shapefiles.html
źródło