[GRASS-user] v.external and region bounding box

Moritz Lennert mlennert at club.worldonline.be
Thu Oct 18 04:27:30 PDT 2012


On 18/10/12 12:10, Pietro wrote:
> Hi all,
>
> I have imported the Openstreetmap data of Italy[0] into a
> Postgis/Postgres, using imposm[1].
> Below are reported the table size in postgis:
>
>           Name         | Type  | Owner |  Size   |
>   ---------------------+-------+-------+---------|
>   osm_buildings        | table | osm   | 805 MB  |
>   osm_landusages       | table | osm   | 202 MB  |
>   osm_mainroads        | table | osm   | 105 MB  |
>   osm_minorroads       | table | osm   | 447 MB  |
>   osm_motorways        | table | osm   |  12 MB  |
>   osm_railways         | table | osm   |  12 MB  |
>
> I'm using GRASS7. I connected this layers using:
>
> v.external dsn="PG:dbname=osm" layer=osm_*
>
> Even if my region is pretty small, around 9km x 14km, GRASS it's very
> slow to load and show the data into the MapDisplay, It seem like all
> the vector features are loaded without take into account the region.
>
> If I open the same layers with QGIS, with almost the same region
> dimension it's very fast to load/show the data, probably QGIS load
> only the features that are in the bounding box.
>
> How can I say to v.external to load only the geometry features that
> are in the region boundingbox?
>
> Should I do this manually, making new tables?

How about views ? Create views of containing only the features in your 
region of interest and then link to them with v.external. If you have 
spatial indices on your geometry columns this should be fairly rapid.

Moritz


More information about the grass-user mailing list