@echo off :: setttings for PostGIS Layer and a temporary file set con=PG:host=localhost dbname=udig user=postgres password=**** set lab_1=pubs set sql_1=SELECT * FROM "201506".bc_pubs set srs_1=3005 set lab_2=border set sql_2=SELECT * FROM "201506".bc_border set srs_2=4326 set lab_3=voting_areas set sql_3=SELECT * FROM "201506".bc_voting_areas set srs_3=3005 set len=3 set vrt=%~dp0tmp.vrt :: loop in pseudo array setlocal enableDelayedExpansion echo ^<OGRVRTDataSource^> > %vrt% for /L %%i in (1, 1, %len%) do ( echo ^<OGRVRTLayer name="!lab_%%i!"^> >> %vrt% echo ^<SrcDataSource^>%con%^</SrcDataSource^> >> %vrt% echo ^<SrcSQL^>!sql_%%i!^</SrcSQL^> >> %vrt% echo ^<LayerSRS^>epsg:!srs_%%i!^</LayerSRS^> >> %vrt% echo ^</OGRVRTLayer^> >> %vrt% ) echo ^</OGRVRTDataSource^> >> %vrt% :: start QGIS D: cd \AppsPortable\QGIS-Portable-CH\bin call o4w_env.bat path %OSGEO4W_ROOT%\apps\qgis\bin set QGIS_PREFIX_PATH=%OSGEO4W_ROOT:\=/%/apps/qgis set conf=--configpath %OSGEO4W_ROOT%\.qgis2 start "" /B %OSGEO4W_ROOT%\bin\qgis-bin.exe %conf% %vrt%
短い説明
探せば見つかるものです。OGR Virtual Formatというのがあるらしく、その形式で以下
↓ バッチ起動で
↓ テスト結果の例。色とかは未設定なので
テストに使ったデータ
昨日紹介したそのほか
バッチファイル中では、PostGISvrt