kopia lustrzana https://github.com/hholzgra/ocitysmap
				
				
				
			Make sure PostGIS is >= 1.5
Raise an AssertionError when postgis is not >= 1.5.stable
							rodzic
							
								
									a3286243a2
								
							
						
					
					
						commit
						b46e66b7cc
					
				| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
[datasource]
 | 
			
		||||
host=localhost
 | 
			
		||||
user=maposmatic
 | 
			
		||||
password=mysecurepasswd
 | 
			
		||||
dbname=maposmatic
 | 
			
		||||
 | 
			
		||||
[rendering]
 | 
			
		||||
# List of available stylesheets, each needs to be described by an eponymous
 | 
			
		||||
# configuration section in this file.
 | 
			
		||||
available_stylesheets: stylesheet_osm1, stylesheet_osm2
 | 
			
		||||
 | 
			
		||||
# The default Mapnik stylesheet.
 | 
			
		||||
[stylesheet_osm1]
 | 
			
		||||
name: Default
 | 
			
		||||
description: The default OSM style
 | 
			
		||||
path: /path/to/mapnik-osm/osm.xml
 | 
			
		||||
 | 
			
		||||
# Another stylesheet
 | 
			
		||||
[stylesheet_osm2]
 | 
			
		||||
name: AnotherOne
 | 
			
		||||
description: Another OSM Stylesheet
 | 
			
		||||
path: /path/to/another/osm.xml
 | 
			
		||||
| 
						 | 
				
			
			@ -244,6 +244,9 @@ class OCitySMap:
 | 
			
		|||
        # (which loads the unicode extensions for psycopg2)
 | 
			
		||||
        db.set_client_encoding('utf8')
 | 
			
		||||
 | 
			
		||||
        # Make sure the DB is correctly installed
 | 
			
		||||
        self._verify_db(db)
 | 
			
		||||
 | 
			
		||||
        try:
 | 
			
		||||
            timeout = int(self._parser.get('datasource', 'request_timeout'))
 | 
			
		||||
        except (ConfigParser.NoOptionError, ValueError):
 | 
			
		||||
| 
						 | 
				
			
			@ -253,6 +256,18 @@ class OCitySMap:
 | 
			
		|||
        self.__db = db
 | 
			
		||||
        return self.__db
 | 
			
		||||
 | 
			
		||||
    def _verify_db(self, db):
 | 
			
		||||
        """Make sure the PostGIS DB is compatible with us."""
 | 
			
		||||
        cursor = db.cursor()
 | 
			
		||||
        cursor.execute("""
 | 
			
		||||
SELECT ST_AsText(ST_LongestLine(
 | 
			
		||||
                    'POINT(100 100)'::geometry,
 | 
			
		||||
		    'LINESTRING(20 80, 98 190, 110 180, 50 75 )'::geometry)
 | 
			
		||||
	        ) As lline;
 | 
			
		||||
""")
 | 
			
		||||
        assert cursor.fetchall()[0][0] == "LINESTRING(100 100,98 190)", \
 | 
			
		||||
            LOG.fatal("PostGIS >= 1.5 required for correct operation !")
 | 
			
		||||
 | 
			
		||||
    def _set_request_timeout(self, db, timeout_minutes=15):
 | 
			
		||||
        """Sets the PostgreSQL request timeout to avoid long-running queries on
 | 
			
		||||
        the database."""
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue