Aggregering on-the-fly via en ogr2ogr-kommando?

Det løse som ikke passer ind under ovenstående kategorier
Post Reply
User avatar
Roman Varinsky
Posts: 32
Joined: Fri 11. Mar 2016 09:47
Location: Munkebo
Contact:

Aggregering on-the-fly via en ogr2ogr-kommando?

Post by Roman Varinsky »

Hej alle.
Er der nogen der har prøvet at aggregere to datasæt (punkter,flader) fra to forskellige kilder on-the-fly, via en ogr2ogr-kommando? Jeg kunne læse mig frem til at 'ogrmerge' kunne due ved at lave et virtual lag og så aggregere på lag efterfølgende, men jeg kan ikke få det til at virke.
I det fynske vil vi f.eks. gerne kunne beregne antal elever per skoledistrikt, hvor skoledistrikterne ligger i PostgreSQL og eleverne i MSSQL (LOIS), uden at persondata efterlader det sikre miljø.
Har nogen en idé?
Mvh Roman
GIS-koordinator
Kerteminde Kommune

User avatar
Roman Varinsky
Posts: 32
Joined: Fri 11. Mar 2016 09:47
Location: Munkebo
Contact:

Re: Aggregering on-the-fly via en ogr2ogr-kommando?

Post by Roman Varinsky »

Nu kan jeg se at ingen har reageret på denne forespørgsel og i mellemtiden har jeg faktisk selv fandt ud af at løse den. Man kan gøre det således:

ogr2ogr -append -update -sql "select geom.postbynavn,count(cpr.LifaSystemID) as antal,geometry::STGeomFromText(geom.geometri.STAsText(),25832) as geometri from dbo.CPR_AktivKom_GeoView cpr, k440.post_dist geom where geom.geometri.STContains(cpr.geometri)=1 group by geom.postbynavn, geom.geometri.STAsText() having count(cpr.LifaSystemID)>0" -f PostGreSQL PG:"host=xxx dbname=xxx port=5432 user=xxx password=xxx" -nln postnummer_ant_v_agr -lco SCHEMA=indbyggertal MSSQL:"server=xxx;driver=SQL Server Native Client 11.0;database=LOIS;trusted_connection=yes;Tables=k440.post_dist,dbo.cpr_aktivkom_geoview" -lco GEOMETRY_NAME=the_geom

Den ovenstående kommando beregner antallet af borgere per postdistrikt. Selve aggregeringen er styret af en sql-forespørgsel.
GIS-koordinator
Kerteminde Kommune

Post Reply