calvinmetcalf / esri2topo

MIT License
12 stars 3 forks source link

TypeError: object of type 'NoneType' has no len() #1

Open maphew opened 10 years ago

maphew commented 10 years ago

First attempt to use esri2topo. Haven't attempted any troubleshooting yet, filing the issue new to have something to hang more info on as it progresses.

input shapefile: https://dl.dropboxusercontent.com/u/227354/gisdata/simple_tissot.zip

D:\GitHub\esri2topo\scripts>python single.py b:\code\cahill-keyes\data\tissot.shp simple_tissot.topojson
Found 60 features
Traceback (most recent call last):
  File "single.py", line 9, in <module>
    topojson(tempfl,GetParameterAsText(1))
  File "D:\GitHub\esri2topo\scripts\topojson\conversion.py", line 16, in convert
    out = topology(inpt,options)
  File "D:\GitHub\esri2topo\scripts\topojson\topology.py", line 151, in topology
    makeTopoInst = makeTopo(objects)
  File "D:\GitHub\esri2topo\scripts\topojson\mytypes.py", line 14, in __init__
    self.obj(obj)
  File "D:\GitHub\esri2topo\scripts\topojson\mytypes.py", line 46, in obj
    self.outObj[fName]=self.FeatureCollection(obj[fName])
  File "D:\GitHub\esri2topo\scripts\topojson\topology.py", line 120, in FeatureCollection
    collection['geometries'] = map(self.Feature,collection['features'])
  File "D:\GitHub\esri2topo\scripts\topojson\topology.py", line 117, in Feature
    return self.geometry(geometry);
  File "D:\GitHub\esri2topo\scripts\topojson\topology.py", line 137, in geometry
    types.geometry(self,geometry)
  File "D:\GitHub\esri2topo\scripts\topojson\mytypes.py", line 68, in geometry
    return self.Polygon(geometry)
  File "D:\GitHub\esri2topo\scripts\topojson\topology.py", line 128, in Polygon
    polygon['arcs'] = map(ln.lineClosed,polygon['coordinates'])
  File "D:\GitHub\esri2topo\scripts\topojson\line.py", line 141, in lineClosed
    return self.line(points,False)
  File "D:\GitHub\esri2topo\scripts\topojson\line.py", line 104, in line
    if k == n and len(p) > 1:
TypeError: object of type 'NoneType' has no len()
calvinmetcalf commented 10 years ago

Null geometry On Dec 20, 2013 7:02 PM, "matt wilkie" notifications@github.com wrote:

First attempt to use esri2topo. Haven't attempted any troubleshooting yet, filing the issue new to have something to hang more info on as it progresses.

D:\GitHub\esri2topo\scripts>python single.py b:\code\cahill-keyes\data\tissot.shp simple_tissot.topojson Found 60 features Traceback (most recent call last): File "single.py", line 9, in topojson(tempfl,GetParameterAsText(1)) File "D:\GitHub\esri2topo\scripts\topojson\conversion.py", line 16, in convert out = topology(inpt,options) File "D:\GitHub\esri2topo\scripts\topojson\topology.py", line 151, in topology makeTopoInst = makeTopo(objects) File "D:\GitHub\esri2topo\scripts\topojson\mytypes.py", line 14, in init self.obj(obj) File "D:\GitHub\esri2topo\scripts\topojson\mytypes.py", line 46, in obj self.outObj[fName]=self.FeatureCollection(obj[fName]) File "D:\GitHub\esri2topo\scripts\topojson\topology.py", line 120, in FeatureCollection collection['geometries'] = map(self.Feature,collection['features']) File "D:\GitHub\esri2topo\scripts\topojson\topology.py", line 117, in Feature return self.geometry(geometry); File "D:\GitHub\esri2topo\scripts\topojson\topology.py", line 137, in geometry types.geometry(self,geometry) File "D:\GitHub\esri2topo\scripts\topojson\mytypes.py", line 68, in geometry return self.Polygon(geometry) File "D:\GitHub\esri2topo\scripts\topojson\topology.py", line 128, in Polygon polygon['arcs'] = map(ln.lineClosed,polygon['coordinates']) File "D:\GitHub\esri2topo\scripts\topojson\line.py", line 141, in lineClosed return self.line(points,False) File "D:\GitHub\esri2topo\scripts\topojson\line.py", line 104, in line if k == n and len(p) > 1: TypeError: object of type 'NoneType' has no len()

— Reply to this email directly or view it on GitHubhttps://github.com/calvinmetcalf/esri2topo/issues/1 .

maphew commented 10 years ago

Nope, not empty. Here's the output of the same shape file fed through Mapshaper online conversion service: https://gist.github.com/maphew/8063635

Maybe because it crosses hemispheres?

I'm away from my arcgis computer until January; will follow up more then.

calvinmetcalf commented 10 years ago

it's the ellipse, when you export it to a shapefile it's turned into a polygon by arcmap, but topojson.py sees that as invalid geometry, Try using the topo branch of esri2open, it has my more recent work