#你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看! #你看!gui忽略sourcedataset_sketchup_,sketchup_in_skip_faces_with_default_material_sketchup_2,sketchup_in_resolve_default_material_sketchup_2,sketchup_in_read_edges_sketchup_2,sketchup_in_read_hidden_elements_sketchup_2,dest dataset_pdf2d_1,pdf2d_out_page_size_PDF2D U 1,PDF2D U Out U页面U Viewport U PDF2D U 1,PDF2D U Out世界U世界U世界U世界U世界U PDF2D U 1,PDF2D U Out默认U不透明度U PDF2D U 1,PDF2D U Out默认U点尺寸U PDF2D U 1,PDF2D U Out U默认U线路宽度U PDF2D U 1,PDF2D U Out面板U可见性U PDF2D U 1,PDF2D U Out世界U PDF2D U世界U PDF2DU 1,PDF2D U PDF2D U OutU随机U随机u特性\类型\颜色\ pdf2d_1,pdf2d_输出\文本\ pdf2d_1,pdf2d_t_字体_目录_pdffd_1,pdffd_out_write_属性_pdffd_1,pdffd_out_压缩_流_pdffd_1,pdfd_out_pdf14_兼容_pdfffd_1,_frame_specs_pdffd_1default_宏目标数据集_pdfff2d$(fm_mf_dir)2dohouse.pdfgui文件名目标数据集_pdffffff2d PDF_文件(*.pdf)124;*.pdf;*.pdf pdf;*.pdf 124;所有_文件(*.*)*.*目标Adobe地理空间PDF文件:默认_macro sourcedataset_sketchup c:\documents and settings\dbagh\my documents\my fme workspace\experials\3d\aec2gisdemo\3dhouse.skpgui多文件源数据集_sketchup_文件(*.skp)*.skp所有文件(*.*)*.*源google sketchup文件:包括[if$(destdataset_pdf2d)=puts real参数'destdataset _pdf2d'必须给定值。出口1;}(二)]include[if$(sourceDataset _SketchUp)=puts real参数'sourceDataset _SketchUp'必须给定值。出口1;}(二)]#你看!开始“标题”!启动wb_headerreader_type sketchupreader_keyword sketchup_2reader_gen_directives skip_faces_with_default_material,no,read_hidden_elements,no,_merge_schemas,yes,read_edges,no,resolve_default_material,yes,tesssellate_donuts,nowriter_type pdf2dwriter_keyword pdf2d_!结束“wb_header”!启动“SketchUp”关键字!结束“wb_header”!start_source_header sketchup sketchup_2生成此映射文件的数据集为:gui文件名source dataset_sketchup_2 sketchup_文件(*.skp)*.skp所有_文件(*.*)*.*源Google sketchup文件:默认_macro sketchup_in_skip_faces_with_default_material_sketchup_2 nosketchup_2_skip_face使用“默认”材料的“s”(sketchup)美元(sketchup中的“sketchup”使用“默认”材料的“sketchup”2)“gui activechoice sketchup中的“skip”使用“默认”材料的“sketchup”否%yes,sketchup中的“resolve”使用“默认”材料的“skip”只使用“back”材料的“sketchup”只使用“默认”材料的“sketchup”面:默认的“macro sketchu”“解析”中的“解析默认”材质“-SketchUp”中的“解析默认”材质“$(SketchUp”中的“解析默认”材质“-SketchUp”中的“图形用户界面选项SketchUp”中的“解析默认”材质“-SketchUp”中的“否”中的“解析默认”材质:默认的“宏”SketchUp”中的“读取边缘“-SketchUp”中的“nosketChup”中的“读取边缘”$(SketchUp_In_Read_Edges_SketchUp_2)“图形用户界面选择SketchUp_In_Read_Edges_SketchUp_2 Yes%No Read Edges:默认的_Macro SketchUp_In_Tessellate_Donuts_SketchUp_2 Nosketchup_2_Tessellate_Donuts”$(SketchUp_In_Tessellate_SketchUp_2)“图形用户界面选择SketchUp_In_Tessellate_SketchUp_2 Yes%No TessellateDonuts:default_macro sketchup_in_read_hidden_elements_sketchup_2 nosketchup_2_read_hidden_elements”$(sketchup_in_read_hidden_elements_sketchup_2)“gui choice sketchup_in_read_hidden_elements_sketchup_2 yes%no read hidden non visible geometry and layers:!结束_source_header!启动$(sourcedataset)!=“”\输入默认宏源数据集_SketchUp_2$(源数据集)\]!结束“wb_header”!启动_source_header sketchup sketchup_2default_macro source dataset_sketchup_2$(sourcedataset_sketchup)sketchup_2_dataset“$(sourcedataset_sketchup_2)”!结束_source_header!启动“wb_headermacro wb_”关键字“pdf2d_1”!结束“wb_header”!start_dest_header pdf2d pdf2d_1譁譁譁譁譁譁譁譁譁譁譁譁譁譁用户输入存储在宏中,然后用于定义要写入的数据集。!结束“目标”标题!启动“wb_headerdefault”宏destdatasetinclude[如果“$(destdataset)”!=“”\放置默认宏目标数据集_pdf2d_1$(目标数据集)\]!结束“wb_header”!开始_dest_header pdfff2d pdfffff2d_1default_mac宏dests集_pdffd_1$(dests集_pdffd)gu文件名dests集_pdfd_1 pdf U文件(*.pdf);*.pdf;所有_文件(*.*);*.*目的Adobe地理空间PDF文件:默认_macpdffffd _页_大小_pdfffd _1 792 6122222222222222df2d _页_大小”$(pdfd _out _页_页_大小_pdfffffff1)“古i string_or_choice pdf2d_out_page_size_pdf2d_1 a3%a4%a5%b5%ledger%legal%legal%half%letter%letter half page size(points):默认_macro pdf2d_out_page_viewport_pdf2d_1_page_viewport“$(pdf2d_out_page_viewport_pdf2d_1)”GUI可选文本pdf2d_out_page_viewport_pdf2d_1地图在页面上的位置(点):默认值_宏pdff2d_out_世界_世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界U世界D_ 1)“gui float pdf2d_out_default_opacity_pdf2d_1 default fill opacity(0-1):default_macro pdf2d_out_default_point_size_pdf2d_1.0pdf2d_1_default_point_size”$(pdf2d_out_default_point_size_pdf2d_1)”gui float pdf2d_out_default_point_size_pdf2d_1 default point radius(points):default_macro pdf2d_out_d默认值_line_width_pdf2d_1 1.0pdf2d_1_默认值_line_wid宽度“$(pdffd_out_默认值_line_wid宽度_pdffd_1)”gui floatpdff2d_out_默认值_默认值_line宽度_pdffd_1默认线宽度(点):默认值_宏pdfff2d_out_面板可见性_pdff2d_1层spdf2d_1_面板可见性“$(pdff2d_out_面板可见性_pdff2d_面板可见性_pdff2d_面板可见性_pdff2d_可见性)“桂菜ce pdf2d_out_panel_visibility_pdf2d_1 layers%pages%无导航面板显示默认的_macro pdf2d_out_随机化_feature_type_color_pdf2d_1 yespdf2d_1_随机化_feature_type_color”$(pdf2d_out_随机化_feature_type_color_pdf2d_1)”gui复选框pdf2d_out_随机化_feature_type_color_pdf2d_1 yes%无随机化功能类型颜色默认值_macro pdf2d_out_rich_text_pdf2d_1 yespdf2d_1_rich_text“$(pdf2d_out_rich_text_pdf2d_1)”gui复选框pdf2d_out_rich_text_pdf2d_1 yes%无格式文本默认值_macro pdf2d_out_font_directories_pdf2d_1_font_directories“$(pdf2d_out_font_directorityes_pdf2d_1)“gui可选的多个pdf2d_out_font_directories_pdf2d_1 TrueType字体目录:默认的_macro pdf2d_out_write_attributes_pdf2d_1 yespdf2d_1_write_attributes”$(pdf2d_out_write_attributes_pdf2d_1)“gui复选框pdf2d_out_write_attributes_pdf2d_1 yes%no write attributes默认的_macro pdf输出压缩流_-PDF2D_1 yes pdf2d_1 _压缩流”$(PDF2D _输出压缩流_-PDF2D_1)“GUI复选框PDF2D _输出压缩流_-PDF2D_1是%否压缩流_宏PDF2D _输出压缩流_-PDF2D _1是%否压缩流_宏PDF2D _输出_PDF14兼容_PDF2D _1-PDF14兼容”$(PDF2D _-PDF14 _兼容_PDF2D _1)“兼容”PDF2D _1“PDF2D _1”1)“PDF2D _兼容”$(PDF2GUI复选框Pdf2d_out_pdf14_compatible_pdf2d_1 yes%no pdf 1.4 compatibledefault_macro_frame_specs_pdf2d_1 gui可选文本_edit_frame_specs_pdf2d_1 frame and page specification linespdf2d_1_frame_specs$(_frame_specs_pdf2d_1)pdf2d_1_dataset“$(destdataset_pdf2d_1)”!结束“目标”标题!结束“headerlog”文件名“$(fm_mf_dir)aec2gishouse2d.log”日志“附加nolog max_features 200log_max_recorded”功能200fm_reprojection_engine fmfm_geometry_handling enhancedfme_stroke_max_deviation 0log_timings yeslog_filter_mask-1默认_宏数据集关键字_sketchup_2 sketchup_2default_macro数据集_关键字_pdf2d_1 pdf2d_1诳诳诳——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————eatultypes_uuuuulayer0 yes“”no————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————--——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————工厂——名称——分解器输入特征——U型层0——递归——不分解——复合材料——不设置——FME——类型——是——零件Gregator_分解输出线功能_类型分解器_分解输出多边形功能_类型分解器_分解输出甜甜圈功能_类型分解器_分解输出聚合功能_类型分解器_分解输出聚合功能_类型分解器_分解器——————————————————————————————————————————————————————————————————工厂——名称——分解器——输入特征——U型分解器——U型分解器——递归——不分解——复合材料——不设置——FME——类型——是——零件——编号——字段——零件——编号——几何——名称——字段——几何——名称——输出点特征——U型——DEAGGregator_2_分解输出线功能_型分解器_2_分解输出多边形功能_型分解器_2_分解输出甜甜圈功能_型分解器_2_分解输出聚合功能_型分解器_2_分解输出聚合功能_型分解器_2_分解器---——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————输出传递的功能_type geometrynameextractor_has_name)#————————————————————————————包括[如果(是=是)放置宏测量器移动器_func@几何体(删除_所有测量)}否则放置宏MeasureMover_func@几何体(移除_Measures,“”)}]工厂定义*teefactory工厂名称measureremover输入功能_类型2dformer_6_2d输出功能_类型measureremover_输出$(measureremover_func)----------------------------------------------------------------工厂定义*teefactory工厂名称tfilter输入功能_type measureremover_输出输出功能_type testfilter_testfilter inputline_0factory_def*testfilter factory_name testfilter_testfilter_0输入功能_type testfilter_testfilter inputline_0 test@value(_geometry_name)=walls boolean_operator或输出传递的feature_type testfilter_walls output failed feature_type testfilter_testfilter inputline_1factory def*testfilter factory_name testfilter_testfilter_type testfilter_testfilter inputline_1 test@value(_geometry_name)=“2d armstrong juniper crossom”test@value(_geometry_name)=“草图Blob灌丛“test@value(_geometry_name)=“2d schematic palo verde2 tree”test@value(_geometry_name)=“2d schematic sparse tree 12'”布尔值_operator or output passed feature_type testfilter_vegeture output failed feature_type testfilter_testfilter inputline_2factory def*testfactory factory_name testfilter_testfactory_2 input feature_type testfilter_testfilter inputline_2 test@value(_geometry_name)=“托架窗口79.5英寸。x 39.25英寸。“test@value(_geometry_name)=”双悬窗69英寸。x 58英寸带竖框的三排“test@value(_geometry_name)=”带双层面板的框架半门和带格栅的窗户“test@value(_geometry_name)=”两个汽车车库门“Boolean”操作员或输出通过的功能_type testfilter_windoors输出失败功能_type testfilter_testfilterinputline_3factory_def*test factory factory_name testfilter_testfactory_3 input feature_type testfilter_testfilter inputline_3 test@value(_geometry_name)=grass test@value(_geometry_name)=redbrick boolean_operator or output passed feature_type testfilter_grass output failed feature_type testfilter_testfilterputline_4factory_def*testfactory factory_name testfilter_testfilter_4 input feature_type testfilter_testfilter inputline_4 test@value(_geometry_name)=concrete boolean_operator or output passed feature_type testfilter_concrete output failed feature_type testfilter_testfilter inputline_5factory_def*test factory factory_name testfilter_testfactory_5 input feature_type testfilter_testfilter inputline_5 test@value(_geometry_name)=patio boolean_operator or output passed feature_type testfilter_patio output failed feature_type testfilter_testfilter inputline_6factory_def*testfactory factory_名称testfilter_test factory_6 input feature_type testfilter_testfilter inputline_6 test@value(_geometry_name)=fence boolean_operator或output passed feature_type testfilter_fence output failed feature_type testfilter_testfilter inputline_7factory def*testfactory_name testfilter_testfactory_7 input feature_type testfilter_testfilterinputline_7 test@value(_geometry_name)=“lima bean pool”布尔值_operator或输出传递的feature_type testfilter_pool output failed feature_type testfilter_testfilterinputline_8factory def*teefactory factory_name testfilter_未过滤的输入featurere_型testfilter_型testfilter输入线_8输出特性_型testfilter_ 工厂定义*teefactory工厂名称“testfilter 输出nuker“输入功能\类型测试过滤器_ #——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————etry名称输出点特征_类型分解器_6 _分解输出线特征_类型分解器_6 _分解输出多边形特征_类型分解器_6 _分解输出甜甜圈特征_类型分解器_6 _分解输出聚合特征_类型分解器_6 _分解输出聚合#——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————_场_几何_名称输出点特征_类型分解器_7 _分解输出线特征_类型分解器_7 _分解输出多边形特征_类型分解器_7 _分解输出甜甜圈特征_类型分解器_7 _分解输出聚合特征_类型分解器_7_分解------------------------------------------------------------------包括[如果(FME=FME点放置宏几何协导员_2_func@geometrytype(FME点)}ELSEIF(FME LINE=FME)Puts Macro GeometryCoercer U 2 _func@GeometryType(FME LINE)}ELSEIF(FME=FME)多边形如果{({ }==是)放置宏几何coercer_2_func@geometrytype(fme_polygon,检查“重复点移除”中的“Z”。}else puts macro geometrycoercer_2_func@geometrytype(fme_polygon)}}elseif(fm_line=fm_arc)puts macro geometrycoercer_2_func@geometrytype(fm_arc,@value(fm_rotation),@value(fm_primary_axis),@value(fm_secondary_axis),@value(fm_start_angle),@value(fm_sweep_angle))}Elseif(FME_Line=FME_Ellipse)Puts Macro GeometryCoercer_2_Func@GeometryType(FME_Ellipse,@Value(FME_Primary_Axis),@Value(FME_Secondary_Axis),@Value(FME_Rotation),Left_Hand_Rule)}elseif(fm_line=fm_text)puts macro geometrycoercer_2_func@geometrytype(fm_text,@value(fm_text_string),@value(fm_text_size),@value(fm_rotation))}elseif(fme_line=fme_composite_surface)puts macro geometrycoercer_2_func@geometrytype(fme_composite_surface)}ELSEIF(FME=FME BREP)Puts Macro GeometryCoercer _2_func@GeometryType(FME BREP U Solid)}]工厂定义*teefactory工厂名称geometrycoercer_2_renamer input feature_type deaggregator_7_deaggregated output feature_type geometrycoercer_2_forned$工厂定义*斩波工厂_name斩波器_2_区域输入特征_type几何coercer _2_强制最大_顶点2斩波器_多边形输出斩波特征_type斩波器---------------------------------------------------------包括[如果(是=是)放置宏测量移动器_2_func@geometry(删除_all_measures)}其他放置宏测量移动器_2_func@几何体(删除_测量,“”)}]工厂定义*teefactory工厂名称MeasureMover_2输入功能_型斩波器_2_斩波输出功能_型MeasureMover_2_输出$(MeasureMover_2_Func)35;-----------------------------------------------------------包括[如果(是=是)}投入宏自交叉工厂*输入功能输入}Else Puts宏SelfIntersectionFactory被忽略输入宏交叉输入功能_类型MeasureMover _2_输出}(二)]工厂定义$(SelfIntersectionFactory)IntersectionFactory工厂名称Intersector_2_自我输入功能_类型MeasureMover_2_输出忽略_节点_高度是自我输入功能_仅输出段功能_类型_uuuuuToIntervent_uuFactory_定义*IntersectionFactory工厂名称IntersectoR_2_all$(intersectioninput)重叠\u count_属性\u重叠段\u count_属性\u段分开\u共线\u段没有节点号\u attr \u节点号忽略\u节点\u高度是输出段功能\u类型intersector \u 2_相交---————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————--——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————ry_name“溶解器_3区域分割器”输入功能_type溶解器_3_区域输出功能_type溶解器_3_区域_0输出功能_类型溶解器_3_区域_1Acer_input_136 input collector“输入功能”_type solver_3_area_1输出功能_type poollabeller_centerpointreplacer_input_136macro poollabeller_workspace_name poollabellermacro$(poollabeller_workspace_name)_xformer_name poollabellermacro$(poollabeller_workspace_name)_sub_doc_name poollabellerDefault_macro poollabeller_workspace_name“”包括[放置macro wb_old_context_u$(poollabeller_workspace_name)$(wb_current_context)输入宏wb_当前_上下文$(poollabeller_工作区名称)]工厂_定义*teefactory工厂_名称“$(poollabeller_工作区名称)_centerpointreplacer _输入_136输入拆分器”输入功能_类型“$(poollabeller_工作区名称)_centerpointreplacer _输入_136”输出功能_类型“$(poollabellLer_Workspace_Name)_CenterPointReplacer_Input_136“3535;------------------------------------------------------Factory_Def*Teefactory Factory_Name$(Poollabeller_Workspace_Name)_CenterPointReplacer输入功能_Type“$(Poollabeller_Workspace_Name)_CenterPointReplacer_Input_136“输出功能_type”$(poollabeller_workspace_name)_centerpointreplacer_centerpoint“@converttopoint()---------------------------------------------------------------------工厂_def*teefactory工厂_name$(poollabeller_workspace_name)_attributeCreator输入功能_键入“$(Poollabeller_workspace_name)_centerpointreplacer_centerpoint”输出功能_type“$(Poollabeller_workspace_name)_attributeCreator_output”@supplyAttributes(编码,_label,pool)---------------------------------------------------------------------工厂定义*teefactory factory_name$(poollabeller_workspace_name)_labelpointreplacer_splitter input feature_type“$(poollabeller_workspace_name)_attributecreator_output”output feature_type_uuu tolabeller_uu factory_def*testfactory factory_name$(poollabeller_workspace_name)_labelpointreplacer_strokefilter input feature_type_uuuu tolabeller_uuufme_u type fme_u arc test@globalvariable(fme_get_mapping_file_flag_keyword_fme_use_rich_geometry)==是输出传递的feature_type_uuuuu tolabeller_uuuu@arc()输出失败的feature_type uuuu tolabeller_uuuu factory_def*teefactory_name$(Poollabeller_workspace_name)_labelpointreplacer_pointer input feature_type_uuu tolabeller_uuuuuufme_geometry fme_point output feature_type“$(poollabeller_workspace_name)_labelpointreplacer_labelpoint”@geometrytype(fme_text,@value(_label),1,0)工厂定义*label factory工厂名称$(poollabeller_workspace_name)_labelpointreplacer_liner input feature_type_uuu tolabeller_uuuuuuufme_type fme_line placement upper_right placement_Distance 0 output point feature_type“$(poollabeller_workspace_name)_labelpointreplacer_labelpoint”@geometrytype(fme_text,@value(_label),1,@value(la labelpoint)belRotation)工厂定义*teefactory工厂名称$(poollabeller_workspace_name)_labelpointreplacer_pipCreator输入功能_type uuuuuTolabeller_uuuuuuuuuOutput功能_type uuuuu topip_uuuuuuuuuuuuuuo@generatepoint()工厂定义*pipComponentsFactory工厂名称$(poollabeller_workspace_name)_标签pointreplacer_pipslitter input feature_type_uuuu topip_uuuuu output point feature_type“$(poollabeller_workspace_name)_labelpointreplacer_labelpoint”@几何体类型(fme_text,@value(_label),1,0)------------------------------------------------------------------工厂定义*teefactorry工厂名称$(Poollabeller_工作区名称)_offsetter_4输入功能_类型“$(Poollabeller_工作区名称)_labelpointreplacer_labelpoint”输出功能_类型“$(Poollabeller_工作区名称)_offsetter_4_offset”@偏移量(-2,0,0)工厂定义*Teefactory工厂名称“$(PoollabellER_工作区_名称)_offsetter_4_offset_219输出收集器“输入功能”类型“$(Poollabeller_工作区_名称)_offsetter_4_offset“输出功能”类型“$(Poollabeller_工作区_名称)_offsetter_4_offset_219”包括[输入宏WB_当前_上下文$(WB_旧_上下文$(Poollabeller_工作区_名称))”]工厂定义*teefactory工厂名称“Poollabeller offsetter”4“U offset”219“Output Renamer/Nuker”输入功能“U type Poollabeller”4“U offsetter”219“Output Feature”U type Poollellar“U offsetter”4“U offset”219ext_sizetcl2 proc pdfstyler_6_font_info set fontparamlist[拆分Arial,1,italic,];设置fontname[lindex$fontparamlist 0];设置gotfontname 0;设置fontsize[lindex$fontparamlist 1];如果[字符串长度$fontname]>0 fme_setattribute pdf_text_font$fontname;设置gotfontname 1;}(二)如果$gotfontname==1&[string length$fontsize]>0&[string为整数$fontsize]fm_setattribute fm_text_size$fontsize;}(二)fme_setattribute pdf_text_rich“否”;如果$gotfontname==1&[lsearch$fontparamlist“bold”]>=0 fme_setattribute pdf_text_bold“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“italic”]>=0 fme setattribute pdf _text _italic“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“strikeout”]>=0 fme setattribute pdf _text _strikethrough“yes”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“underline”]>=0 fme setattribute pdf _text _underline“yes”;}(二)}tcl2 proc pdfstyler_6_line_dash_pattern设置dashpatternlist[拆分”“];对于设置i 0$i<[llength$dashpatternlist]incr i fme setattribute pdf _line dash“$i”[lindex$dashpatternlist$i];}(二)}tcl2 proc pdfstyler_6_get_name if[字符串长度[fme_getattribute]]0 fme_setattribute pdf_name[fme_getattribute];}(二)}工厂定义*teefactory工厂名称pdfstyler_6输入功能_type poollabeller_offsetter_4_offstyler_219输出功能_type pdfstyler_6_styled@tcl2(“pdfstyler_6_get_name”)pdf_tooltip“”pdf_url“”fme_color“0,0,1”fme_fill_color“0,0,1”pdf eu pen_opacity“1.0”pdf_fill_opacity“0.4”pdf_line_width“1.0”pdf_line_cap_style“butt cap”pdf_line_join_style“mitter join”pdf_line_mitter“0.0”@tcl2(“pdfstyler_6_line_dash_pattern”)pdf_line_dash_pattern_phase“0”@tcl2(“pdfstyler_6_font_info”)----------------------------------------------------------------------添加fme_text_sizetcl2 proc pdfstyler_5_font_info设置fontparamlist[拆分Arial,];设置fontname[lindex$fontparamlist 0];设置gotfontname 0;设置fontsize[lindex$fontparamlist 1];如果[字符串长度$fontname]>0 fme_setattribute pdf_text_font$fontname;设置gotfontname 1;}(二)如果$gotfontname==1&[string length$fontsize]>0&[string为整数$fontsize]fm_setattribute fm_text_size$fontsize;}(二)fme_setattribute pdf_text_rich“否”;如果$gotfontname==1&[lsearch$fontparamlist“bold”]>=0 fme_setattribute pdf_text_bold“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“italic”]>=0 fme setattribute pdf _text _italic“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“strikeout”]>=0 fme setattribute pdf _text _strikethrough“yes”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“underline”]>=0 fme setattribute pdf _text _underline“yes”;}(二)}tcl2 proc pdfstyler_5_line_dash_pattern设置dashpatternlist[拆分”“];对于设置i 0$i<[llength$dashpatternlist]incr i fme setattribute pdf _line dash“$i”[lindex$dashpatternlist$i];}(二)}tcl2 proc pdfstyler_5_get_name if[字符串长度[fme_getattribute]]0 fme_setattribute pdf_name[fme_getattribute];}(二)}Factory_def*teefactory factory_name pdfstyler_5 input feature_type solver_3_area_0 output feature_type pdfstyler_5_styled@tcl2(“pdfstyler_5_get_name”)pdf_tooltip“@value(_geometry_name)”pdf_url“”fme_color“0,0,1”fme_fill_color“0.666667,1,1“pdf_pen_opacity”1.0“pdf_fill_opacity”0.4“pdf_line_width”1.0“pdf_line_cap_style”butt cap“pdf_line_join_style”mitter“0.0”@tcl2(“pdfstyler_5_line_dash_pattern”)pdf_line_dash_pattern_phase“0”@Tcl2(“PdfStyler_5_Font_Info”)355;--------------------------------------------------------------------------Factory_Def*Deaggregate Factory_Name Deaggregator_8 Input Feature_Type TestFilter_Fence Recursive Yes Split_Composites Yes Set_FME_Type Yes Part_Number_Field_PART数字几何名称字段几何名称输出点特征类型分解器U 8分解输出多边形特征U类型分解器U 8分解输出甜甜圈特征U类型分解器U 8分解输出聚合器fe自然类型分解器诜诜编号栏位零件号几何图形名称栏位名称输出点特征类型分解器U分解输出线特征类型分解器U分解输出多边形特征U类型分解器U分解输出甜甜圈特征类型分解器U分解器t聚合功能类型分解器9g_difference no lenient_geometry_match yes add_to_matched_id@count(matcher)output single_matcher_type matcher_single_matched output not_matched feature_type matcher_not_matched-----------------------------------------------------------------------添加FME_text_sizetcl2proc pdfstyler_9_font_info set fontparamlist[拆分Arial,];设置fontname[lindex$fontparamlist 0];设置gotfontname 0;设置fontsize[lindex$fontparamlist 1];如果[字符串长度$fontname]>0 fme_setattribute pdf_text_font$fontname;设置gotfontname 1;}(二)如果$gotfontname==1&[string length$fontsize]>0&[string为整数$fontsize]fm_setattribute fm_text_size$fontsize;}(二)fme_setattribute pdf_text_rich“否”;如果$gotfontname==1&[lsearch$fontparamlist“bold”]>=0 fme_setattribute pdf_text_bold“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“italic”]>=0 fme setattribute pdf _text _italic“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“strikeout”]>=0 fme setattribute pdf _text _strikethrough“yes”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“underline”]>=0 fme setattribute pdf _text _underline“yes”;}(二)}tcl2 proc pdfstyler_9_line_dash_pattern设置dashpatternlist[拆分”“];对于设置i 0$i<[llength$dashpatternlist]incr i fme setattribute pdf _line dash“$i”[lindex$dashpatternlist$i];}(二)}tcl2 proc pdfstyler_9_get_name if[字符串长度[fme_getattribute]]0 fme_setattribute pdf_name[fme_getattribute];}(二)}工厂定义*teefactory工厂名称pdfstyler_9输入特征\u类型匹配器\u单个匹配输入特征\u类型匹配器\u不匹配输出特征\u类型pdfstyler_9_styled@tcl2(“pdfstyler_9_get_name”)pdf_tooltip“”pdf_url“”fme_color“0.66666 7,0,0”fme_fill_color“0.66666 7,0,0”pdf_pen_opacity“1.0”pdf_fill_opacity“1”pdf_line_width“2”pdf_line_cap_style“butt cap”pdf_line_join_style“miter join”pdf_line_miter_limit“0.0”@tcl2(“pdfstyler_9_line_dash_pattern”)pdf_line_dash_pattern_phase“0”@tcl2(“pdfstyler_9_font_info”)------------------------------------------------------------------添加fme_text_sizetcl2 proc pdfstyler_3_font_info设置fontparamlist[拆分Arial,];设置fontname[lindex$fontparamlist 0];设置gotfontname 0;设置fontsize[lindex$fontparamlist 1];如果[字符串长度$fontname]>0 fme_setattribute pdf_text_font$fontname;设置gotfontname 1;}(二)如果$gotfontname==1&[string length$fontsize]>0&[string为整数$fontsize]fm_setattribute fm_text_size$fontsize;}(二)fme_setattribute pdf_text_rich“否”;如果$gotfontname==1&[lsearch$fontparamlist“bold”]>=0 fme_setattribute pdf_text_bold“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“italic”]>=0 fme setattribute pdf _text _italic“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“strikeout”]>=0 fme setattribute pdf _text _strikethrough“yes”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“underline”]>=0 fme setattribute pdf _text _underline“yes”;}(二)}tcl2 proc pdfstyler_3_line_dash_pattern设置dashpatternlist[拆分”“];对于设置i 0$i<[llength$dashpatternlist]incr i fme setattribute pdf _line dash“$i”[lindex$dashpatternlist$i];}(二)}tcl2 proc pdfstyler_3_get_name if[字符串长度[fme_getattribute]]0 fme_setattribute pdf_name[fme_getattribute];}(二)}工厂定义*teefactory工厂名称pdfstyler_3输入功能_type testfilter_patio输出功能_type pdfstyler_3_styled@tcl2(“pdfstyler_3_get_name”)pdf_tooltip“”pdf_url“”fme_color“0.462745,0.462745,0.345098”fme_fill_color“0.66666 7,0.666667,0.498039“pdf撊pen撊opacity”1.0“pdf撊fill撊opacity”1“pdf撊line撊width”1.0“pdf撊line撊cap撊tyle”pdf撊line撊mit“0.0”@tcl2(“pdfstyler撊line撊dash撊pattern”)pdf撊line撊dashe“0”@tcl2(“pdfStyler_3_font_info”)诚诚诚诚诚设置fontname[lindex$fontparamlist 0];设置gotfontname 0;设置fontsize[lindex$fontparamlist 1];如果[字符串长度$fontname]>0 fme_setattribute pdf_text_font$fontname;设置gotfontname 1;}(二)如果$gotfontname==1&[string length$fontsize]>0&[string为整数$fontsize]fm_setattribute fm_text_size$fontsize;}(二)fme_setattribute pdf_text_rich“否”;如果$gotfontname==1&[lsearch$fontparamlist“bold”]>=0 fme_setattribute pdf_text_bold“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“italic”]>=0 fme setattribute pdf _text _italic“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“strikeout”]>=0 fme setattribute pdf _text _strikethrough“yes”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“underline”]>=0 fme setattribute pdf _text _underline“yes”;}(二)}tcl2 proc pdfstyler_2_line_dash_pattern设置dashpatternlist[拆分”“];对于设置i 0$i<[llength$dashpatternlist]incr i fme setattribute pdf _line dash“$i”[lindex$dashpatternlist$i];}(二)}tcl2 proc pdfstyler_2_get_name if[字符串长度[fme_getattribute]]0 fme_setattribute pdf_name[fme_getattribute];}(二)}工厂定义*teefactory工厂名称pdfstyler_2输入功能_type testfilter_具体输出功能_type pdfstyler_2_styled@tcl2(“pdfstyler_2_get_name”)pdf_tooltip“”pdf_url“”fme_color“0.74902,0.74902,0.74902”fme_fill_color“0.74902,0.74902,0.74902“PDF撊pen撊opacity”1.0“PDF撊fill撊opacity”0.4“PDF撊line撊width”1.0“PDF撊line撊cap撊tyle”pdf撊line撊miter撊limit“0.0”@tcl2(“PdfStyler撊line撊dash撊pattern”)pdf撊line“0”@tcl2(“pdfStyler_2_-font_-info”)诚诚诚诚诚设置fontname[lindex$fontparamlist 0];设置gotfontname 0;设置fontsize[lindex$fontparamlist 1];如果[字符串长度$fontname]>0 fme_setattribute pdf_text_font$fontname;设置gotfontname 1;}(二)如果$gotfontname==1&[string length$fontsize]>0&[string为整数$fontsize]fm_setattribute fm_text_size$fontsize;}(二)fme_setattribute pdf_text_rich“否”;如果$gotfontname==1&[lsearch$fontparamlist“bold”]>=0 fme_setattribute pdf_text_bold“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“italic”]>=0 fme setattribute pdf _text _italic“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“strikeout”]>=0 fme setattribute pdf _text _strikethrough“yes”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“underline”]>=0 fme setattribute pdf _text _underline“yes”;}(二)}tcl2 proc pdfstyler_line_dash_pattern设置dashpatternlist[拆分”“];对于设置i 0$i<[llength$dashpatternlist]incr i fme setattribute pdf _line dash“$i”[lindex$dashpatternlist$i];}(二)}tcl2 proc pdfstyler_get_name if[字符串长度[fm_getattribute]]0 fm_setattribute pdf_name[fm_getattribute];}(二)}工厂定义*teefactory工厂名称pdfstyler输入功能_类型testfilter_草地输出功能_类型pdfstyler_styled@tcl2(“pdfstyler_get_name”)pdf_工具提示“”pdf_url“”fme_color“0.66666 7,1,0.498039“”fme_fill_color“0.66666 7,1,0.498039”pdf_pen_opacity“1.0”pdf_fill_opacity“0.4”pdf_line_width“1.0”pdf_line_cap_style“butt cap”pdf_line_join_style“mitter join”pdf_line_mitter“0.0”@tcl2(“pdfstyler_line_dash_pattern”)pdf_line_dash_pattern_phase“0”@tcl2(“PdfStyler_字体_信息”)35;---------------------------------------------------------------------工厂_定义*分解工厂_名称分解器_5输入功能_类型测试过滤器_Windoors递归否拆分_复合材料否设置_fm_类型是部件号_字段_部件号几何学名称_字段_几何学名称输出点特征_类型分解器_5_分解输出线特征_类型分解器_5_分解输出多边形特征_类型分解器_5_分解输出圆环特征_类型分解器_5_分解输出聚合特征_类型分解器_5_分解输出聚合特征_类型DEagGregator_5_Deaggregated诜诜诜—————————————————————————————————————————————————添加FME——文本——尺寸CL2程序——PdfStyler——10——字体——信息——设置fontParamList【拆分Arial,】;设置fontname[lindex$fontparamlist 0];设置gotfontname 0;设置fontsize[lindex$fontparamlist 1];如果[字符串长度$fontname]>0 fme_setattribute pdf_text_font$fontname;设置gotfontname 1;}(二)如果$gotfontname==1&[string length$fontsize]>0&[string为整数$fontsize]fm_setattribute fm_text_size$fontsize;}(二)fme_setattribute pdf_text_rich“否”;如果$gotfontname==1&[lsearch$fontparamlist“bold”]>=0 fme_setattribute pdf_text_bold“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“italic”]>=0 fme setattribute pdf _text _italic“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“strikeout”]>=0 fme setattribute pdf _text _strikethrough“yes”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“underline”]>=0 fme setattribute pdf _text _underline“yes”;}(二)}tcl2 proc pdfstyler_10_line_dash_pattern设置dashpatternlist[拆分”“];对于设置i 0$i<[llength$dashpatternlist]incr i fme setattribute pdf _line dash“$i”[lindex$dashpatternlist$i];}(二)}tcl2 proc pdfstyler_10_get_name if[字符串长度[fme_getattribute]]0 fme_setattribute pdf_name[fme_getattribute];}(二)}工厂定义*teefactory工厂名称pdfstyler_10输入功能类型溶解器_2_区域输出功能类型pdfstyler_10_styled@tcl2(“pdfstyler_10_get_name”)pdf_tooltip“”pdf_url“”fme_color“0.66666 7,0,0”fme_fill_color“0.66666 7,0,0”pdf_pen_opacity“1.0”pdf_fill_opacity“1”pdf_line_width“2”pdf_line_cap_style“butt cap”pdf_line_join_style“miter join”pdf_line_mitter“0.0”@tcl2(“pdfstyler_10_line_dash_pattern”)pdf_line_dash_pattern_phase“0”@tcl2(“pdfstyler_10_font_info”)35;------------------------------------------------------------------------------------------检查是否必须执行最小边界框计算包括[如果=min bb放置宏边界框替换器_bbfunc@边界(最小边界,)}else puts macro boundingboxreplacer_bbfunc@bounds(uuu minx,uuuu maxx,uuuu miny,uuu maxy,uuuu minz,uuu maxz,geometric)@tcl2(set_geom_and_type)}]tcl2 proc set_geom_and_type if[fme_coordinates numcoords]>0 fme_execute removegeometry;设置minx[fme_getattribute_uuu minx];设置miny[fm_getattribute_uuu miny];设置maxx[fme_getattribute_uuuu maxx];设置maxy[fm_getattribute_uuuu maxy];如果[string是double$minx]&&[string是double$maxx]设置xsame[expr$minx==$maxx]否则设置xsame[string等于$minx$maxx]如果[字符串是双$miny]&&[字符串是双$maxy]设置ysame[expr$miny==$maxy]否则设置ysame[字符串等于$miny$maxy]fme_坐标addcoord$minx$miny;如果$xsame&&$ysame fme执行几何类型fme点;fm_setattribute fm_type fm_point elseif$xsame$ysame fm_coordinates addcoord$maxx$maxy;执行几何类型FME线;fme_setattribute fme_type fme_line else_fme_coordinates addcoord$minx$maxy;fme_坐标addcoord$maxx$maxy;fme_坐标addcoord$maxx$miny;fme_坐标addcoord$minx$miny;执行几何类型;多边形;FME_setattribute FME_type FME_area_fme_unsetattributes_uuu minx uuu maxx uuu miny uuuu maxy uuuuu minz uuuu maxz;设置宽度[expr$maxx-$minx];设置长度[expr$maxy-$miny];如果$width>$length设置temp$length;设置长度$width;设置宽度$temp;}(二)如果!=fme_setattribute$width;}(二)如果!=fme_setattribute$length;}}}工厂定义*teefactory工厂名称boundingboxreplacer输入功能_type testfilter_植被输出功能_type boundingboxreplacer_box@force2d()$工厂_ def*teefactory factory_name insidepointextractor input feature_type boundingboxreplacer_box output feature_type insidepointextractor_output@generatepoint(_insider_x,_insider_y)------------------------------------------------------factory_def*teefactory工厂名称CenterPointReplacer_2输入功能_type InsidePointExtractor_输出功能_type CenterPointReplacer_2_CenterPoint@ConvertTopoint()35;-------------------------------------------------------------宏计数器_Count_域计数器include[if global==本地投入宏计数器计数域计数器计数器};factory_def*teefactory factory_name counter input feature_type centerpointreplacer_2_centerpoint output feature_type counter_output“_tree_id”@count($(counter_count_domain),0)35;--------------------------------------------------------------------------factory_def*teefactory工厂名称testfilter_2 input feature_type counter_output feature_type testfilter_2_testfilter inputline_0工厂定义*测试工厂名称testfilter_2_testfilter_0 input feature_type testfilter_2_testfilter inputline_0 test@value(_geometry_name)=“2d原理图palo verde2tree“test@value(_geometry_name)”=“2d schematic sparse tree 12'”布尔值_operator or output passed feature_type testfilter_2_trees output failed feature_type testfilter_2_testfilter inputline_1factory def*testfilter factory_name testfilter_2_testfilter_1 input feature_type testfilter_2_testfilterinputline_1 test@value(_geometry_name)=“Sketchy Blob灌木”test@value(_geometry_name)=“2d Armstrong Juniper灌木”Boolean_运算符或输出传递的特征_type testfilter_2_灌木输出失败的特征_type testfilter_2_testfilter inputline_2factory def*teefactory factory_name testfilt未过滤的输入功能_型测试过滤器_2_型测试过滤器输入线_2输出功能_型测试过滤器_2_ 工厂定义*teefactory工厂名称“testfilter”2 输出nuker“输入功能\u类型测试过滤器\u 2_ #——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————---————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————e点分散器_2macro$(点分散器_工作区名称)_val 0.1macro$(点分散器_工作区名称)_val _2 0.4macro$(点分散器_工作区名称)_小数位数2macro$(点分散器_工作区名称)_FirstPntPosition Nomacro$(点分散器_工作区名称)_Tolerance 0macro$(点分散器_workspace_name)_sub_doc_name pointdisperserdefault_macro pointdisperser_workspace_name“”包括[输入macro wb_old_context_$(pointdisperser_workspace_name)$(wb_current_context);输入macro wb_current_context$(pointdisperser_workspace_name)]工厂_def*teefactory工厂_name“$(pointdisperser_workspace_name)_input splitter”input feature_type“$(pointdisperser_workspace_name)_input”output feature_type“$(pointdisperser_workspace_name)_input”----------————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————将“线”延伸到“捕捉从不保存”短“线无输出捕捉特征”类型“$(点分散器“工作区”名称)“捕捉器”捕捉“输出未接触特征”类型“$(点分散器“工作区”名称)“捕捉器未接触”事实ry_def*teefactory factory_name$(点分散器_workspace_name)_attributeCreator input feature_type“$(点分散器_workspace_name)_snapper_snapshot”input feature_type“$(点分散器_workspace_name)_snapper_untouched”output feature_type“$(点分散器_workspace_name)_attributecreator_output“@supplyAttributes(encoded,_radius_min,_radius_max,_decimal_places,3,_range,1)------------------------------------------------------------tcl2 proc$(pointdisperser_workspace_name)_attributeSetter_doseTattr if[字符串范围&_radius 0]=={&}}FME U setattrib[FME U解码文本[字符串范围&U半径125; 1端][FME U解码文本处理器$($(点分散器U工作区U名称)U名称)]123; FME U setatt[FME U解码文本\\ \123; 125;事实ry_def*teefactory factory_name$(点分散器_workspace_name)_attributeset input feature_type“$(点分散器_workspace_name)_attributecreator_output”output feature_type“$(点分散器_workspace_name)_attributeset_output”@tcl2($(点分散器_workspace_name)_attrIbutesetter_DoseTattr)---------------------------------Tcl2 proc$(点分散器_工作区_名称)_属性设置器_2_DoseTattr if[字符串范围&_半径0 0]=&fme setattribute[fme _解码文本[字符串范围&_半径最大1结束]][FME U解码文本处理器$($(点分散器U工作区U工作区名称)U val U 2);]125;其他;FME U set属性[FME U解码文本&U半径;[FME U解码文本处理器;$($(点分散器U工作区U工作区名称)U val U 2);]\125\\125\\\\ \\\]\125;]\Butesetter_2 input feature_type“$(pointdisperser_workspace_name)_attributesetter_output”output feature_type“$(pointdisperser_workspace_name)_attributesetter_2_output”@tcl2($(pointdisperser_workspace_name)_attributesetter_2_doseattr)-----------------------------------------------------工厂定义*测试工厂名称$(点分散器工作区名称)_测试仪输入功能_类型“$(点分散器工作区名称)_属性设置器_2_输出”测试@值(_半径_最大)>=@值(_半径_最小)布尔值_运算符或输出通过的功能_类型”$(PointDis散器_工作区_名称)_检测仪_4_通过“输出失败功能_类型”$(PointDis散器_工作区_名称)_检测仪_4_失败”35;----------------------------------------------------------------工厂_定义*Teefactory工厂_名称$(PointDis散器_工作区_名称)_端接器输入feature_type“$(pointdis散器_workspace_name)_tester_4_failed”输出feature_type*@abort(“最大半径小于最小半径)。检查点分散器参数。“)----------------------------------------------------------------Tcl2 proc$(点分散器_workspace_name)_attributeseter_3_doseattr if[字符串范围&_decimal 0]=&fme setattribute[fme _decodetext[字符串范围]{&小数点1结束][FME解码文本处理器$($(点分散器工作区名称)]其他FME设置属性[FME&解码文本处理器$(点分散器工作区名称)]工厂teefactory工厂名称$(点分散器_工作区_名称)_属性设置器_3输入功能_类型“$(点分散器_工作区_名称)_测试器_4_通过”输出功能_类型“$(点分散器_工作区_名称)_属性设置器_3_输出“@tcl2($(点分散器_工作区_名称)_属性设置器_3_属性设置器)------------————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————tpntposition)]工厂定义*teefactory工厂名称$(pointdisperser_workspace_name)_参数蚀刻器输入功能_type“$(pointdisperser_workspace_name)_属性蚀刻器_3_output“输出功能_type”$(pointdisperser_workspace_name)_参数蚀刻器_output“@tcl2($(pointdisperserser_workspace_name)_parameterfetcher_dofetch)诜诜诜诜输出特征_type“$(PointDis散器_Workspace _Name)_ExpressionEvaluator _4 _Output”_Random _Number@Evaluate(“Round((0+Rand()*1)*PoW(10,@Value(_Decimal _Places)))/PoW(10,@Value(_Decimal _Places))”)\*测试工厂工厂名称$(点分散器_工作区_名称)_CoordinateFetcher输入功能_类型“$(点分散器_工作区_名称)_ExpressioneEvaluator_4_输出”test@dimension()==2输出通过的功能_类型“$(点分散器_工作区_名称)_CoordinateFetcher_输出”_x@coordinate(x,0,flatten_aggregate)_y@坐标(y,0,flatten_aggregate)@supplyAttributes(_z,-9999)输出失败的功能_type“$(pointDis散器_workspace_name)_coordinateFetcher_output”_x@坐标(x,0,flatten_aggregate)_y@坐标(y,0,flatten_aggregate)_ z@coordinate(z,0,flatten_aggregate)诜诜_工作区_name)_concatenator_concatter global$(点分散器_workspace_name)_concatenator_vallist设定值foreach valenc[设置$(点分散器_工作区名称)连接器]附加val[fme _解码文本或$valenc];}(二)fme_setattribute PTlocation$val;}工厂定义*teefactory工厂名称$(点分散器_工作区_名称)_连接器输入功能_类型“$(点分散器_工作区_名称)_协调获取器_输出”输出功能_类型“$(点分散器_工作区_名称)_连接器_输出”@tcl2($(点分散器_工作区_名称)_concatenator_concatter)--------------------------------------factory_def*testfactory_name$(pointdis散器_workspace_name)_tester_2 input feature_type“$(pointdis散器_workspace_name)_concatenator_output”test@value(_firstpoint)=yes boole_operator or output passed feature_type“$(pointdisperser_workspace_name)_tester_2_passed”output failed feature_type“$(pointdisperser_workspace_name)_tester_2_failed”\35;----------------------------------------------------------------macro$(pointdisperser_workspace_name)_counter_2_ count_domain@value(_ptlocation)包括[if local=local puts macro$(pointdisperser _workspace _name)_counter _counter _domain$(pointdisperser _workspace _name)_counter value(_ptlocation)};factory_def*teefactory factory_name$(pointdisperser_workspace_name)_counter_2 input feature_type“$(pointdisperser_workspace_name)_tester_2_failed”output feature_type“$(pointdisperser_workspace_name)_counter_output“_count”@count($(pointdisperser_workspace_name)_counter 2_count_domain),1)-----------------------------------------------------------macro$(pointdisperser workspace name)u counter domain@value(ptlocation)包括[if local plats macro$(pointdisperser workspace name)u counter domain$(pointdisperser work空格_name)_counter_u@value(_ptlocation)};factory_def*teefactory factory_name$(pointdis散器_workspace_name)_counter input feature_type“$(pointdis散器_workspace_name)_tester_2_passed”output feature_type“$(pointdis散器_workspace_name)_counter_output“_count”@count($(pointdis散器_workspace_name)_counter_ccount_-domain),0)--------------------------------------factory def*teefactory-factory_-name$(pointdisperser_-workspace_-name)_expressionevaluator_3 input-feature_-type“$(pointdisperser_-workspace_-name)_counter_-output“input-feature_-type”$(pointdisperser_工作区_名称)_计数器_2_输出“输出功能”_类型“$(点分散器_工作区_名称)_表达式计算器_3_输出”_radius@evaluate(“@value(_radius_min)+(@value(_radius_max)-@value(_radius_min))*@value(_random_number)”)\-------tcl2 set$(pointdisperser_workspace_name)_statisticscalculator_noinput 1;tcl2 proc$(pointdisperser_workspace_name)_statisticscalculator_groupkey global$(pointdisperser_workspace_name)_statisticscalculator_groupcount;全局$(PointDis散器_Workspace_Name)_StatisticsCalculator_NoInput;全局$(点分散器工作区名称)统计计算器数据;设置键foreach attr ptlocation lappend key[fme_getattribute$attr]设置注释初始化结构,如果这是我们第一次看到这个组键。}(二)upvar 0$(点分散器工作区名称)统计计算器组计数($key)组计数;如果[信息存在groupcount]增加groupcount;}else设置groupcount 0;如果![信息存在$(PointDisperser_Workspace_Name)_StatisticsCalculator_NoInput($key)]如果中间!=设置dolist 1其他设置dolist 0设置“$(pointdis散器_workspace_name)_statisticscalculator_data([列表$key sum])”0.0;设置“$(pointdisperser_workspace_name)_statisticscalculator_data([list$key sumsq])”0.0;设置“$(pointdisperser_workspace_name)_statisticscalculator_data([列表$key count])”0;设置“$(pointdisperser_workspace_name)_statisticscalculator_data([list$key numcount])”0;设置“$(pointdisperser_workspace_name)_statisticscalculator_data([list$key firstin])”1;设置“$(pointdisperser_workspace_name)_statisticscalculator_data([list$key firstout])”1;设置“$dolist;}(二)}(二)返回$key;}tcl2 proc$(pointdisperser_workspace_name)_statisticscalculator_input global$(pointdisperser_workspace_name)_statisticscalculator_noinput;全局$(点分散器工作区名称)统计计算器数据;全局$(点分散器工作区名称)统计计算器历史记录;设置groupkey[$(pointdis散器_workspace_name)_statisticscalculator_groupkey];upvar 0$(点分散器工作区名称)统计计算器历史记录;upvar 0$(点分散器_工作区_名称)_统计量计算器_noinput noinput;foreach元素firstin list dolist sum sumsq count numcount min max mode upvar 0“$(pointdisperser _workspace _name)_statisticscaleculator _data([list$groupkey$element])”$element;}(二)设置noinput 0;if[catch set val[fme getattribute count]]set val}(二)如果$firstin设置最小$val;设置最大$val;设为0中的第一个;}else if$val<$min set min$val如果$val>$max设置最大$val}(二)如果$dolist lappend list$val增加计数;如果[string是double-strict$val]incr numcount;设置SUM[expr$sum+$val];设置sumsq[expr$sumsq+double($val*$val)];}(二)如果U模式!=设置historykey[列出$groupkey$val];如果[信息存在历史记录($histokey)]增加历史记录($histokey);}else设置历史记录($histokey)1;}(二)}(二)}tcl2 proc$(pointdisperser_workspace_name)_statisticscalculator_output outputtype global$(pointdisperser_workspace_name)_statisticscalculator_noinput;全局$(点分散器工作区名称)统计计算器数据;全局$(点分散器工作区名称)统计计算器历史记录;全局$(PointDis散器_Workspace_Name)_StatisticsCalculator_GroupCount;upvar 0$(点分散器工作区名称)统计计算器历史记录;upvar 0$(点分散器_工作区_名称)_统计量计算器_noinput noinput;如果$noinput==1返回;}(二)如果\“$outputtype\”==\“u single_guy_uuguy”设置groupkeys[数组名$(点分散器_workspace_name)_statisticscalculator_groupcount];}else设置groupkeys[列表[$(点分散器_工作区_名称)_统计量计算器_groupkey];}(二)设置AttrPrefix设置minattr_u min_设置最大值设置countattr设置数字设置sumattr和设置RangeAttr范围设置平均值设置medianattr中位数设置stdevattr stdev设置modeattr模式设置groupnum-1;foreach groupkey[lsort$groupkeys]foreach element firstout list dolist sumsq count numcount min max range mean central stdev mode upvar 0“$(pointdisperser _workspace _name)_statisticscaleculator _data([list$groupkey$element])”$element;}(二)如果$firstout中位数!=if$numcount==$count set list[lsort-real$list];如果$count%2==1设置中间值[Lindex$list[expr$count/2]];}否则设置一半[expr$count/2];设置第一个[lindex$list[expr$half-1];设置第二个[lindex$list$half];设置中间值[expr double($first+$second)/2];}(二)}else设置中间值[lindex[lsort$list][expr int(ceil(double($count)/2)-1)]}(二)}(二)设定范围catch设置范围[expr$max-$min];}(二)设置平均值设置stdev如果$numcount>0设置平均值[expr double($sum)/double($numcount)]}(二)如果(u stdev!=)&&($numcount>1)设置tmp[expr double($sumsq*double($numcount))-double($sum*$sum)];如果$tmp>=0设置stdev[expr sqrt($tmp/double($numcount*double($numcount-1))];}否则设置stdev-1;FME_logmessage FME_warn 917353$(点分散器_workspace_name)_statisticscaleculator_stdev;}(二)}(二)如果U模式!=设置maxhisto 0;foreach name hcount[array get histor]设置histkey[lindex$name 0];如果($histkey==$groupkey)&&($hcount>=$maxhisto)设置maxhisto$hcount;设置模式[lindex$name end];}(二)}(二)}(二)设置第一个0;}(二)if“(\”$outputtype\“=”=\“uu single_guy_uuu\”“set attrprefix\”$(pointdisperser_workspace_name)_statisticscaleculator[incr groupnum].\”;设置GroupAttrs设置GroupAttrs位置foreach attr$groupattrs val$groupkey fme_setattribute“$attrprefix$attr”$val;}(二)}(二)如果最小!=fme_setattribute“$attrprefix$minattr”$min;}(二)如果最大!=fme_setattribute“$attrprefix$maxattr”$max;}(二)如果!=fme_setattribute“$attrprefix$countattr”$count;}(二)如果!=fme_setattribute“$attrprefix$numericattr”$numCount;}(二)如果和!=fme_setattribute“$attrprefix$sumattr”$sum;}(二)如果范围!=fme_setattribute“$attrprefix$rangeattr”$range;}(二)如果是!=fme_u setattribute“$attrprefix$meanattr”$mean;}(二)如果中位数!=fme_setattribute“$attrprefix$medianattr”$中位数;}(二)如果u stdev!=fme_setattribute“$attrprefix$stdevattr”$stdev;}(二)如果U模式!=fme_setattribute“$attrprefix$modeattr”$模式;}(二)}(二)};FACTORY_DEF * TeeFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_Processor INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_ExpressionEvaluator_3_OUTPUT" OUTPUT FEATURE_TYPE __ORIGINAL__ @Tcl2($(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_input)FACTORY_DEF * CreationFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_Creator CREATE_AT_END NUMBER_TO_CREATE 1 OUTPUT FEATURE_TYPE __SINGLE_GUY__ @SupplyAttributes($(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_SUMMARY_STATS,True)FACTORY_DEF * SortFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_Outputter INPUT FEATURE_TYPE __ORIGINAL__ OUTPUT SORTED FEATURE_TYPE __ORIGINAL__ @Tcl2("$(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_output __ORIGINAL__")FACTORY_DEF * ElementFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_Exploder INPUT FEATURE_TYPE __ORIGINAL__ $(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_SUMMARY_STATS True @RemoveAttributes($(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_SUMMARY_STATS) LIST_NAME $(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_stats{} MODE LEAN_AND_MEAN CLONE_GEOMETRY no OUTPUT ELEMENT FEATURE_TYPE __ORIGINAL__FACTORY_DEF * TestFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_FinalJudge INPUT FEATURE_TYPE __ORIGINAL__ INPUT FEATURE_TYPE __SINGLE_GUY__ TEST @FeatureType() == __ORIGINAL__ OUTPUT PASSED FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_STATISTICS"# -------------------------------------------------------------------------FACTORY_DEF * TestFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_Tester_3 INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_STATISTICS" TEST @Value(_max) != 0 TEST @Value(_firstPoint) = Yes BOOLEAN_OPERATOR AND OUTPUT PASSED FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_3_PASSED" OUTPUT FAILED FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_3_FAILED"# -------------------------------------------------------------------------FACTORY_DEF * TestFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_Tester_5 INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_3_FAILED" TEST @Value(_max) != 1 BOOLEAN_OPERATOR AND OUTPUT PASSED FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_5_PASSED" OUTPUT FAILED FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_5_FAILED"# -------------------------------------------------------------------------FACTORY_DEF * TestFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_Tester INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_5_PASSED" INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_3_PASSED" TEST @Value(_count) != 0 BOOLEAN_OPERATOR OR OUTPUT PASSED FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_PASSED" OUTPUT FAILED FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_FAILED"# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_ExpressionEvaluator INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_PASSED" OUTPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_ExpressionEvaluator_OUTPUT" _x_new @Evaluate("@Value(_x)+@Value(_radius)*sin(6.28318531/@Value(_max)*@Value(_count))")# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_ExpressionEvaluator_2 INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_ExpressionEvaluator_OUTPUT" OUTPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_ExpressionEvaluator_2_OUTPUT" _y_new @Evaluate("@Value(_y)+@Value(_radius)*cos( 6.28318531/@Value(_max)*@Value(_count))")# -------------------------------------------------------------------------FACTORY_DEF * TestFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_2DPointReplacer INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_ExpressionEvaluator_2_OUTPUT" TEST &fme_type = fme_text OUTPUT PASSED FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_2DPointReplacer_POINT" @XValue("@Value(_x_new)",RESET) @YValue("@Value(_y_new)") @Dimension(2) OUTPUT FAILED FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_2DPointReplacer_POINT" @XValue("@Value(_x_new)",RESET) @YValue("@Value(_y_new)") @Dimension(2) @GeometryType(fme_point)FACTORY_DEF * TeeFactory FACTORY_NAME "$(PointDisperser_WORKSPACE_NAME)_2DPointReplacer POINT Splitter" INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_2DPointReplacer_POINT" OUTPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_2DPointReplacer_POINT_0" OUTPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_2DPointReplacer_POINT_1"# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_AttributeRemover_2 INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_5_FAILED" INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_2DPointReplacer_POINT_1" INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_FAILED" OUTPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_AttributeRemover_2_OUTPUT" @RemoveAttributes(_decimal_places,_firstPoint,_max,_mean,_median,_min,_mode,_radius,_radius_max,_radius_min,_random_number,_range,_stdev,_sum,_x,_x_new,_y,_y_new,_z)# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_2DPointAdder INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_2DPointReplacer_POINT_0" OUTPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_2DPointAdder_OUTPUT" @Dimension(2) @Tcl2("FME_Coordinates addCoord {@Value(_x)} {@Value(_y)}") @GeometryType(fme_polygon)# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_Orientor INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_2DPointAdder_OUTPUT" OUTPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Orientor_ORIENTED" @Orient(REVERSE)# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_AttributeRemover INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Orientor_ORIENTED" OUTPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_AttributeRemover_OUTPUT" @RemoveAttributes(_decimal_places,_firstPoint,_max,_mean,_median,_min,_mode,_radius,_radius_max,_radius_min,_random_number,_range,_stdev,_sum,_x,_x_new,_y,_y_new,_z)FACTORY_DEF * TeeFactory FACTORY_NAME "$(PointDisperser_WORKSPACE_NAME)_RADIUS Output Collector" INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_AttributeRemover_OUTPUT" OUTPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_RADIUS"FACTORY_DEF * TeeFactory FACTORY_NAME "$(PointDisperser_WORKSPACE_NAME)_POINTS Output Collector" INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_AttributeRemover_2_OUTPUT" OUTPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_POINTS"INCLUDE [puts {MACRO WB_CURRENT_CONTEXT $(WB_OLD_CONTEXT_$(PointDisperser_WORKSPACE_NAME))}]FACTORY_DEF * TeeFactory FACTORY_NAME "PointDisperser_2 RADIUS Output Renamer/Nuker" INPUT FEATURE_TYPE PointDisperser_2_RADIUSFACTORY_DEF * TeeFactory FACTORY_NAME "PointDisperser_2 POINTS Output Renamer/Nuker" INPUT FEATURE_TYPE PointDisperser_2_POINTS OUTPUT FEATURE_TYPE PointDisperser_2_POINTS# -------------------------------------------------------------------------FACTORY_DEF * ConnectionFactory FACTORY_NAME PointConnector INPUT FEATURE_TYPE PointDisperser_2_POINTS BREAK_BEFORE_FIELD_CHANGE _ptLocation FEATURE_CONNECTION ORDERED OUTPUT LINE FEATURE_TYPE PointConnector_LINE# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME LineCloser INPUT FEATURE_TYPE PointConnector_LINE OUTPUT FEATURE_TYPE LineCloser_AREA @Close()# -------------------------------------------------------------------------#Add fme_text_sizeTcl2 proc PDFStyler_8_font_info {} { set fontParamList [split {Times New Roman,12,ITALIC} ,];设置fontname[lindex$fontparamlist 0];设置gotfontname 0;设置fontsize[lindex$fontparamlist 1];如果[字符串长度$fontname]>0 fme_setattribute pdf_text_font$fontname;设置gotfontname 1;}(二)如果$gotfontname==1&[string length$fontsize]>0&[string为整数$fontsize]fm_setattribute fm_text_size$fontsize;}(二)fme_setattribute pdf_text_rich“否”;如果$gotfontname==1&[lsearch$fontparamlist“bold”]>=0 fme_setattribute pdf_text_bold“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“italic”]>=0 fme setattribute pdf _text _italic“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“strikeout”]>=0 fme setattribute pdf _text _strikethrough“yes”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“underline”]>=0 fme setattribute pdf _text _underline“yes”;}(二)}tcl2 proc pdfstyler_8_line_dash_pattern设置dashpatternlist[拆分”“];对于设置i 0$i<[llength$dashpatternlist]incr i fme setattribute pdf _line dash“$i”[lindex$dashpatternlist$i];}(二)}tcl2 proc pdfstyler_8_get_name if[字符串长度[fme_getattribute]]0 fme_setattribute pdf_name[fme_getattribute];}(二)}工厂定义*teefactory工厂名称pdfstyler_8输入特征_type linecloser_区域输出特征_type pdfstyler_8_styled@tcl2(“pdfstyler_8_get_name”)pdf_工具提示“@value(_geometry_name)”pdf_url“”fme_color“0,0.333333,0”fme_fill_color“0,0.666667,0“Pdf_Pen_Opacity”1.0“Pdf_Fill_Opacity”0.4“Pdf_Line_Width”1.0“Pdf_Line_Cap_Style“Butt Cap”Pdf_Line_Join_Style“Miter Join”Pdf_Line_Miter_Limit“0.0”@Tcl2(“PdfStyler_Line_Dash_Pattern”)Pdf Line_Dash_Pattern_Phase“0”@ Tcl2(“PdfStyler_8_Font_Info”)35;----------------------------------------------------------------工厂定义* teefactory工厂名称attributeCreator_3输入功能_类型testfilter_2_树输出功能_类型attributeCreator_3_output@supplyAttributes(编码,_circle_radius,0.6)-------------------------------------------------------------工厂定义*teefactory工厂名称克隆器输入功能类型属性创建器输出编号6份副本编号属性CopyNum输出功能类型克隆器-----------————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————Ormer_name PointDisperserMacro$(PointDisperser_workspace_name)_val&_circle_radiusMacro$(PointDisperser_workspace_name)_val_2&_circle_radiusMacro$(PointDisperser_workspace_name)_decimalPlaces 0Macro$(PointDisperser_workspace_name)_firstpntposition Nomacro$(PointDisperser_workspace_name)_tolerance 0macro$(pointdisperser_workspace_name)_sub_doc_name pointdisperserdefault_macro pointdisperser_workspace_name“”包括[输入macro wb_old_context_u$(pointdisperser_workspace_name)$(wb_current_context);输入macro wb_current_context$(pointdisperser_workspace_name)]工厂_def*teefactory工厂_name“$(pointdisperser_workspace_name)_input splitter”input feature_type“$(pointdisperser_workspace_name)_input”output feature_type“$(pointdisperser_workspace_name)_input”----------————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————将“线”延伸到“捕捉从不保存”短“线无输出捕捉特征”类型“$(点分散器“工作区”名称)“捕捉器”捕捉“输出未接触特征”类型“$(点分散器“工作区”名称)“捕捉器未接触”事实ry_def*teefactory factory_name$(点分散器_workspace_name)_attributeCreator input feature_type“$(点分散器_workspace_name)_snapper_snapshot”input feature_type“$(点分散器_workspace_name)_snapper_untouched”output feature_type“$(点分散器_workspace_name)_attributecreator_output“@supplyAttributes(encoded,_radius_min,_radius_max,_decimal_places,3,_range,1)------------------------------------------------------------tcl2 proc$(pointdisperser_workspace_name)_attributeSetter_doseTattr if[字符串范围&_radius 0]=={&}}FME U setattrib[FME U解码文本[字符串范围&U半径125; 1端][FME U解码文本处理器$($(点分散器U工作区U名称)U名称)]123; FME U setatt[FME U解码文本\\ \123; 125;事实ry_def*teefactory factory_name$(点分散器_workspace_name)_attributeset input feature_type“$(点分散器_workspace_name)_attributecreator_output”output feature_type“$(点分散器_workspace_name)_attributeset_output”@tcl2($(点分散器_workspace_name)_attrIbutesetter_DoseTattr)---------------------------------Tcl2 proc$(点分散器_工作区_名称)_属性设置器_2_DoseTattr if[字符串范围&_半径0 0]=&fme setattribute[fme _解码文本[字符串范围&_半径最大1结束]][FME U解码文本处理器$($(点分散器U工作区U工作区名称)U val U 2);]125;其他;FME U set属性[FME U解码文本&U半径;[FME U解码文本处理器;$($(点分散器U工作区U工作区名称)U val U 2);]\125\\125\\\\ \\\]\125;]\Butesetter_2 input feature_type“$(pointdisperser_workspace_name)_attributesetter_output”output feature_type“$(pointdisperser_workspace_name)_attributesetter_2_output”@tcl2($(pointdisperser_workspace_name)_attributesetter_2_doseattr)-----------------------------------------------------工厂定义*测试工厂名称$(点分散器工作区名称)_测试仪输入功能_类型“$(点分散器工作区名称)_属性设置器_2_输出”测试@值(_半径_最大)>=@值(_半径_最小)布尔值_运算符或输出通过的功能_类型”$(PointDis散器_工作区_名称)_检测仪_4_通过“输出失败功能_类型”$(PointDis散器_工作区_名称)_检测仪_4_失败”35;----------------------------------------------------------------工厂_定义*Teefactory工厂_名称$(PointDis散器_工作区_名称)_端接器输入feature_type“$(pointdis散器_workspace_name)_tester_4_failed”输出feature_type*@abort(“最大半径小于最小半径)。检查点分散器参数。“)----------------------------------------------------------------Tcl2 proc$(点分散器_workspace_name)_attributeseter_3_doseattr if[字符串范围&_decimal 0]=&fme setattribute[fme _decodetext[字符串范围]{&小数点1结束][FME解码文本处理器$($(点分散器工作区名称)]其他FME设置属性[FME&解码文本处理器$(点分散器工作区名称)]工厂teefactory工厂名称$(点分散器_工作区_名称)_属性设置器_3输入功能_类型“$(点分散器_工作区_名称)_测试器_4_通过”输出功能_类型“$(点分散器_工作区_名称)_属性设置器_3_输出“@tcl2($(点分散器_工作区_名称)_属性设置器_3_属性设置器)------------————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————tpntposition)]工厂定义*teefactory工厂名称$(pointdisperser_workspace_name)_参数蚀刻器输入功能_type“$(pointdisperser_workspace_name)_属性蚀刻器_3_output“输出功能_type”$(pointdisperser_workspace_name)_参数蚀刻器_output“@tcl2($(pointdisperserser_workspace_name)_parameterfetcher_dofetch)诜诜诜诜输出特征_type“$(PointDis散器_Workspace _Name)_ExpressionEvaluator _4 _Output”_Random _Number@Evaluate(“Round((0+Rand()*1)*PoW(10,@Value(_Decimal _Places)))/PoW(10,@Value(_Decimal _Places))”)\*测试工厂工厂名称$(点分散器_工作区_名称)_CoordinateFetcher输入功能_类型“$(点分散器_工作区_名称)_ExpressioneEvaluator_4_输出”test@dimension()==2输出通过的功能_类型“$(点分散器_工作区_名称)_CoordinateFetcher_输出”_x@coordinate(x,0,flatten_aggregate)_y@坐标(y,0,flatten_aggregate)@supplyAttributes(_z,-9999)输出失败的功能_type“$(pointDis散器_workspace_name)_coordinateFetcher_output”_x@坐标(x,0,flatten_aggregate)_y@坐标(y,0,flatten_aggregate)_ z@coordinate(z,0,flatten_aggregate)诜诜_工作区_name)_concatenator_concatter global$(点分散器_workspace_name)_concatenator_vallist设定值foreach valenc[设置$(点分散器_工作区名称)连接器]附加val[fme _解码文本或$valenc];}(二)fme_setattribute PTlocation$val;}工厂定义*teefactory工厂名称$(点分散器_工作区_名称)_连接器输入功能_类型“$(点分散器_工作区_名称)_协调获取器_输出”输出功能_类型“$(点分散器_工作区_名称)_连接器_输出”@tcl2($(点分散器_工作区_名称)_concatenator_concatter)--------------------------------------factory_def*testfactory_name$(pointdis散器_workspace_name)_tester_2 input feature_type“$(pointdis散器_workspace_name)_concatenator_output”test@value(_firstpoint)=yes boole_operator or output passed feature_type“$(pointdisperser_workspace_name)_tester_2_passed”output failed feature_type“$(pointdisperser_workspace_name)_tester_2_failed”\35;----------------------------------------------------------------macro$(pointdisperser_workspace_name)_counter_2_ count_domain@value(_ptlocation)包括[if local=local puts macro$(pointdisperser _workspace _name)_counter _counter _domain$(pointdisperser _workspace _name)_counter value(_ptlocation)};factory_def*teefactory factory_name$(pointdisperser_workspace_name)_counter_2 input feature_type“$(pointdisperser_workspace_name)_tester_2_failed”output feature_type“$(pointdisperser_workspace_name)_counter_output“_count”@count($(pointdisperser_workspace_name)_counter 2_count_domain),1)-----------------------------------------------------------macro$(pointdisperser workspace name)u counter domain@value(ptlocation)包括[if local plats macro$(pointdisperser workspace name)u counter domain$(pointdisperser work空格_name)_counter_u@value(_ptlocation)};factory_def*teefactory factory_name$(pointdis散器_workspace_name)_counter input feature_type“$(pointdis散器_workspace_name)_tester_2_passed”output feature_type“$(pointdis散器_workspace_name)_counter_output“_count”@count($(pointdis散器_workspace_name)_counter_ccount_-domain),0)--------------------------------------factory def*teefactory-factory_-name$(pointdisperser_-workspace_-name)_expressionevaluator_3 input-feature_-type“$(pointdisperser_-workspace_-name)_counter_-output“input-feature_-type”$(pointdisperser_工作区_名称)_计数器_2_输出“输出功能”_类型“$(点分散器_工作区_名称)_表达式计算器_3_输出”_radius@evaluate(“@value(_radius_min)+(@value(_radius_max)-@value(_radius_min))*@value(_random_number)”)\-------tcl2 set$(pointdisperser_workspace_name)_statisticscalculator_noinput 1;tcl2 proc$(pointdisperser_workspace_name)_statisticscalculator_groupkey global$(pointdisperser_workspace_name)_statisticscalculator_groupcount;全局$(PointDis散器_Workspace_Name)_StatisticsCalculator_NoInput;全局$(点分散器工作区名称)统计计算器数据;设置键foreach attr ptlocation lappend key[fme_getattribute$attr]设置注释初始化结构,如果这是我们第一次看到这个组键。}(二)upvar 0$(点分散器工作区名称)统计计算器组计数($key)组计数;如果[信息存在groupcount]增加groupcount;}else设置groupcount 0;如果![信息存在$(PointDisperser_Workspace_Name)_StatisticsCalculator_NoInput($key)]如果中间!=设置dolist 1其他设置dolist 0设置“$(pointdis散器_workspace_name)_statisticscalculator_data([列表$key sum])”0.0;设置“$(pointdisperser_workspace_name)_statisticscalculator_data([list$key sumsq])”0.0;设置“$(pointdisperser_workspace_name)_statisticscalculator_data([列表$key count])”0;设置“$(pointdisperser_workspace_name)_statisticscalculator_data([list$key numcount])”0;设置“$(pointdisperser_workspace_name)_statisticscalculator_data([list$key firstin])”1;设置“$(pointdisperser_workspace_name)_statisticscalculator_data([list$key firstout])”1;设置“$dolist;}(二)}(二)返回$key;}tcl2 proc$(pointdisperser_workspace_name)_statisticscalculator_input global$(pointdisperser_workspace_name)_statisticscalculator_noinput;全局$(点分散器工作区名称)统计计算器数据;全局$(点分散器工作区名称)统计计算器历史记录;设置groupkey[$(pointdis散器_workspace_name)_statisticscalculator_groupkey];upvar 0$(点分散器工作区名称)统计计算器历史记录;upvar 0$(点分散器_工作区_名称)_统计量计算器_noinput noinput;foreach元素firstin list dolist sum sumsq count numcount min max mode upvar 0“$(pointdisperser _workspace _name)_statisticscaleculator _data([list$groupkey$element])”$element;}(二)设置noinput 0;if[catch set val[fme getattribute count]]set val}(二)如果$firstin设置最小$val;设置最大$val;设为0中的第一个;}else if$val<$min set min$val如果$val>$max设置最大$val}(二)如果$dolist lappend list$val增加计数;如果[string是double-strict$val]incr numcount;设置SUM[expr$sum+$val];设置sumsq[expr$sumsq+double($val*$val)];}(二)如果U模式!=设置historykey[列出$groupkey$val];如果[信息存在历史记录($histokey)]增加历史记录($histokey);}else设置历史记录($histokey)1;}(二)}(二)}tcl2 proc$(pointdisperser_workspace_name)_statisticscalculator_output outputtype global$(pointdisperser_workspace_name)_statisticscalculator_noinput;全局$(点分散器工作区名称)统计计算器数据;全局$(点分散器工作区名称)统计计算器历史记录;全局$(PointDis散器_Workspace_Name)_StatisticsCalculator_GroupCount;upvar 0$(点分散器工作区名称)统计计算器历史记录;upvar 0$(点分散器_工作区_名称)_统计量计算器_noinput noinput;如果$noinput==1返回;}(二)如果\“$outputtype\”==\“u single_guy_uuguy”设置groupkeys[数组名$(点分散器_workspace_name)_statisticscalculator_groupcount];}else设置groupkeys[列表[$(点分散器_工作区_名称)_统计量计算器_groupkey];}(二)设置AttrPrefix设置minattr_u min_设置最大值设置countattr设置数字设置sumattr和设置RangeAttr范围设置平均值设置medianattr中位数设置stdevattr stdev设置modeattr模式设置groupnum-1;foreach groupkey[lsort$groupkeys]foreach element firstout list dolist sumsq count numcount min max range mean central stdev mode upvar 0“$(pointdisperser _workspace _name)_statisticscaleculator _data([list$groupkey$element])”$element;}(二)如果$firstout中位数!=if$numcount==$count set list[lsort-real$list];如果$count%2==1设置中间值[Lindex$list[expr$count/2]];}否则设置一半[expr$count/2];设置第一个[lindex$list[expr$half-1];设置第二个[lindex$list$half];设置中间值[expr double($first+$second)/2];}(二)}else设置中间值[lindex[lsort$list][expr int(ceil(double($count)/2)-1)]}(二)}(二)设定范围catch设置范围[expr$max-$min];}(二)设置平均值设置stdev如果$numcount>0设置平均值[expr double($sum)/double($numcount)]}(二)如果(u stdev!=)&&($numcount>1)设置tmp[expr double($sumsq*double($numcount))-double($sum*$sum)];如果$tmp>=0设置stdev[expr sqrt($tmp/double($numcount*double($numcount-1))];}否则设置stdev-1;FME_logmessage FME_warn 917353$(点分散器_workspace_name)_statisticscaleculator_stdev;}(二)}(二)如果U模式!=设置maxhisto 0;foreach name hcount[array get histor]设置histkey[lindex$name 0];如果($histkey==$groupkey)&&($hcount>=$maxhisto)设置maxhisto$hcount;设置模式[lindex$name end];}(二)}(二)}(二)设置第一个0;}(二)if“(\”$outputtype\“=”=\“uu single_guy_uuu\”“set attrprefix\”$(pointdisperser_workspace_name)_statisticscaleculator[incr groupnum].\”;设置GroupAttrs设置GroupAttrs位置foreach attr$groupattrs val$groupkey fme_setattribute“$attrprefix$attr”$val;}(二)}(二)如果最小!=fme_setattribute“$attrprefix$minattr”$min;}(二)如果最大!=fme_setattribute“$attrprefix$maxattr”$max;}(二)如果!=fme_setattribute“$attrprefix$countattr”$count;}(二)如果!=fme_setattribute“$attrprefix$numericattr”$numCount;}(二)如果和!=fme_setattribute“$attrprefix$sumattr”$sum;}(二)如果范围!=fme_setattribute“$attrprefix$rangeattr”$range;}(二)如果是!=fme_u setattribute“$attrprefix$meanattr”$mean;}(二)如果中位数!=fme_setattribute“$attrprefix$medianattr”$中位数;}(二)如果u stdev!=fme_setattribute“$attrprefix$stdevattr”$stdev;}(二)如果U模式!=fme_setattribute“$attrprefix$modeattr”$模式;}(二)}(二)};FACTORY_DEF * TeeFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_Processor INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_ExpressionEvaluator_3_OUTPUT" OUTPUT FEATURE_TYPE __ORIGINAL__ @Tcl2($(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_input)FACTORY_DEF * CreationFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_Creator CREATE_AT_END NUMBER_TO_CREATE 1 OUTPUT FEATURE_TYPE __SINGLE_GUY__ @SupplyAttributes($(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_SUMMARY_STATS,True)FACTORY_DEF * SortFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_Outputter INPUT FEATURE_TYPE __ORIGINAL__ OUTPUT SORTED FEATURE_TYPE __ORIGINAL__ @Tcl2("$(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_output __ORIGINAL__")FACTORY_DEF * ElementFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_Exploder INPUT FEATURE_TYPE __ORIGINAL__ $(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_SUMMARY_STATS True @RemoveAttributes($(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_SUMMARY_STATS) LIST_NAME $(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_stats{} MODE LEAN_AND_MEAN CLONE_GEOMETRY no OUTPUT ELEMENT FEATURE_TYPE __ORIGINAL__FACTORY_DEF * TestFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_FinalJudge INPUT FEATURE_TYPE __ORIGINAL__ INPUT FEATURE_TYPE __SINGLE_GUY__ TEST @FeatureType() == __ORIGINAL__ OUTPUT PASSED FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_STATISTICS"# -------------------------------------------------------------------------FACTORY_DEF * TestFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_Tester_3 INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_StatisticsCalculator_STATISTICS" TEST @Value(_max) != 0 TEST @Value(_firstPoint) = Yes BOOLEAN_OPERATOR AND OUTPUT PASSED FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_3_PASSED" OUTPUT FAILED FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_3_FAILED"# -------------------------------------------------------------------------FACTORY_DEF * TestFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_Tester_5 INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_3_FAILED" TEST @Value(_max) != 1 BOOLEAN_OPERATOR AND OUTPUT PASSED FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_5_PASSED" OUTPUT FAILED FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_5_FAILED"# -------------------------------------------------------------------------FACTORY_DEF * TestFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_Tester INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_5_PASSED" INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_3_PASSED" TEST @Value(_count) != 0 BOOLEAN_OPERATOR OR OUTPUT PASSED FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_PASSED" OUTPUT FAILED FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_FAILED"# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_ExpressionEvaluator INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_PASSED" OUTPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_ExpressionEvaluator_OUTPUT" _x_new @Evaluate("@Value(_x)+@Value(_radius)*sin(6.28318531/@Value(_max)*@Value(_count))")# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_ExpressionEvaluator_2 INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_ExpressionEvaluator_OUTPUT" OUTPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_ExpressionEvaluator_2_OUTPUT" _y_new @Evaluate("@Value(_y)+@Value(_radius)*cos( 6.28318531/@Value(_max)*@Value(_count))")# -------------------------------------------------------------------------FACTORY_DEF * TestFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_2DPointReplacer INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_ExpressionEvaluator_2_OUTPUT" TEST &fme_type = fme_text OUTPUT PASSED FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_2DPointReplacer_POINT" @XValue("@Value(_x_new)",RESET) @YValue("@Value(_y_new)") @Dimension(2) OUTPUT FAILED FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_2DPointReplacer_POINT" @XValue("@Value(_x_new)",RESET) @YValue("@Value(_y_new)") @Dimension(2) @GeometryType(fme_point)FACTORY_DEF * TeeFactory FACTORY_NAME "$(PointDisperser_WORKSPACE_NAME)_2DPointReplacer POINT Splitter" INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_2DPointReplacer_POINT" OUTPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_2DPointReplacer_POINT_0" OUTPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_2DPointReplacer_POINT_1"# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_AttributeRemover_2 INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_5_FAILED" INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_2DPointReplacer_POINT_1" INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Tester_FAILED" OUTPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_AttributeRemover_2_OUTPUT" @RemoveAttributes(_decimal_places,_firstPoint,_max,_mean,_median,_min,_mode,_radius,_radius_max,_radius_min,_random_number,_range,_stdev,_sum,_x,_x_new,_y,_y_new,_z)# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_2DPointAdder INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_2DPointReplacer_POINT_0" OUTPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_2DPointAdder_OUTPUT" @Dimension(2) @Tcl2("FME_Coordinates addCoord {@Value(_x)} {@Value(_y)}") @GeometryType(fme_polygon)# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_Orientor INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_2DPointAdder_OUTPUT" OUTPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Orientor_ORIENTED" @Orient(REVERSE)# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME $(PointDisperser_WORKSPACE_NAME)_AttributeRemover INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_Orientor_ORIENTED" OUTPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_AttributeRemover_OUTPUT" @RemoveAttributes(_decimal_places,_firstPoint,_max,_mean,_median,_min,_mode,_radius,_radius_max,_radius_min,_random_number,_range,_stdev,_sum,_x,_x_new,_y,_y_new,_z)FACTORY_DEF * TeeFactory FACTORY_NAME "$(PointDisperser_WORKSPACE_NAME)_RADIUS Output Collector" INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_AttributeRemover_OUTPUT" OUTPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_RADIUS"FACTORY_DEF * TeeFactory FACTORY_NAME "$(PointDisperser_WORKSPACE_NAME)_POINTS Output Collector" INPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_AttributeRemover_2_OUTPUT" OUTPUT FEATURE_TYPE "$(PointDisperser_WORKSPACE_NAME)_POINTS"INCLUDE [puts {MACRO WB_CURRENT_CONTEXT $(WB_OLD_CONTEXT_$(PointDisperser_WORKSPACE_NAME))}]FACTORY_DEF * TeeFactory FACTORY_NAME "PointDisperser RADIUS Output Renamer/Nuker" INPUT FEATURE_TYPE PointDisperser_RADIUSFACTORY_DEF * TeeFactory FACTORY_NAME "PointDisperser POINTS Output Renamer/Nuker" INPUT FEATURE_TYPE PointDisperser_POINTS OUTPUT FEATURE_TYPE PointDisperser_POINTS# -------------------------------------------------------------------------FACTORY_DEF * TestFactory FACTORY_NAME CoordinateExtractor INPUT FEATURE_TYPE PointDisperser_POINTS TEST @Dimension() == 2 OUTPUT PASSED FEATURE_TYPE CoordinateExtractor_OUTPUT _x @Coordinate(x,0,FLATTEN_AGGREGATE) _y @Coordinate(y,0,FLATTEN_AGGREGATE) @SupplyAttributes(_z,-9999) OUTPUT FAILED FEATURE_TYPE CoordinateExtractor_OUTPUT _x @Coordinate(x,0,FLATTEN_AGGREGATE) _y @Coordinate(y,0,FLATTEN_AGGREGATE) _z @Coordinate(z,0,FLATTEN_AGGREGATE)# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME 2DEllipseReplacer INPUT FEATURE_TYPE CoordinateExtractor_OUTPUT OUTPUT FEATURE_TYPE 2DEllipseReplacer_ELLIPSE @XValue("@Value(_x)",RESET) @YValue("@Value(_y)") @Dimension(2) @GeometryType(fme_ellipse,@Value(_circle_radius),@Value(_circle_radius),0,LEFT_HAND_RULE)# -------------------------------------------------------------------------INCLUDE [ if { ({NUM_EDGES} == {TOLERANCE}) } { if { ({Yes} == {Yes}) } { puts {MACRO ArcStroker_func @Arc(MAX_DEVIATION, ,请为arc)制作聚乙烯}else puts macro arcstrower_func@arc(max_deviation, )}(二)}}否则如果(是=是)放置宏arcstrower_func@arc(0,为arc)制作聚乙烯}Else Puts Macro Arcstroker_Func@Arc(0)}}]工厂定义*teefactory工厂名称Arcstroker输入功能\u类型2DellipsReplacer \u椭圆输出功能\u类型Arcstroker \u stroked$(Arcstroker \u func)-----------------------------------------------------------工厂定义*多边形溶解事实ORY工厂名称溶解器组\u按树ID输入功能\u类型Arcstroker \u冲程非重叠\u输入无输出多边形功能\u类型溶解器\u区域工厂定义*teefactory工厂名称“溶解器区域拆分器”输入功能\u类型溶解器\u区域输出功能\u类型溶解器_区域_0输出功能_类型溶解器_区域_1诜诜butecreator_2_input_154macro treelabeller_workspace_name treelabellermacro$(treelabeller_workspace_name)_xformer_name treelabellermacro$(treelabeller_workspace_name)_sub_doc_name treelabellerdefault_macro treelabeller_workspace_name“”包括[puts macro wb_old_context_$(treelabeller_workspace_name)$(wb_当前_上下文);输入宏wb_当前_上下文$(treelabeller_workspace_name)]工厂_def*teefactory工厂_name“$(treelabeller_workspace_name)_attributeCreator_2_input_154 input splitter“input feature_type”$(treelabeller_workspace_name)_attributeCreator_2_input_154“output feature_type”$(treelabeller_workspace_name)_attributeCreator_2_input_154”\35802;诚诚诚attributeCreator_2_input_154”输出功能“$(TreeLabeller_Workspace_Name)_AttributeCreator_2_Output”@SupplyAttributes(Encoded,_Label,Maple)--------------------------------------------------------------------------工厂定义*teefactory工厂名称$(TreeLabeller_Workspace_Name)_LabelPointReplacer_2_SplittER输入功能_type“$(treelabeller_workspace_name)_attributeCreator_2_output”输出功能_type_uuuTolabeller_uuuFactory_def*test factory factory_name$(treelabeller_workspace_name)_labelpointreplacer_2_strokefilter输入功能_type_uuuuTolabeller_uuuufme_type fme_arc test@globalvariable(fm_get_mapping_file_flag_keyword_fm_use_rich_geometry)==是输出传递的特征_type uuuu tolabeller_uuuuuuuuuuuuuuarc()输出失败的特征_type uuu tolabeller_uuuuufactory_def*teefactory factory_name$(treeller_workspace_name)_labelpointreplacer_2_指针输入特征re-type uuuuu tolabeller uuuuufme u geometry fme u point output feature type“$(treelabeller workspace name)labelpointreplacer 2 labelpoint”@geometrytype(fme text,@value(label),1,0)Factory def*label factory name$(treelabeller workspace name)labelpointreplacer 2 _liner input feaTru_Type_uuuu Tolabeller_uuufme_Type FME_Line Placement Upper_Right Placement_Distance 0 Output Point Feature_Type“$(TreeLabeller_Workspace_Name)_LabelPointReplacer_2_LabelPoint”@几何类型(FME_Text,@Value(_Label),1,@Value(LabelRotation))工厂定义*TeeFactory工厂名称$(TreeLabeller_Workspace_Name)_LabelPointReplacer_2_PipCreator输入功能_Type uuUu ToLabeller_UuUu输出功能_Type UuUu TopIP UuUuUuU@GeneratePoint()工厂_Def*PipComponentsFactory工厂_Name$(TreeLabeller_Workspace_Name)_LabelPointReplacer_2_PipSplitter输入功能_Type___ topip_uuuuuu输出点功能_type“$(treelabeller_workspace_name)_labelpointreplacer_2_label point”@geometrytype(fme_text,@value(_label),1,0)35;-------------------------------------------------------------工厂_def*teefactory工厂_name$(treelabeller_workspace_name)offsetter input feature_type“$(treelabeller_workspace_name)_labelpointreplacer_2_labelpoint”output feature_type“$(treelabeller_workspace_name)_offsetter_offset“@offset(1.1,-0.5,0)factory_def*teefactory factory_name”$(treelabeller_workspace_name)_offsetter_182 outputcollector“input feature_type”$(treelabeller_workspace_name)_offsetter_offset“output feature_type”$(treelabeller_workspace_name)_offsetter_offset_182“包括[puts macro wb_current_context$(wb_old_context_$(treelabeller_workspace_name))]工厂定义*teefactory工厂名称”treelabellER offsetter_offset_182 output renamer/nuker“输入功能”_type treelabeller_offsetter_offset_182输出功能_type treelabeller_offsetter_offset_182设置fontp参数列表[拆分Arial,1,斜体,];设置fontname[lindex$fontparamlist 0];设置gotfontname 0;设置fontsize[lindex$fontparamlist 1];如果[字符串长度$fontname]>0 fme_setattribute pdf_text_font$fontname;设置gotfontname 1;}(二)如果$gotfontname==1&[string length$fontsize]>0&[string为整数$fontsize]fm_setattribute fm_text_size$fontsize;}(二)fme_setattribute pdf_text_rich“否”;如果$gotfontname==1&[lsearch$fontparamlist“bold”]>=0 fme_setattribute pdf_text_bold“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“italic”]>=0 fme setattribute pdf _text _italic“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“strikeout”]>=0 fme setattribute pdf _text _strikethrough“yes”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“underline”]>=0 fme setattribute pdf _text _underline“yes”;}(二)}tcl2 proc pdfstyler_4_line_dash_pattern设置dashpatternlist[拆分”“];对于设置i 0$i<[llength$dashpatternlist]incr i fme setattribute pdf _line dash“$i”[lindex$dashpatternlist$i];}(二)}tcl2 proc pdfstyler_4_get_name if[字符串长度[fme_getattribute]]0 fme_setattribute pdf_name[fme_getattribute];}(二)}工厂定义*teefactory工厂名称pdfstyler_4输入功能\类型treelabeller_offsetter_182输出功能\类型pdfstyler_4_styled@tcl2(“pdfstyler_4_get_name”)pdf_tooltip“”pdf_url“”fme_color“0,0.333333,0”fme_fill_color“0,0.333333,0“pdf_pen_opacity”1.0“pdf_fill_opacity”1“pdf_line_width”1.0“pdf_line_cap_style”butt cap“pdf_line_join_style”mit“0.0”@tcl2(“pdfstyler_4_line_dash_pattern”)pdf_line_dash_pattern_phase“0”@Tcl2(“pdfStyler_4_Font_Info”)35;设置fontname[lindex$fontparamlist 0];设置gotfontname 0;设置fontsize[lindex$fontparamlist 1];如果[字符串长度$fontname]>0 fme_setattribute pdf_text_font$fontname;设置gotfontname 1;}(二)如果$gotfontname==1&[string length$fontsize]>0&[string为整数$fontsize]fm_setattribute fm_text_size$fontsize;}(二)fme_setattribute pdf_text_rich“否”;如果$gotfontname==1&[lsearch$fontparamlist“bold”]>=0 fme_setattribute pdf_text_bold“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“italic”]>=0 fme setattribute pdf _text _italic“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“strikeout”]>=0 fme setattribute pdf _text _strikethrough“yes”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“underline”]>=0 fme setattribute pdf _text _underline“yes”;}(二)}tcl2 proc pdfstyler_7_line_dash_pattern设置dashpatternlist[拆分”“];对于设置i 0$i<[llength$dashpatternlist]incr i fme setattribute pdf _line dash“$i”[lindex$dashpatternlist$i];}(二)}tcl2 proc pdfstyler_7_get_name if[字符串长度[fme_getattribute]]0 fme_setattribute pdf_name[fme_getattribute];}(二)}工厂定义*Teefactory工厂名称PdfStyler_7输入特征_类型溶解器_区域_0输出特征_类型PdfStyler_7 _styled@tcl2(“PdfStyler_7 _get_name”)pdf_tooltip“”pdf_url“”fme_color“0,0.333333,0”fme_fill_color“0,1,0”pdf_pen_opa城市“1.0”pdf_fill_opacity“0.4”pdf_line_width“1.0”pdf_line_cap_style“butt cap”pdf_line_join_style“miter join”pdf_line_mitter“0.0”@tcl2(“pdfstyler_7_line_dash_pattern”)pdf_line_dash_pattern_phase“0”@tcl2(“pdfstyler_7_字体“信息”)工厂名称“分解器”输入功能“类型测试过滤器”墙递归“是拆分”组合“是设置”类型“是零件”编号“字段”零件编号“几何图形”Me_字段_几何_名称输出点特征_类型分解器_4 _分解输出线特征_类型分解器_4 _分解输出多边形特征_类型分解器_4 _分解输出圆环特征_类型分解器_4 _分解输出聚合特征_类型分解器_4_分解--------------------------------------------------------包括[如果“否”=“是”放置“宏集合_处理*”}否则将“宏集合”置于“处理而不是此时”;}]宏输出Point Ftype xmacro output Line Ftype xmacro output Line Ftype geometryfilter LineMacro output Area Ftype xmacro output Area Geometryfilter AreaMacro output Arc Ftype xmacro output Text Ftype xmacro output Ellipse Ftype xmacro output Surface Ftype xmaCRO输出_实体_ftype xmacro输出_收集_ftype xmacro输出_空_ftype xlookup几何过滤器_routertable“”“x”fme _point$(输出_point _ftype)fme _line$(输出_line _ftype)fme _area$(输出_area _ftype)fme _arc$(输出_arc _ftype)fme_text$(output U TEXT U FTYPE)FME U ELLIPSE$(output U ELLIPSE U FTYPE)FME U RASTER$(output U RASTER U FTYPE)FME U SURFACE$(output U SURFYPE)FME U SOLID$(output U SOLID U FTYPE)FME U Collection$(output U Collection U FTYPE)FME U NO U GEOM$(output U NULL U FTYPE)Factory U def*teefa工厂工厂名称几何过滤器输入通过输入特征类型分解器4类型分解输出特征类型几何过滤器所有几何过滤器工厂定义$(收集处理)测试工厂名称几何过滤器所有集合输入特征类型几何过滤器所有集合测试&fme_type=“fme_collection”输出失败的功能_type geometryfilter_uuu not_collection_uuuu output passed feature_type geometryfilter_uuuu collection_uuuuu geometryfilter_u temp_count@count(geometryfilter_count_域,0)工厂定义$(收集处理)分解工厂名称几何过滤器输入特征_类型几何过滤器uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu递归是设置fme_类型是输出点特征_类型几何过滤器uuuuuuuuuuuuuuuuuuuuuuuuuu分解输出线特征u类型几何过滤器Ted_uuuuuuuuu输出多边形特征u型几何过滤器uuuu分解输出圆环特征u型几何过滤器uuuuuuu分解输出聚合特征u型几何过滤器uuuuuuu分解工厂u定义$(收集_处理)聚合工厂u名称几何过滤器u聚合momo input特征型几何过滤器uuuuu按fme型分解u字段前型几何过滤器uuu温度u计数输出聚合特征型几何过滤器uuuuuu同质聚合过滤器uuuuu工厂定义*测试工厂名称几何过滤器u路由器输入特征型几何过滤器r_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuyAggregate_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu=“x”输出传递的特征_type*@removeattributes(geometryfilter_uu temp_count)----------------------------------------------------------------工厂_def*donutholefactory工厂_name donutholeextractor输入特征_type geometryfilter_area输出孔特征_t类型donutholeextractor_hole outershell feature_类型donutholeextractor_outershell-------------------------------------包括[如果(FME_line=FME_point)放置宏几何coercer_func@geometrytype(FME_point)}ELSEIF(FME LINE=FME)Puts Macro GeometryCoercer _func@GeometryType(FME LINE)}ELSEIF(FME=FME)多边形如果{({ }==是)放置宏几何coercer_func@geometrytype(fme_polygon,检查“重复点移除”中的“Z”。}else puts macro geometrycoercer_func@geometrytype(fme_polygon)}}elseif(fme line=fme)puts macro geometrycoercer _func@geometrytype(fme _arc,@value(fme _rotation),@value(fme _primary _axis),@value(fme _secondary _axis),@value(fme _start _angle),@value(fme _sweep _angle))}elseif(fme_line=fme_椭圆)puts macro geometrycoercer_func@geometrytype(fme_椭圆,@值(fme_主轴),@值(fme_主轴),@值(fme_主轴),@值(fme_旋转),左_手规则)}elseif(fm_line=fm_text)puts macro geometrycoercer_func@geometrytype(fm_text,@value(fm_text_string),@value(fm_text_size),@value(fm_rotation))}elseif(fme line=fme复合材料)放置宏观几何协合器_func@geometrytype(fme _复合材料表面)}elseif(fm line=fm brep)puts macro geometrycoercer_func@geometrytype(fm brep u solid)}]工厂定义*teefactory工厂名称geometrycoercer_renamer input feature_type donutholeextractor_outershell input feature_type donutholeextractor_hole output feature_type geometrycoercer_forced$(geometrycoercer_func)35;----------------------------------------------————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————Pper_Untouched-------------------------------------------------------------包括[如果(是=是)放置宏自相交工厂*输入功能输入}Else Puts宏SelfIntersectionFactory被忽略输入宏交叉输入特征_型斩波器_型斩波输入特征_型斩波器未接触}(二)]工厂定义(self intersection factory)intersectionfactory工厂名称intersector_self input feature_type chipper_chipper input feature_type chipper_untouched ignore_node_heights yes self_intersection_only output segment feature_type_uuuu tointernter_uuuuu factory_def*intersectionfacTory Factory_name intersector_all$(intersectioninput)overlap_count_attribute_overlaps segment_count_attribute_segments segments segments segments no node_number_attr_node_number ignore_node_heights yes output segment feature_type intersector_intersected_——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————映射输出未接触特征_型捕捉器_未接触ss allow_cycles no output polygon feature_type polygonbuilder_polygon---------------------------------------------------------------------Factory_def*polygonsolveFactory_name solvever_4 input feature_type polygonbuilder_polygon non_overlapping_input no outputPolygon Feature_type solver_4_area诜诜诜IP,107 蕨类植物 st)工厂定义*teefactory工厂名称“attributeCreator_4 output splitter”输入功能\u type attributeCreator_4_输出功能\u type attributeCreator_4_输出功能\u type attributeCreator_4_输出功能--工厂定义*teefactory工厂名称“houselabeller centerpointreplacer”输入功能“U类型属性创建器”输出功能“U类型houselabeller”中心点replacer“U 3输入\U 222macro houselabeller”工作区名称houselabellermacro$(houselabeller_workspace_name)_xformer_name houselabeller macro$(houselabeller_workspace_name)_sub_doc_name houselabellerdefault_macro houselabeller_workspace_name“”包括[输入macro wb_old_context_$(houselabeller_workspace_name)$(wb_current_context);输入macro wb_current_context$(houselabeller_workspace_name)]工厂_def*teefactory工厂_name“$(houselabeller_workspace_name)_centerpointreplacer_3_input_222 input splitter“input feature_type”$(houselabeller_workspace_name)_centerpointreplacer_3_input_222“output feature_type”$(ho使用labeller_workspace_name)_centerpointreplacer_3_input_222“35;-------------------------------------------------工厂定义*teefactory工厂名称$(houselabeller_workspace_name)_centerpointreplacer_3 input feature_type”$(houselabeller_workspace_name)_centerpointreplacer_3_input_222“output feature_type”$(houselabeller_workspace_name)_centerpointreplacer_3_centerpoint“@converttopoint()35;----------------------------------------------------------------factory_def*teefactory factory_name$(houselabeller_workspace_name)_labelpointreplacer_3_splitter input feature_type“$(houselabeller_workspace_name)_centerpointreplacer_3_centerpoint”输出feature_type uuuuu tolabeller_uuuuuu factory_def*testfactory factory_name$(houselabeller_workspace_name)_labelpointreplacer_3_strokefilter input feature_type uuuuu tolabeller_uuuuuuuuuuuuuuuuuuuu type fme_arc test@globalvariable(fme_get_mapping_file_flag_keyword_fme_use_rich_geometry)==是输出通过的特征_type_uuuu tolabeller_uuuuuuuuarc()输出失败的特征_type_uuu tolabeller_uuuu factory_def*teefactory factory_name$(houselabeller_workspace_name)_labelpointreplacer_3_指针输入特征type uuuu tolabeller uuufme geometry fme point output特征type“$(houselabeller workspace name)labelpointreplacer 3 labelpoint”@geometry type(fme text,@value(tool tip),2,0)工厂定义*标签工厂名称$(houselabeller workspace name)labelpointreplacer_3_liner input feature_type_uuuu tolabeller_uuuufme_type FME_line placement upper_right placement_Distance 0 output point feature_type$(houselabeller_workspace_name)_labelpointreplacer_3_labelpoint“@几何类型(fme_text,@value(_tool_tip),2,@value(labelrotation))工厂类型ef*teefactory factory_name$(houseLabeller_workspace_name)_labelpointreplacer_3_pipCreator输入功能_type uuuuTolabeller_uuuuuuuu输出功能_type uuuuuTopip_uuuuuuuuuuuu@generatepoint()工厂_def*pipComponents工厂_name$(houseLabeller_workspace_name)_labelpointreplacer_3_pipsplitter输入功能type uuuutopip uuuuu输出点功能type“$(houselabeller _workspace _name)labelpointreplacer 3 labelpoint”@几何类型(fme _text,@value(_tool _tip),2,0)-----------------------------------------------------------工厂定义*teefactory事实ory_name$(houselabeller_workspace_name)_offsetter_2 input feature_type“$(houselabeller_workspace_name)_labelpointreplacer_3_labelpoint”output feature_type“$(houselabeller_workspace_name)_offsetter_2_offset“@offset(-7,-2,0)Factory_def*teefactory factory_name”$(houselabeller_工作区_name)_offsetter _2_offset _226 output collector“输入功能_type”$(houselabeller _workspace _name)_offsetter _offset“输出功能_type”$(houselabeller _workspace _name)_offsetter _2_offset _226“包括[输入宏wb _当前_context$(wb _old context$(houselabeller _workspace _name))]工厂定义*teefactory工厂名称“houselabeller offsetter”输入功能“U型houselabeller”offsetter“U 2”输出Renamer/Nuker”输入功能“U型houselabeller”offsetter“U 2”输出功能“U型houselabeller”offsetter“U 2”offset“U 226”e_text_sizetcl2 proc pdfstyler_12_font_info set fontparamlist[拆分Arial,2,];设置fontname[lindex$fontparamlist 0];设置gotfontname 0;设置fontsize[lindex$fontparamlist 1];如果[字符串长度$fontname]>0 fme_setattribute pdf_text_font$fontname;设置gotfontname 1;}(二)如果$gotfontname==1&[string length$fontsize]>0&[string为整数$fontsize]fm_setattribute fm_text_size$fontsize;}(二)fme_setattribute pdf_text_rich“否”;如果$gotfontname==1&[lsearch$fontparamlist“bold”]>=0 fme_setattribute pdf_text_bold“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“italic”]>=0 fme setattribute pdf _text _italic“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“strikeout”]>=0 fme setattribute pdf _text _strikethrough“yes”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“underline”]>=0 fme setattribute pdf _text _underline“yes”;}(二)}tcl2 proc pdfstyler_12_line_dash_pattern设置dashpatternlist[拆分”“];对于设置i 0$i<[llength$dashpatternlist]incr i fme setattribute pdf _line dash“$i”[lindex$dashpatternlist$i];}(二)}tcl2 proc pdfstyler_12_get_name if[字符串长度[fme_getattribute]]0 fme_setattribute pdf_name[fme_getattribute];}(二)}工厂定义*teefactory工厂名称pdfstyler输入功能\u类型houselabeller \u offsetter \u 2 \u offstyler \u 226输出功能\u类型pdfstyler \u 12 \u styled@tcl2(“pdfstyler \u 12 \u get \u name”)pdf \u tooltip“”pdf \u url“”fme \color“0,0,0”fme \u fill \u color“0,0,0”pdf_Pen_Opacity“1.0”pdf_Fill_Opacity“1”pdf_Line_Width“1.0”pdf_Line_Cap_Style“Butt Cap”pdf_Line_Join_Style“Miter Join”pdf_Line_Miter_Limit“0.0”@tcl2(“PdfStyler_12_Line_Dash_Pattern”)pdf_Line_Dash_Pattern_Phase“0”@tcl2(“PdfStyler_12_Font_Info”)35;设置fontname[lindex$fontparamlist 0];设置gotfontname 0;设置fontsize[lindex$fontparamlist 1];如果[字符串长度$fontname]>0 fme_setattribute pdf_text_font$fontname;设置gotfontname 1;}(二)如果$gotfontname==1&[string length$fontsize]>0&[string为整数$fontsize]fm_setattribute fm_text_size$fontsize;}(二)fme_setattribute pdf_text_rich“否”;如果$gotfontname==1&[lsearch$fontparamlist“bold”]>=0 fme_setattribute pdf_text_bold“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“italic”]>=0 fme setattribute pdf _text _italic“是”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“strikeout”]>=0 fme setattribute pdf _text _strikethrough“yes”;}(二)如果$gotfontname==1&[lsearch$fontparamlist“underline”]>=0 fme setattribute pdf _text _underline“yes”;}(二)}tcl2 proc pdfstyler_11_line_dash_pattern设置dashpatternlist[拆分”“];对于设置i 0$i<[llength$dashpatternlist]incr i fme setattribute pdf _line dash“$i”[lindex$dashpatternlist$i];}(二)}tcl2 proc pdfstyler_11_get_name if[字符串长度[fme_getattribute]]0 fme_setattribute pdf_name[fme_getattribute];}(二)}FACTORY_DEF * TeeFactory FACTORY_NAME PDFStyler_11 INPUT FEATURE_TYPE AttributeCreator_4_OUTPUT_0 OUTPUT FEATURE_TYPE PDFStyler_11_STYLED @Tcl2("PDFStyler_11_get_name") pdf_tooltip "@Value(_tool_tip)" pdf_url "" fme_color "0.886275,0.294118,0" fme_fill_color "1,0.803922,0.411765" pdf_pen_opacity "1.0" pdf_fill_opacity "0.4" pdf_line_width "1.0" pdf_line_cap_style "Butt Cap" pdf_line_join_style "Miter Join" pdf_line_miter_limit "0.0" @Tcl2("PDFStyler_11_line_dash_pattern") pdf_line_dash_pattern_phase "0" @Tcl2("PDFStyler_11_font_info")# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME "PDFStyler_3_STYLED -> Patio Correlator" INPUT FEATURE_TYPE PDFStyler_3_STYLED OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ @Transform(FME_GENERIC,PDF2D) @SupplyAttributes(__wb_out_feat_type__,Patio)# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME "PDFStyler_2_STYLED -> Driveway Correlator" INPUT FEATURE_TYPE PDFStyler_2_STYLED OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ @Transform(FME_GENERIC,PDF2D) @SupplyAttributes(__wb_out_feat_type__,Driveway)# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME "PDFStyler_STYLED -> Grass Correlator" INPUT FEATURE_TYPE PDFStyler_STYLED OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ @Transform(FME_GENERIC,PDF2D) @SupplyAttributes(__wb_out_feat_type__,Grass)# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME "PDFStyler_10_STYLED -> WindowsDoors Correlator" INPUT FEATURE_TYPE PDFStyler_10_STYLED OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ @Transform(FME_GENERIC,PDF2D) @SupplyAttributes(__wb_out_feat_type__,WindowsDoors)# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME "PDFStyler_9_STYLED -> Fence Correlator" INPUT FEATURE_TYPE PDFStyler_9_STYLED OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ @Transform(FME_GENERIC,PDF2D) @SupplyAttributes(__wb_out_feat_type__,Fence)# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME "PDFStyler_8_STYLED -> Shrub Correlator" INPUT FEATURE_TYPE PDFStyler_8_STYLED OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ @Transform(FME_GENERIC,PDF2D) @SupplyAttributes(__wb_out_feat_type__,Shrub)# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME "PDFStyler_12_STYLED -> HouseLabel Correlator" INPUT FEATURE_TYPE PDFStyler_12_STYLED OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ @Transform(FME_GENERIC,PDF2D) @SupplyAttributes(__wb_out_feat_type__,HouseLabel)# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME "PDFStyler_4_STYLED -> TreeLabel Correlator" INPUT FEATURE_TYPE PDFStyler_4_STYLED OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ @Transform(FME_GENERIC,PDF2D) @SupplyAttributes(__wb_out_feat_type__,TreeLabel)# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME "PDFStyler_6_STYLED -> PoolLabel Correlator" INPUT FEATURE_TYPE PDFStyler_6_STYLED OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ @Transform(FME_GENERIC,PDF2D) @SupplyAttributes(__wb_out_feat_type__,PoolLabel)# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME "PDFStyler_5_STYLED -> Pool Correlator" INPUT FEATURE_TYPE PDFStyler_5_STYLED OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ @Transform(FME_GENERIC,PDF2D) @SupplyAttributes(__wb_out_feat_type__,Pool)# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME "PDFStyler_11_STYLED -> Footprint Correlator" INPUT FEATURE_TYPE PDFStyler_11_STYLED OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ @Transform(FME_GENERIC,PDF2D) @SupplyAttributes(__wb_out_feat_type__,Footprint)# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME "PDFStyler_7_STYLED -> Trees Correlator" INPUT FEATURE_TYPE PDFStyler_7_STYLED OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ @Transform(FME_GENERIC,PDF2D) @SupplyAttributes(__wb_out_feat_type__,Trees)# -------------------------------------------------------------------------FACTORY_DEF * TestFactory FACTORY_NAME "Final Output Feature Type Router" INPUT FEATURE_TYPE * TEST @Value(__wb_out_feat_type__) != "" OUTPUT PASSED FEATURE_TYPE * @FeatureType(@Value(__wb_out_feat_type__))# -------------------------------------------------------------------------PDF2D_1_DEF Patio pdf_type pdf_layer_order 50 pdf_in_page_coordinates no pdf_layer_visibility visible visibility visible----------------------------------------------------------------pdf2d_1_def poollabel pdf_type pdf_layer_order 100 pdf_in_page_coordinates no pdf_layer_visibility visibility visible------------------------------------------------------pdf2d_1_def灌木pdf_type pdf_layer_order 80 pdf_in_page_coordinates no pdf_layer_visibility visibility visible-----------------------------------------------------------pdf2d_1_def houselabel pdf_type pdf_layer_order 100 pdf_in_page_coordinates no pdf_layer_visibility visibility visibility visible------------------------------------------------------pdf2d_1_def pool pdf_type pdf_layer_order 80 pdf_in_page_coordinates no pdf_layer_visibility visibility visibility visible-------------------------------------------------pdf2d_1_def grass pdf_type pdf_layer_order 0 pdf_in_page_coordinates no pdf_layer_visibility visibility visibility visible------------------------------------------------------pdf2d_1_def footprint pdf_type pdf_layer_order 50 pdf_in_page_coordinates no pdf_layer_visibility visibility visible------------------------------------------------------pdf2d_1_def driveway pdf_type pdf_layer_order 20 pdf_in_page_coordinates no pdf_layer_visibility visibility visible------------------------------------------------------pdf2d_1_def trees pdf_type pdf_layer_order 70 pdf_in_page_coordinates no pdf_layer_visibility visibility visible--------------------------------------------pdf2d_1_def treelabel pdf_type pdf_layer_order 100 pdf_in_page_coordinates no pdf_layer_visibility visibility visibility visible------------------------------------------------------pdf2d_1_def fence pdf_type pdf_layer_order 20 pdf_in_page_coordinates no pdf_layer_visibility visibility visible------------------------------------------------------pdf2d_1_def windowsdoors pdf_type pdf层\订单70 pdf页\坐标中没有pdf层\可见