มันไม่สะดวกที่จะทำ แต่ต่อไปนี้เป็นไวยากรณ์ที่จำเป็นสำหรับกล่องข้อความนั้น (ฉันเขียนมันในหลาย ๆ บรรทัดเพื่อความชัดเจนเท่านั้น):
{'expression': u'type the expression here',
'length': <type the length>,
'type': <code of the type>,
'name': u'type the field name here',
'precision': <type the precision>}
ตัวอย่างเช่น (remeber เพื่อใช้วงเล็บปีกกา):
{'expression': u'"FLAG1"+"FLAG2"',
'length': 20, 'type': 6,
'name': u'FLAG1',
'precision': 5}
คุณจำเป็นต้องเขียนหลายบรรทัดเช่นเดียวกับข้างต้นเป็นจำนวนของช่องใส่คั่นด้วยเครื่องหมายจุลภาค ตัวอย่างเช่นหากเลเยอร์ของคุณมีสามฟิลด์:
{'expression': u'"FLAG1"+"FLAG2"', 'length': 20, 'type': 6, 'name': u'FLAG1', 'precision': 5}, {'expression': u'100*"FLAG2"', 'length': 20, 'type': 6, 'name': u'FLAG2', 'precision': 5}, {'expression': u'"100-"FLAG2"', 'length': 20, 'type': 6, 'name': u'FLAG3', 'precision': 5}
และมันก็ใช้ได้ (มันใช้ได้กับฉัน)
โปรดทราบว่าคุณอาจหลีกเลี่ยงการใช้ไวยากรณ์เชิงพจนานุกรมนี้และใช้ค่าที่ต้องการโดยตรง ตัวอย่างเช่นมีการอ้างอิงถึงตัวอย่างแรกคุณสามารถใช้:
{u'"FLAG1"+"FLAG2"', 20, 6, u'FLAG1', 5}
หากคุณไม่ได้ใช้ไวยากรณ์นี้ข้อผิดพลาดต่อไปนี้จะปรากฏขึ้น:
ไม่มีค่าพารามิเตอร์: การแมปฟิลด์ (แถวที่ 1)