送信したサンプルは、notepad ++などのエディターを使用してファイルを手動で分割できる可能性があることを示しています
1)チャンクごとにヘッダーを作成します。
{"type":"FeatureCollection","features":[
2)ヘッダーの後に多くの機能を配置します。
{"geometry": {"type": "Point", "coordinates": [-103.422819, 20.686477]}, "type": "Feature", "id": "SG_3TspYXmaZcMIB8GxzXcayF_20.686477_-103.422819@1308163237", "properties": {"website": "http://www.buongiorno.com", "city": "M\u00e9xico D.F. ", "name": "Buongiorno", "tags": ["mobile", "vas", "community", "social-networking", "connected-devices", "android", "tablets", "smartphones"], "country": "MX", "classifiers": [{"category": "Professional", "type": "Services", "subcategory": "Computer Services"}], "href": "http://api.simplegeo.com/1.0/features/SG_3TspYXmaZcMIB8GxzXcayF_20.686477_-103.422819@1308163237.json", "address": "Le\u00f3n Tolstoi #18 PH Col. Anzures", "owner": "simplegeo", "postcode": "11590"}},
3)以下でチャンクを終了します:
]}
編集-これは、定義されたサイズの断片にファイルを分割するPythonコードです(機能の数):
import sys
class JsonFile(object):
def __init__(self,file):
self.file = open(file, 'r')
def split(self,csize):
header=self.file.readline()
number=0
while True:
output=open("chunk %s.geojson" %(number),'w')
output.write(header)
number+=1
feature=self.file.readline()
if feature==']}':
break
else:
for i in range(csize):
output.write(feature)
feature=self.file.readline()
if feature==']}':
output.write("]}")
output.close()
sys.exit("Done!")
output.write("]}")
output.close()
if __name__=="__main__":
myfile = JsonFile('places_mx.geojson')
myfile.split(2000) #size of the chunks.