Skip to content

Commit a062d39

Browse files
author
volayaf
committedAug 1, 2012
added patch for #6137
git-svn-id: http://sextante.googlecode.com/svn/trunk/soft/bindings/qgis-plugin@326 881b9c09-3ef8-f3c2-ec3d-21d735c97f4d
1 parent 209c7d1 commit a062d39

File tree

1 file changed

+101
-96
lines changed

1 file changed

+101
-96
lines changed
 

‎src/sextante/mmqgisx/mmqgisx_library.py

Lines changed: 101 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
# --------------------------------------------------------
1414

1515
import csv
16+
import sys
1617
import time
1718
import urllib
1819
import os.path
@@ -47,7 +48,7 @@ def mmqgisx_is_float(s):
4748
# Cumbersome function to give backward compatibility before python 2.7
4849

4950
def format_float(value, separator, decimals):
50-
formatstring = ("%0." + str(int(decimals)) + "f")
51+
formatstring = ("%0." + unicode(int(decimals)) + "f")
5152
# print str(value) + ": " + formatstring
5253
string = formatstring % value
5354
intend = string.find('.')
@@ -209,7 +210,7 @@ def mmqgisx_animate_columns(qgis, layer_name, long_col, lat_col, outdir, frame_c
209210
# Iterate Frames
210211

211212
for frame in range(frame_count + 1):
212-
qgis.mainWindow().statusBar().showMessage("Rendering frame " + str(frame))
213+
qgis.mainWindow().statusBar().showMessage("Rendering frame " + unicode(frame))
213214

214215
# Read, move and rewrite features
215216

@@ -268,7 +269,7 @@ def mmqgisx_animate_rows(qgis, layer_names, cumulative, outdir):
268269

269270
# Error Checks
270271
if not os.path.isdir(outdir):
271-
return "Invalid output directory: " + str(outdir)
272+
return "Invalid output directory: " + unicode(outdir)
272273

273274
layers = []
274275
for layer_name in layer_names:
@@ -305,7 +306,7 @@ def mmqgisx_animate_rows(qgis, layer_names, cumulative, outdir):
305306
tempnames = [None] * len(layers)
306307
templayers = [None] * len(layers)
307308
for layer_index in range(len(layers)):
308-
tempnames[layer_index] = tempdir + "/mmqgisx_animate" + str(layer_index) + ".shp"
309+
tempnames[layer_index] = tempdir + "/mmqgisx_animate" + unicode(layer_index) + ".shp"
309310
tempcrs = layers[layer_index].dataProvider().crs()
310311
if not tempcrs.isValid():
311312
tempcrs.createFromSrid(4326)
@@ -347,7 +348,7 @@ def mmqgisx_animate_rows(qgis, layer_names, cumulative, outdir):
347348
# Iterate frames
348349

349350
for frame in range(int(frame_count + 1)):
350-
qgis.mainWindow().statusBar().showMessage("Rendering frame " + str(frame))
351+
qgis.mainWindow().statusBar().showMessage("Rendering frame " + unicode(frame))
351352

352353
for layer_index in range(len(layers)):
353354
if frame < layers[layer_index].featureCount():
@@ -429,7 +430,7 @@ def mmqgisx_attribute_export(qgis, outfilename, layername, attribute_names, fiel
429430
layer.dataProvider().rewind()
430431
while layer.dataProvider().nextFeature(feature):
431432
qgis.mainWindow().statusBar().showMessage \
432-
("Exporting feature " + str(feature.id()) + " of " + str(feature_count))
433+
("Exporting feature " + unicode(feature.id()) + " of " + unicode(feature_count))
433434
attributes = feature.attributeMap()
434435

435436
row = []
@@ -442,7 +443,7 @@ def mmqgisx_attribute_export(qgis, outfilename, layername, attribute_names, fiel
442443

443444
del writer
444445

445-
qgis.mainWindow().statusBar().showMessage(str(feature_count) + " records exported")
446+
qgis.mainWindow().statusBar().showMessage(unicode(feature_count) + " records exported")
446447

447448
return None
448449

@@ -550,8 +551,8 @@ def mmqgisx_attribute_join(qgis, layername, infilename, joinfield, joinattribute
550551
layer.dataProvider().select(layer.dataProvider().attributeIndexes())
551552
layer.dataProvider().rewind()
552553
while layer.dataProvider().nextFeature(feature):
553-
qgis.mainWindow().statusBar().showMessage("Joining feature " + str(feature.id()) + \
554-
" of " + str(feature_count) + " (" + str(matched_count) + " matched)")
554+
qgis.mainWindow().statusBar().showMessage("Joining feature " + unicode(feature.id()) + \
555+
" of " + unicode(feature_count) + " (" + unicode(matched_count) + " matched)")
555556
attributes = feature.attributeMap()
556557
key = unicode(attributes[joinattribute_index].toString()).encode("iso-8859-1").lower()
557558

@@ -602,8 +603,8 @@ def mmqgisx_attribute_join(qgis, layername, infilename, joinfield, joinattribute
602603
if addlayer:
603604
qgis.addVectorLayer(outfilename, os.path.basename(outfilename), "ogr")
604605

605-
qgis.mainWindow().statusBar().showMessage(str(matched_count) + " records joined from " + \
606-
str(feature_count) + " shape records and " + str(len(csv_data)) + " CSV file records")
606+
qgis.mainWindow().statusBar().showMessage(unicode(matched_count) + " records joined from " + \
607+
unicode(feature_count) + " shape records and " + unicode(len(csv_data)) + " CSV file records")
607608

608609
return None
609610

@@ -658,8 +659,8 @@ def mmqgisx_set_color_map(qgis, layername, bandname, lowvalue, midvalue, highval
658659
os.write(outfile, "<mContrastEnhancementAlgorithm>StretchToMinimumMaximum</mContrastEnhancementAlgorithm>")
659660
os.write(outfile, "<contrastEnhancementMinMaxValues>")
660661
os.write(outfile, "<minMaxEntry>")
661-
os.write(outfile, "<min>" + str(lowvalue) + "</min>")
662-
os.write(outfile, "<max>" + str(highvalue) + "</max>")
662+
os.write(outfile, "<min>" + unicode(lowvalue) + "</min>")
663+
os.write(outfile, "<max>" + unicode(highvalue) + "</max>")
663664
os.write(outfile, "</minMaxEntry>")
664665
os.write(outfile, "</contrastEnhancementMinMaxValues>")
665666
os.write(outfile, "<mNoDataValue mValidNoDataValue=\"true\" >-1.000000</mNoDataValue>")
@@ -678,19 +679,19 @@ def mmqgisx_set_color_map(qgis, layername, bandname, lowvalue, midvalue, highval
678679
if (interpolate < 0.5):
679680
interpolate = interpolate * 2.0;
680681
value = lowvalue + ((midvalue - lowvalue) * interpolate)
681-
red = str(int(round(lowred + ((midred - lowred) * interpolate))))
682-
green = str(int(round(lowgreen + ((midgreen - lowgreen) * interpolate))))
683-
blue = str(int(round(lowblue + ((midblue - lowblue) * interpolate))))
682+
red = unicode(int(round(lowred + ((midred - lowred) * interpolate))))
683+
green = unicode(int(round(lowgreen + ((midgreen - lowgreen) * interpolate))))
684+
blue = unicode(int(round(lowblue + ((midblue - lowblue) * interpolate))))
684685
os.write(outfile, "<colorRampEntry red=\"" + red + "\" blue=\"" + blue +
685-
"\" green=\"" + green + "\" value=\"" + str(value) + "\" label=\"\"/>\n")
686+
"\" green=\"" + green + "\" value=\"" + unicode(value) + "\" label=\"\"/>\n")
686687
else:
687688
interpolate = (interpolate - 0.5) * 2.0
688689
value = midvalue + ((highvalue - midvalue) * interpolate)
689-
red = str(int(round(midred + ((highred - midred) * interpolate))))
690-
green = str(int(round(midgreen + ((highgreen - midgreen) * interpolate))))
691-
blue = str(int(round(midblue + ((highblue - midblue) * interpolate))))
690+
red = unicode(int(round(midred + ((highred - midred) * interpolate))))
691+
green = unicode(int(round(midgreen + ((highgreen - midgreen) * interpolate))))
692+
blue = unicode(int(round(midblue + ((highblue - midblue) * interpolate))))
692693
os.write(outfile, "<colorRampEntry red=\"" + red + "\" blue=\"" + blue +
693-
"\" green=\"" + green + "\" value=\"" + str(value) + "\" label=\"\"/>\n")
694+
"\" green=\"" + green + "\" value=\"" + unicode(value) + "\" label=\"\"/>\n")
694695

695696
#print str(x) + ", " + str(interpolate) + ", " + str(value)
696697

@@ -722,18 +723,18 @@ def mmqgisx_set_color_map(qgis, layername, bandname, lowvalue, midvalue, highval
722723
interpolate = x / float(steps)
723724
if (interpolate < 0.5):
724725
interpolate = interpolate * 2.0
725-
red = str(int(round(lowred + ((midred - lowred) * interpolate))))
726-
green = str(int(round(lowgreen + ((midgreen - lowgreen) * interpolate))))
727-
blue = str(int(round(lowblue + ((midblue - lowblue) * interpolate))))
726+
red = unicode(int(round(lowred + ((midred - lowred) * interpolate))))
727+
green = unicode(int(round(lowgreen + ((midgreen - lowgreen) * interpolate))))
728+
blue = unicode(int(round(lowblue + ((midblue - lowblue) * interpolate))))
728729
else:
729730
interpolate = (interpolate - 0.5) * 2.0
730-
red = str(int(round(midred + ((highred - midred) * interpolate))))
731-
green = str(int(round(midgreen + ((highgreen - midgreen) * interpolate))))
732-
blue = str(int(round(midblue + ((highblue - midblue) * interpolate))))
731+
red = unicode(int(round(midred + ((highred - midred) * interpolate))))
732+
green = unicode(int(round(midgreen + ((highgreen - midgreen) * interpolate))))
733+
blue = unicode(int(round(midblue + ((highblue - midblue) * interpolate))))
733734

734735
os.write(outfile, "<symbol>\n")
735-
os.write(outfile, "<lowervalue>" + str(values[x]) + "</lowervalue>\n")
736-
os.write(outfile, "<uppervalue>" + str(values[x + 1]) + "</uppervalue>\n")
736+
os.write(outfile, "<lowervalue>" + unicode(values[x]) + "</lowervalue>\n")
737+
os.write(outfile, "<uppervalue>" + unicode(values[x + 1]) + "</uppervalue>\n")
737738
os.write(outfile, "<label></label>\n")
738739
os.write(outfile, "<pointsymbol>hard:circle</pointsymbol>\n")
739740
os.write(outfile, "<pointsize>2</pointsize>\n")
@@ -744,8 +745,8 @@ def mmqgisx_set_color_map(qgis, layername, bandname, lowvalue, midvalue, highval
744745
os.write(outfile, "<outlinecolor red=\"128\" blue=\"128\" green=\"128\"/>\n")
745746
os.write(outfile, "<outlinestyle>SolidLine</outlinestyle>\n")
746747
os.write(outfile, "<outlinewidth>0.26</outlinewidth>\n")
747-
os.write(outfile, "<fillcolor red=\"" + str(red) + "\" blue=\"" +
748-
str(blue) + "\" green=\"" + str(green) + "\"/>")
748+
os.write(outfile, "<fillcolor red=\"" + unicode(red) + "\" blue=\"" +
749+
unicode(blue) + "\" green=\"" + unicode(green) + "\"/>")
749750
os.write(outfile, "<fillpattern>SolidPattern</fillpattern>\n")
750751
os.write(outfile, "<texturepath></texturepath>\n")
751752
os.write(outfile, "</symbol>\n")
@@ -817,7 +818,7 @@ def mmqgisx_delete_columns(qgis, layername, columns, savename, addlayer):
817818

818819
while layer.dataProvider().nextFeature(feature):
819820
qgis.mainWindow().statusBar().showMessage("Writing feature " + \
820-
str(feature.id()) + " of " + str(featurecount))
821+
unicode(feature.id()) + " of " + unicode(featurecount))
821822

822823
attributes = {}
823824
for index, field in srcfields.iteritems():
@@ -831,7 +832,7 @@ def mmqgisx_delete_columns(qgis, layername, columns, savename, addlayer):
831832
if addlayer:
832833
vlayer = qgis.addVectorLayer(savename, os.path.basename(savename), "ogr")
833834

834-
qgis.mainWindow().statusBar().showMessage(str(len(columns)) + " columns deleted and written to " + savename)
835+
qgis.mainWindow().statusBar().showMessage(unicode(len(columns)) + " columns deleted and written to " + savename)
835836

836837
return None
837838

@@ -875,7 +876,7 @@ def mmqgisx_delete_duplicate_geometries(qgis, layername, savename, addlayer):
875876
# NULL duplicate geometries
876877
for x in range(0, len(geometries) - 1):
877878
if geometries[x] != None:
878-
qgis.mainWindow().statusBar().showMessage("Checking feature " + str(x))
879+
qgis.mainWindow().statusBar().showMessage("Checking feature " + unicode(x))
879880
for y in range(x + 1, len(geometries)):
880881
#print "Comparing " + str(x) + ", " + str(y)
881882
if geometries[x] == geometries[y]:
@@ -898,8 +899,8 @@ def mmqgisx_delete_duplicate_geometries(qgis, layername, savename, addlayer):
898899
if addlayer:
899900
qgis.addVectorLayer(savename, os.path.basename(savename), "ogr")
900901

901-
qgis.mainWindow().statusBar().showMessage(str(writecount) + " of " + \
902-
str(layer.dataProvider().featureCount()) + \
902+
qgis.mainWindow().statusBar().showMessage(unicode(writecount) + " of " + \
903+
unicode(layer.dataProvider().featureCount()) + \
903904
" unique features written to " + savename)
904905

905906
return None
@@ -916,7 +917,7 @@ def mmqgisx_float_to_text(qgis, layername, attributes, separator,
916917
return "Project has no active vector layer to convert: " + layername
917918

918919
if decimals < 0:
919-
return "Invalid number of decimals: " + str(decimals)
920+
return "Invalid number of decimals: " + unicode(decimals)
920921

921922
if len(savename) <= 0:
922923
return "No output filename given"
@@ -959,7 +960,7 @@ def mmqgisx_float_to_text(qgis, layername, attributes, separator,
959960
layer.dataProvider().rewind()
960961
while layer.dataProvider().nextFeature(feature):
961962
qgis.mainWindow().statusBar().showMessage("Writing feature " + \
962-
str(feature.id()) + " of " + str(featurecount))
963+
unicode(feature.id()) + " of " + unicode(featurecount))
963964

964965
attributes = feature.attributeMap()
965966
for index, field in layer.dataProvider().fields().iteritems():
@@ -978,7 +979,7 @@ def mmqgisx_float_to_text(qgis, layername, attributes, separator,
978979
if addlayer:
979980
vlayer = qgis.addVectorLayer(savename, os.path.basename(savename), "ogr")
980981

981-
qgis.mainWindow().statusBar().showMessage(str(changecount) + " numeric converted to text")
982+
qgis.mainWindow().statusBar().showMessage(unicode(changecount) + " numeric converted to text")
982983

983984
return None
984985

@@ -996,14 +997,18 @@ def mmqgisx_geocode_google(qgis, csvname, shapefilename, notfoundfile, keys, add
996997
try:
997998
dialect = csv.Sniffer().sniff(infile.read(2048))
998999
except:
999-
return "Bad CSV file - verify that your delimiters are consistent: " + unicode(csvname)
1000+
return "Failure reading " + unicode(csvname) + ": " + unicode(sys.exc_info()[1])
10001001

1001-
infile.seek(0)
1002-
reader = csv.reader(infile, dialect)
10031002

10041003
fields = {}
10051004
indices = []
1006-
header = reader.next()
1005+
try:
1006+
infile.seek(0)
1007+
reader = csv.reader(infile, dialect)
1008+
header = reader.next()
1009+
except:
1010+
return "Failure reading " + unicode(csvname) + ": " + unicode(sys.exc_info()[1])
1011+
10071012
for x in range(0, len(header)):
10081013
for y in range(0, len(keys)):
10091014
if header[x] == keys[y]:
@@ -1046,8 +1051,8 @@ def mmqgisx_geocode_google(qgis, csvname, shapefilename, notfoundfile, keys, add
10461051
time.sleep(0.5) # to avoid Google rate quota limits
10471052

10481053
recordcount += 1
1049-
qgis.mainWindow().statusBar().showMessage("Geocoding " + str(recordcount) +
1050-
" (" + str(notfoundcount) + " not found)")
1054+
qgis.mainWindow().statusBar().showMessage("Geocoding " + unicode(recordcount) +
1055+
" (" + unicode(notfoundcount) + " not found)")
10511056

10521057
address = ""
10531058
for x in indices:
@@ -1101,7 +1106,7 @@ def mmqgisx_geocode_google(qgis, csvname, shapefilename, notfoundfile, keys, add
11011106
if addlayer and (recordcount > notfoundcount) and (recordcount > 0):
11021107
vlayer = qgis.addVectorLayer(shapefilename, os.path.basename(shapefilename), "ogr")
11031108

1104-
qgis.mainWindow().statusBar().showMessage(str(recordcount - notfoundcount) + " of " + str(recordcount)
1109+
qgis.mainWindow().statusBar().showMessage(unicode(recordcount - notfoundcount) + " of " + unicode(recordcount)
11051110
+ " addresses geocoded with Google")
11061111

11071112
return None
@@ -1138,9 +1143,9 @@ def mmqgisx_geometry_convert(qgis, layername, newtype, splitnodes, savename, add
11381143
layer.dataProvider().select(layer.dataProvider().attributeIndexes())
11391144
layer.dataProvider().rewind()
11401145
while layer.dataProvider().nextFeature(feature):
1141-
shapeid = str(feature.id()).strip()
1146+
shapeid = unicode(feature.id()).strip()
11421147

1143-
qgis.mainWindow().statusBar().showMessage("Converting feature " + shapeid + " of " + str(feature_count))
1148+
qgis.mainWindow().statusBar().showMessage("Converting feature " + shapeid + " of " + unicode(feature_count))
11441149

11451150
if (feature.geometry().wkbType() == QGis.WKBPoint) or \
11461151
(feature.geometry().wkbType() == QGis.WKBPoint25D):
@@ -1332,7 +1337,7 @@ def mmqgisx_geometry_convert(qgis, layername, newtype, splitnodes, savename, add
13321337
if addlayer:
13331338
qgis.addVectorLayer(savename, os.path.basename(savename), "ogr")
13341339

1335-
qgis.mainWindow().statusBar().showMessage(str(feature_count) + " features converted")
1340+
qgis.mainWindow().statusBar().showMessage(unicode(feature_count) + " features converted")
13361341

13371342
return None
13381343

@@ -1379,16 +1384,16 @@ def mmqgisx_geometry_export_to_csv(qgis, layername, node_filename, attribute_fil
13791384
layer.dataProvider().select(layer.dataProvider().attributeIndexes())
13801385
layer.dataProvider().rewind()
13811386
while layer.dataProvider().nextFeature(feature):
1382-
shapeid = str(feature.id()).strip()
1387+
shapeid = unicode(feature.id()).strip()
13831388

1384-
qgis.mainWindow().statusBar().showMessage("Exporting feature " + shapeid + " of " + str(feature_count))
1389+
qgis.mainWindow().statusBar().showMessage("Exporting feature " + shapeid + " of " + unicode(feature_count))
13851390

13861391
if (feature.geometry() == None):
13871392
return "Cannot export layer with no shape data"
13881393

13891394
elif (feature.geometry().type() == QGis.Point):
13901395
point = feature.geometry().asPoint()
1391-
row = [ shapeid, str(point.x()), str(point.y()) ]
1396+
row = [ shapeid, unicode(point.x()), unicode(point.y()) ]
13921397
for attindex, attribute in feature.attributeMap().iteritems():
13931398
row.append(unicode(attribute.toString()).encode("iso-8859-1"))
13941399
node_writer.writerow(row)
@@ -1398,7 +1403,7 @@ def mmqgisx_geometry_export_to_csv(qgis, layername, node_filename, attribute_fil
13981403
polyline = feature.geometry().asPolyline()
13991404
#for point in polyline.iteritems():
14001405
for point in polyline:
1401-
row = [ shapeid, str(point.x()), str(point.y()) ]
1406+
row = [ shapeid, unicode(point.x()), unicode(point.y()) ]
14021407
node_writer.writerow(row)
14031408

14041409
row = []
@@ -1411,7 +1416,7 @@ def mmqgisx_geometry_export_to_csv(qgis, layername, node_filename, attribute_fil
14111416
polygon = feature.geometry().asPolygon()
14121417
for polyline in polygon:
14131418
for point in polyline:
1414-
row = [ shapeid, str(point.x()), str(point.y()) ]
1419+
row = [ shapeid, unicode(point.x()), unicode(point.y()) ]
14151420
node_writer.writerow(row)
14161421

14171422
row = [shapeid]
@@ -1423,7 +1428,7 @@ def mmqgisx_geometry_export_to_csv(qgis, layername, node_filename, attribute_fil
14231428
if (layer.geometryType() != QGis.Point):
14241429
del attributefile
14251430

1426-
qgis.mainWindow().statusBar().showMessage(str(feature_count) + " records exported")
1431+
qgis.mainWindow().statusBar().showMessage(unicode(feature_count) + " records exported")
14271432

14281433
return None
14291434

@@ -1516,7 +1521,7 @@ def mmqgisx_geometry_import_from_csv(qgis, node_filename, long_colname, lat_coln
15161521
if reading and (len(row) > long_col) and (len(row) > lat_col) and (len(row) > shapeid_col) \
15171522
and mmqgisx_is_float(row[long_col]) and mmqgisx_is_float(row[lat_col]):
15181523
node_count += 1
1519-
qgis.mainWindow().statusBar().showMessage("Importing node " + str(node_count))
1524+
qgis.mainWindow().statusBar().showMessage("Importing node " + unicode(node_count))
15201525
point = QgsPoint(float(row[long_col]), float(row[lat_col]))
15211526
else:
15221527
point = False
@@ -1577,7 +1582,7 @@ def mmqgisx_geometry_import_from_csv(qgis, node_filename, long_colname, lat_coln
15771582
if addlayer:
15781583
qgis.addVectorLayer(shapefile_name, os.path.basename(shapefile_name), "ogr")
15791584

1580-
qgis.mainWindow().statusBar().showMessage("Loaded " + str(shape_count) + " shapes (" + str(node_count) + " nodes")
1585+
qgis.mainWindow().statusBar().showMessage("Loaded " + unicode(shape_count) + " shapes (" + unicode(node_count) + " nodes")
15811586

15821587
return None
15831588

@@ -1590,10 +1595,10 @@ def mmqgisx_grid(qgis, savename, hspacing, vspacing, width, height, originx, ori
15901595
return "No output filename given"
15911596

15921597
if (hspacing <= 0) or (vspacing <= 0):
1593-
return "Invalid grid spacing: " + str(hspacing) + " / " + str(vspacing)
1598+
return "Invalid grid spacing: " + unicode(hspacing) + " / " + unicode(vspacing)
15941599

15951600
if (width <= hspacing) or (width < vspacing):
1596-
return "Invalid width / height: " + str(width) + " / " + str(height)
1601+
return "Invalid width / height: " + unicode(width) + " / " + unicode(height)
15971602

15981603
fields = {
15991604
0 : QgsField("longitude", QVariant.Double, "real", 24, 16, "Longitude"),
@@ -1751,7 +1756,7 @@ def mmqgisx_grid(qgis, savename, hspacing, vspacing, width, height, originx, ori
17511756
if addlayer:
17521757
qgis.addVectorLayer(savename, os.path.basename(savename), "ogr")
17531758

1754-
qgis.mainWindow().statusBar().showMessage(str(linecount) + " feature grid shapefile created")
1759+
qgis.mainWindow().statusBar().showMessage(unicode(linecount) + " feature grid shapefile created")
17551760

17561761
return None
17571762

@@ -1790,7 +1795,7 @@ def mmqgisx_gridify_layer(qgis, layername, hspacing, vspacing, savename, addlaye
17901795

17911796
feature = QgsFeature()
17921797
while layer.dataProvider().nextFeature(feature):
1793-
qgis.mainWindow().statusBar().showMessage("Gridifying feature " + str(feature_number + 1))
1798+
qgis.mainWindow().statusBar().showMessage("Gridifying feature " + unicode(feature_number + 1))
17941799

17951800
geometry = feature.geometry()
17961801

@@ -1870,8 +1875,8 @@ def mmqgisx_gridify_layer(qgis, layername, hspacing, vspacing, savename, addlaye
18701875
geometry = geometry.fromMultiPolygon(newmultipolygon)
18711876

18721877
else:
1873-
return "Unknown geometry type " + str(geometry.wkbType()) + \
1874-
" on feature " + str(feature_number + 1)
1878+
return "Unknown geometry type " + unicode(geometry.wkbType()) + \
1879+
" on feature " + unicode(feature_number + 1)
18751880

18761881
# print "Closing feature"
18771882

@@ -1889,7 +1894,7 @@ def mmqgisx_gridify_layer(qgis, layername, hspacing, vspacing, savename, addlaye
18891894
vlayer = qgis.addVectorLayer(savename, os.path.basename(savename), "ogr")
18901895

18911896
qgis.mainWindow().statusBar().showMessage("Gridified shapefile created (" + \
1892-
str(deleted_points) + " of " + str(point_count) + " points deleted)")
1897+
unicode(deleted_points) + " of " + unicode(point_count) + " points deleted)")
18931898

18941899
return None
18951900

@@ -1953,7 +1958,7 @@ def mmqgisx_hub_distance(qgis, sourcename, destname, nameattributename, units, a
19531958
hubslayer.dataProvider().select(hubslayer.dataProvider().attributeIndexes())
19541959
hubslayer.dataProvider().rewind()
19551960
while hubslayer.dataProvider().nextFeature(feature):
1956-
qgis.mainWindow().statusBar().showMessage("Reading hub " + str(feature.id()))
1961+
qgis.mainWindow().statusBar().showMessage("Reading hub " + unicode(feature.id()))
19571962
hubs.append(mmqgisx_hub(feature.geometry().boundingBox().center(), \
19581963
feature.attributeMap()[nameindex].toString()))
19591964

@@ -2011,8 +2016,8 @@ def mmqgisx_hub_distance(qgis, sourcename, destname, nameattributename, units, a
20112016
outfile.addFeature(outfeature)
20122017

20132018
writecount += 1
2014-
qgis.mainWindow().statusBar().showMessage("Writing feature " + str(writecount) +\
2015-
" of " + str(sourcelayer.dataProvider().featureCount()))
2019+
qgis.mainWindow().statusBar().showMessage("Writing feature " + unicode(writecount) +\
2020+
" of " + unicode(sourcelayer.dataProvider().featureCount()))
20162021

20172022
del outfile
20182023

@@ -2077,7 +2082,7 @@ def mmqgisx_hub_lines(qgis, hubname, hubattr, spokename, spokeattr, savename, ad
20772082
spokex = spokepoint.geometry().boundingBox().center().x()
20782083
spokey = spokepoint.geometry().boundingBox().center().y()
20792084
spokeid = unicode(spokepoint.attributeMap()[spokeindex].toString())
2080-
qgis.mainWindow().statusBar().showMessage("Reading spoke " + str(spokepoint.id()))
2085+
qgis.mainWindow().statusBar().showMessage("Reading spoke " + unicode(spokepoint.id()))
20812086

20822087
# Scan hub points to find first matching hub
20832088
hubpoint = QgsFeature()
@@ -2112,7 +2117,7 @@ def mmqgisx_hub_lines(qgis, hubname, hubattr, spokename, spokeattr, savename, ad
21122117
if addlayer:
21132118
qgis.addVectorLayer(savename, os.path.basename(savename), "ogr")
21142119

2115-
qgis.mainWindow().statusBar().showMessage(str(linecount) + " hub/spoke lines written to " + savename)
2120+
qgis.mainWindow().statusBar().showMessage(unicode(linecount) + " hub/spoke lines written to " + savename)
21162121

21172122
return None
21182123

@@ -2175,7 +2180,7 @@ def mmqgisx_label_point(qgis, layername, labelattributename, savename, addlayer)
21752180
readcount += 1
21762181
if not (readcount % 10):
21772182
qgis.mainWindow().statusBar().showMessage( \
2178-
"Reading feature " + str(readcount) + " of " + str(feature_count))
2183+
"Reading feature " + unicode(readcount) + " of " + unicode(feature_count))
21792184

21802185

21812186

@@ -2201,14 +2206,14 @@ def mmqgisx_label_point(qgis, layername, labelattributename, savename, addlayer)
22012206
writecount += 1
22022207
if not (writecount % 10):
22032208
qgis.mainWindow().statusBar().showMessage( \
2204-
"Writing feature " + str(writecount) + " of " + str(len(features)))
2209+
"Writing feature " + unicode(writecount) + " of " + unicode(len(features)))
22052210

22062211
del outfile
22072212

22082213
if addlayer:
22092214
qgis.addVectorLayer(savename, os.path.basename(savename), "ogr")
22102215

2211-
qgis.mainWindow().statusBar().showMessage(str(writecount) + " label shapefile created from " + layername)
2216+
qgis.mainWindow().statusBar().showMessage(unicode(writecount) + " label shapefile created from " + layername)
22122217

22132218
return None
22142219

@@ -2292,15 +2297,15 @@ def mmqgisx_merge(qgis, layernames, savename, addlayer):
22922297
outfile.addFeature(feature)
22932298
featurecount += 1
22942299
qgis.mainWindow().statusBar().showMessage("Writing feature " + \
2295-
str(featurecount) + " of " + str(totalfeaturecount))
2300+
unicode(featurecount) + " of " + unicode(totalfeaturecount))
22962301

22972302
del outfile
22982303

22992304
# Add the merged layer to the project
23002305
if addlayer:
23012306
qgis.addVectorLayer(savename, os.path.basename(savename), "ogr")
23022307

2303-
qgis.mainWindow().statusBar().showMessage(str(featurecount) + " records exported")
2308+
qgis.mainWindow().statusBar().showMessage(unicode(featurecount) + " records exported")
23042309

23052310
return None
23062311

@@ -2344,8 +2349,8 @@ def mmqgisx_select(qgis, layername, selectattributename, comparisonvalue, compar
23442349
while layer.dataProvider().nextFeature(feature):
23452350
if (comparisonname == 'begins with') or (comparisonname == 'contains') or \
23462351
(feature.attributeMap()[selectindex].type() == QVariant.String):
2347-
x = str(feature.attributeMap()[selectindex].toString())
2348-
y = comparisonvalue
2352+
x = unicode(feature.attributeMap()[selectindex].toString())
2353+
y = unicode(comparisonvalue)
23492354
else:
23502355
# print feature.attributeMap()[selectindex].typeName()
23512356
x = float(feature.attributeMap()[selectindex].toString())
@@ -2375,15 +2380,15 @@ def mmqgisx_select(qgis, layername, selectattributename, comparisonvalue, compar
23752380
writecount += 1
23762381

23772382
qgis.mainWindow().statusBar().showMessage("Scanning feature " + \
2378-
str(readcount) + " of " + str(layer.dataProvider().featureCount()) + \
2379-
"(" + str(writecount) + " selected)")
2383+
unicode(readcount) + " of " + unicode(layer.dataProvider().featureCount()) + \
2384+
"(" + unicode(writecount) + " selected)")
23802385

23812386
del outfile
23822387

23832388
if addlayer:
23842389
vlayer = qgis.addVectorLayer(savename, os.path.basename(savename), "ogr")
23852390

2386-
qgis.mainWindow().statusBar().showMessage("Selected " + str(writecount) + " features to " + savename)
2391+
qgis.mainWindow().statusBar().showMessage("Selected " + unicode(writecount) + " features to " + savename)
23872392

23882393
return None
23892394

@@ -2432,9 +2437,9 @@ def mmqgisx_sort(qgis, layername, sortattributename, savename, direction, addlay
24322437
elif (featuretype == QVariant.Double):
24332438
record = feature.id(), feature.attributeMap()[sortindex].toDouble()
24342439
else:
2435-
record = feature.id(), str(feature.attributeMap()[sortindex].toString())
2440+
record = feature.id(), unicode(feature.attributeMap()[sortindex].toString())
24362441

2437-
qgis.mainWindow().statusBar().showMessage("Reading feature " + str(feature.id()))
2442+
qgis.mainWindow().statusBar().showMessage("Reading feature " + unicode(feature.id()))
24382443
table.append(record)
24392444

24402445
if (direction.lower() == "descending"):
@@ -2448,8 +2453,8 @@ def mmqgisx_sort(qgis, layername, sortattributename, savename, direction, addlay
24482453
layer.featureAtId(record[0], feature)
24492454
outfile.addFeature(feature)
24502455
writecount += 1
2451-
qgis.mainWindow().statusBar().showMessage("Writing feature " + str(writecount) +\
2452-
" of " + str(len(table)))
2456+
qgis.mainWindow().statusBar().showMessage("Writing feature " + unicode(writecount) +\
2457+
" of " + unicode(len(table)))
24532458

24542459
del outfile
24552460

@@ -2566,11 +2571,11 @@ def mmqgisx_geocode_street_layer(qgis, layername, csvname, addressfield, shapefi
25662571
while layer.dataProvider().nextFeature(feature):
25672572
if (feature.id() % 20) == 0:
25682573
qgis.mainWindow().statusBar().showMessage("Searching street " + \
2569-
str(feature.id()) + " of " + str(feature_count) + \
2570-
" (" + str(matched_count) + " matched)")
2574+
unicode(feature.id()) + " of " + unicode(feature_count) + \
2575+
" (" + unicode(matched_count) + " matched)")
25712576

25722577
attributes = feature.attributeMap()
2573-
key = mmqgisx_searchable_streetname(str(attributes[streetname_attribute].toString()))
2578+
key = mmqgisx_searchable_streetname(unicode(attributes[streetname_attribute].toString()))
25742579

25752580
# Check each address against this feature
25762581
for row in range(0, len(csv_attributes)):
@@ -2654,8 +2659,8 @@ def mmqgisx_geocode_street_layer(qgis, layername, csvname, addressfield, shapefi
26542659
if matched_count and addlayer:
26552660
vlayer = qgis.addVectorLayer(shapefilename, os.path.basename(shapefilename), "ogr")
26562661

2657-
qgis.mainWindow().statusBar().showMessage(str(matched_count) + " of " + str(len(csv_attributes)) \
2658-
+ " addresses geocoded from " + str(feature_count) + " street records")
2662+
qgis.mainWindow().statusBar().showMessage(unicode(matched_count) + " of " + unicode(len(csv_attributes)) \
2663+
+ " addresses geocoded from " + unicode(feature_count) + " street records")
26592664

26602665
return None
26612666

@@ -2748,12 +2753,12 @@ def mmqgisx_text_to_float(qgis, layername, attributes, savename, addlayer):
27482753
layer.dataProvider().rewind()
27492754
while layer.dataProvider().nextFeature(feature):
27502755
qgis.mainWindow().statusBar().showMessage("Writing feature " + \
2751-
str(feature.id()) + " of " + str(featurecount))
2756+
unicode(feature.id()) + " of " + unicode(featurecount))
27522757

27532758
attributes = feature.attributeMap()
27542759
for index, field in layer.dataProvider().fields().iteritems():
27552760
if (field.type() != destfields[index].type()):
2756-
string = str(attributes[index].toString())
2761+
string = unicode(attributes[index].toString())
27572762
multiplier = 1.0
27582763
if string.find("%") >= 0:
27592764
multiplier = 1 / 100.0
@@ -2779,7 +2784,7 @@ def mmqgisx_text_to_float(qgis, layername, attributes, savename, addlayer):
27792784
if addlayer:
27802785
vlayer = qgis.addVectorLayer(savename, os.path.basename(savename), "ogr")
27812786

2782-
qgis.mainWindow().statusBar().showMessage(str(changecount) + " text converted to numeric")
2787+
qgis.mainWindow().statusBar().showMessage(unicode(changecount) + " text converted to numeric")
27832788

27842789
return None
27852790

@@ -2819,7 +2824,7 @@ def mmqgisx_voronoi_diagram(qgis, sourcelayer, savename, addlayer):
28192824
# Re-read by feature ID because nextFeature() doesn't always seem to read attributes
28202825
layer.featureAtId(feature.id(), feature)
28212826
geometry = feature.geometry()
2822-
qgis.mainWindow().statusBar().showMessage("Reading feature " + str(feature.id()))
2827+
qgis.mainWindow().statusBar().showMessage("Reading feature " + unicode(feature.id()))
28232828
# print str(feature.id()) + ": " + str(geometry.wkbType())
28242829
if geometry.wkbType() == QGis.WKBPoint:
28252830
points.append( (geometry.asPoint().x(), geometry.asPoint().y(), feature.attributeMap()) )
@@ -2839,7 +2844,7 @@ def mmqgisx_voronoi_diagram(qgis, sourcelayer, savename, addlayer):
28392844
# for center in [ points[17] ]:
28402845
# print "\nCenter, " + str(center[0]) + ", " + str(center[1])
28412846
qgis.mainWindow().statusBar().showMessage("Processing point " + \
2842-
str(center[0]) + ", " + str(center[1]))
2847+
unicode(center[0]) + ", " + unicode(center[1]))
28432848

28442849
# Borders are tangents to midpoints between all neighbors
28452850
tangents = []
@@ -2981,7 +2986,7 @@ def mmqgisx_voronoi_diagram(qgis, sourcelayer, savename, addlayer):
29812986
if addlayer:
29822987
qgis.addVectorLayer(savename, os.path.basename(savename), "ogr")
29832988

2984-
qgis.mainWindow().statusBar().showMessage("Created " + str(len(points)) + " polygon Voronoi diagram")
2989+
qgis.mainWindow().statusBar().showMessage("Created " + unicode(len(points)) + " polygon Voronoi diagram")
29852990

29862991
return None
29872992

@@ -2993,8 +2998,8 @@ def __init__(self, x, y):
29932998
self.distance = 0
29942999

29953000
def list(self, title):
2996-
print title + ", " + str(self.x) + ", " + str(self.y) + \
2997-
", angle " + str(self.angle * 180 / pi) + ", distance " + str(self.distance)
3001+
print title + ", " + unicode(self.x) + ", " + unicode(self.y) + \
3002+
", angle " + unicode(self.angle * 180 / pi) + ", distance " + unicode(self.distance)
29983003

29993004
def angleval(self):
30003005
return self.angle

0 commit comments

Comments
 (0)
Please sign in to comment.