@@ -397,8 +397,15 @@ def add_keywords(keyword_list, extra_keywords):
397397
398398
399399def _getMinMax (layer , field ):
400- fieldVal = [f .GetField (field ) for f in layer ]
401- return {'properties' : {'min' : min (fieldVal ), 'max' : max (fieldVal )},
400+ min_value , max_value = float ('inf' ), float ('-inf' )
401+ for f in layer :
402+ value = f .GetField (field )
403+ if value < min_value :
404+ min_value = value
405+ if value > max_value :
406+ max_value = value
407+
408+ return {'properties' : {'min' : min_value , 'max' : max_value },
402409 'type' : 'numeric' }
403410
404411
@@ -407,7 +414,7 @@ def _getNumericFields(layer):
407414
408415 layerDefinition = layer .GetLayerDefn ()
409416 numFields = []
410- for i in range (layerDefinition .GetFieldCount ()):
417+ for i in xrange (layerDefinition .GetFieldCount ()):
411418 fieldName = layerDefinition .GetFieldDefn (i ).GetName ()
412419 fieldTypeCode = layerDefinition .GetFieldDefn (i ).GetType ()
413420 fieldDef = layerDefinition .GetFieldDefn (i )
@@ -423,7 +430,9 @@ def get_vector_layer_info(geojson):
423430
424431 dataSource = ogr .Open (geojson )
425432 layer = dataSource .GetLayer ()
426- geom = {1 : 'point' , 2 : 'line' , 3 : 'polygon' }
433+ geom = {0 : 'polygon' , 1 : 'point' , 2 : 'line' ,
434+ 3 : 'polygon' , 4 : 'polygon' , 5 : 'polygon' ,
435+ 6 : 'polygon' }
427436 subType = geom [layer .GetGeomType ()]
428437 count = layer .GetFeatureCount ()
429438 numFields = _getNumericFields (layer )
0 commit comments