LotInner and LotCorner??

01-29-2014 07:23 PM
New Contributor III
I'm trying to learn some CGA by reverse engineering simple scripts.  I'm going through the Reporting01 cga that is part of the new tutorial 11.  I hjave figured out every line in this script except for the rules:

LotInner --> Lot
LotCorner --> Lot

I'm trying to figure out what these do.  When I search the CGA reference for these terms nothing useful comes up.  I can comment out these lines and things change subtly in the generated models, but not like I would expect (something to do with corner lots and inner lots...

When I search the forums I see that there are people who seem to know how to use LotInner and LotCorner, but I have not found any functional explanation.  Is there a CGA coding guide or reference that covers these keywords. 

Thank you
Paul Cote.
5 Replies
Frequent Contributor II
Hi !

I assume you know what happens with "--> Lot", those rules just forward the geometry to Lot. That's basic.

So I guess your question is that LotCorner and LotInner are.

These are 2 default 'StartRules' that are produced by the 'Dynamic City Layouts' system ( the street system ).

1] LotInner are Lots that reside within the Block, but do not touch a street. Create a Block, select each Shape and check the default StartRule on the Shapes.

More on Street Start Rules here:

And on LotInner here:

2] LotCorner shapes are created when you set the 'cornerWidth' parameter on a block with recursive or offset subdivision. This is a prominent geometry feature in e.g. Barcelona or Paris.

I guess this will help you.

New Contributor III
Hi Matt,

First: thank you very much for the work you do answering all of these questions! 
Your explanation boosts my understanding a little bit.

One more question though: Both of the URLs that you posted in your reply point to the same page.  Neighte of them mentions lotInner or lotCorrner.  did you intend the second one to point to a different page?

Thanks again.
0 Kudos
Frequent Contributor II
Sorry, fixed the URL..

My bad.
0 Kudos
Occasional Contributor

hi guyes,

Like Paul i am learning also by reverse engineering, congratulations for the tutorials. Also i have the same question, and the answer helped a bit.

If i understood correctly:

-> LotInner and LotCorner are reserved attribute values that are assigned to certain objects built-in attributes (i.e. attributes that are assigned by running for example dynamic city layouts, or using Get Map Data from OSM).

-> They can be compared with semantic keywords like Lot edge selectors: street.front, street.back, street.right, street.left, street.side selectors (documented in Help - ) in that by referring to the attribute values they can be selected and identified, as oposed to address them by shapeID which would add inefficiency to code and readability.

So my question is, is there a comprehensive list of these builtin attribute values, if so can you send the link?

Thanks and again good work.


0 Kudos
Esri Regular Contributor

Unfortunately, the doc seems to be missing some explanations, and we'll try to update it with Matt's explanations.  Thanks for asking about it.  The links that Matt posted are the current doc pages that explain these default start rules.

First, I'd like to say that start rules and attributes are different.  Lot, LotInner, and LotCorner are start rules.  They define which rule to start with in the code (in the rule file that is assigned to the shape).  Attributes are not really part of this discussion.  They are like parameters that describe properties that a user can change, and they can appear in the code with the keyword attr in front.

Default start rules are automatically assigned to shapes that are dynamically created by street networks.  The default start rule Lot is also automatically assigned to shapes from Get Map Data, as you've noticed.  Lot, LotInner, and LotCorner are default start rules that are automatically assigned to shapes generated by blocks.  Street, Sidewalk, Joint, Crossing, Junction, Freeway, FreewayEntry, Roundabout, and RoundaboutIsland are default start rules that are automatically assigned to street shapes (the first link in Matt's post).  I think there are just these two sets of default start rules.  The street shapes doc page explains one set, and I think the doc is currently missing some explanation about the other set (Lot, LotInner, LotCorner).

These default start rules are automatically assigned to shapes when the street network is created or when the shapes are downloaded using Get Map Data, but these rule assignments can be easily changed in the Inspector.  These names can also be used on any shape.  They are not protected keywords that users should avoid using.  You can assign the start rule name Lot or LotInner to any shape you want.  This just means that the shape will look for a rule called Lot or LotInner in the code, and it will start executing the code with that start rule.

Then, the keywords street.front, street.back, street.left, street.right are selectors that can only be used in certain contexts such as in the setback operation or the comp operation.  For example, this allows you to create a setback on a certain side of the lot (e.g. to create a front yard).

setback Operation 

Component Split Operation