Tag Info

Hot answers tagged

12

The reason that people organize data in separate tables is because of Database Normalization principles (follow the link, all the rationale is there). That being said, ESRI Relationship Classes are a GeoDatabase-level implementation of a those principles. Honestly, I would personally only use them in two instances: when you have some data that is ...


6

i found the answer here at wolf mapper blog - right click on the point shapefile and select “Properties” > “Labels” tab > “Expression…” button. In the “Label Expression” window select “Python” as the “Parser:” and click the check-box next to “Advanced.” Insert the following code: def FindLabel ( [LocID] ): import arcpy myDataTable = "data table" ...


5

Well I found out the bug that was logged for this is NIM082537. You can follow the status of it here: http://support.esri.com/en/bugs/nimbus/role/beta10_1/TklNMDgyNTM3 It might be necessary to copy/paste URL into address bar.


5

The relationshipClassNames property is supposed to do this but it does not seem to work for me (tested in a file geodatabase, created relationship class between two feature classes, checked the property, the list returned is empty for both). Maybe it will work for you.


5

This works for a "relate" (definded in an MXD). I'm not sure if it works for a "relationship class". Please try. If you work with a relate you make a selection in table A and transfer this selection to tabe B (this works in both directions of a relate): Make a selection in the "vegetation table". Open the attribute table of "vegetation table" Click the ...


4

SDE and SQL are not really friends. They do not cooperate very well. SDE uses sql but does not take advantage of all its native capabilities. A relationship set up in sde is not reflected in SQL. Editing feature class tables managed by SDE, modifying table schema's outside of catalog, as well as doing many other things, will pork SDE. Given this track ...


4

You could find a topological representation of county boundaries, such as the CTA boundary files (another source would be the OpenStreetMap, but that's not as complete) and then pick out all distinct pairs of county IDs on opposing sides of boundary lines - e.g. in the CTA files, there's these two fields in the link entity (as described in the ...


4

Relationship classes: Maximizing performance describes the indices added when creating a relationship, which would explain a performance increase as you described.


4

This is possible. But for QGIS to support this type dynamic change when editing data, the data has to have a backend to support that like a RDBMS. If using PostgreSQL that has PostGIS enabled, you could create a new VIEW to facilitate the requirements of the JOIN. Then when you add a new feature to your source table (the geometries) or the view, then the ...


3

You'll need to obtain exclusive access to the data by getting the other users to close ArcMap temporarily. It should then allow you to split the line. Hope this helps.


3

Short answer to the question "Can we create relationship classes based on a geometric network?" Relationships yes, relationship classes no. Long answer: A relationship class as defined by ESRI deals with how attributes inside fields relate to each other in two or more tables. A relationship class can be one to one, one to many or many to many. It can be ...


3

If you want to assign IDs (or another field) automatically, you should programmatically create Class Extension that listens to edit events and updates corresponding Id field http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#//000100000201000000


3

You just need to create a new field in your feature class and use the Field Calculator to create the unique ID based on fields in the class. Something like: "CH%s%s" % (!StreetField!, !UniqueCodeField!) using Python.


3

In QGIS, you can calculate those sums and means with "Join attributes by location" tool. It will create a new shapefile with additional attributes.


3

For a programmatic approach, I see several options: custom Layer. custom renderer. layer extension that implements ILayerExtensionDraw. With any of these approaches, you can use IRelationshipClass.GetObjectsRelatedtoObject, (or RelatedToObjectSet), assuming you've set up a relate to the score table.


3

Since you mention you are a programmer, here's some code that works with arcgis 10. Update: If you don't feel like programming, I've posted a zipped shapefile of the graph here. public void TestGetNeighbors() { var fLayer = ArcMap.Document.FocusMap.get_Layer(0) as IFeatureLayer; var dict = GetNeighborsByName((ITopologyClass)fLayer.FeatureClass, "{0} ...


3

UPDATE: Added spatial index to improve performance and brief instructions for using this script on Windows. #------------------------------------------------------------------------------- # This script will build an adjacency table in csv format representing # county polygons that "neighbor" each other. This script is intended # to illustrate the use ...


3

Assuming you have a 1-M relationship between the two tables: Open up the attribute table for your big table right-lick on the foreign key column, and select Summarize Select the fields that you need to do your statistics on and the statistics method (sum, avg, etc). It creates a new output table Join the output table back to your origin table. Open up ...


3

Think about the bigger picture - GIS data is just a means to an end for most people, especially when it comes to government entities. My experience has been that relationship classes are primarily useful (and appropriate) when you need to incorporate non-spatial data with one:many relationships to your spatial data, especially if it is from an external ...


3

For the example you show the output relationship class is not a path, but simply the name you want for the new relationship. AND it has to be contained within a geodatabase. You can't create a relationship class on stand alone .dbf files in a standard folder. Create a file geodatabase, import your dbf files into the fgdb and then create the relationship ...


3

It looks like you're still using a path for the relationship class name, that should only be the name you want for the relationship. Also, if you copied the .dbf tables into your file geodatabase they should not have .dbf at the end of the name. I think this may be confusing ArcGIS. When you have tables in the geodatabase they do not need a file extension at ...


3

If there is such an inbuilt method for ArcPy then I am unaware of it. Curiously, the ArcInfo Workstation architecture (which preceded ArcGIS for Desktop) had a cursor implementation within its Arc Macro Language (AML) that supported working with related records.


3

You can save geoprocessing results with the mxd file. Older geoprocessing can be accessed from ArcMap's Main Menu. (Geoprocessing > Results). In there You can see all the pre processed geoprocessings!


2

The only time I have had problems with relationship classes that exist in SDE not being automatically published in a map service was because there is a problem with permissions on the account I was publishing with to see the related table in SDE. How are you adding related feature classes/ tables to the .mxd? Is it the same user/version as the key feature ...


2

Since you're setting your environment variable env.workspace, I think you may be misleading the tool by re-stating the name of the database in your variables: origin_table,destination_table, and relationship_type. What the tool sees this: origin_table = "a.gdb\a.gdb\Trail_meta" destination_table = "a.gdb\a.gdb\trails_mfg" out_relationship_class = ...


2

It might be worth looking at the Infrastructure Network Editing (ArcGIS 10) to see if the attribute assistant can be configured to create your IDs. I don't recall if it can be used outside of a network. http://www.arcgis.com/home/item.html?id=14bdfb26bc2f4e0388a633fbd0ccca02 Zip Infrastructure Network Editing also includes an editor extension called ...


2

Another option is to open the Attribute Table. Once the table is open you can select any number of features. Once Selected, click the Options Button and view Related Tables. This will create a fly-out list of the related tables either via GDB Relations Classes or ArcMap Relates, select the table you want and it's table will then open with the related ...


2

To add an attribute to a relationship class you need to use ArcMap. In ArcMap, use the Add Data button to add your relationship to the .mxd. It will come in as a table. From the Table of Contents, open the table by either doing a Right Click>Open. In the table view, click Table Options>Add Field. Set the properties of your new field and click OK. ...


2

If you need to update records based on edits to the origin, there are several ways to do it. What it boils down is to listen to the Relationship Class events and to update accordingly. That is one way to do it. Another one is to do it as an Editor Extension.


2

Open table properties by right-clicking on the tablename in the table of contents. In the Display tab, change the field to 'Plant_Species_Present'



Only top voted, non community-wiki answers of a minimum length are eligible