Hot answers tagged

11

One way of doing it: Close ArcGIS and ArcCatalog. In SQL Developer (Oracle 11g), the sequence of any Oracle table, if registered with the Geodatabase, will be created by SDE under a name similar to this one: 'R5834' If you click in SQL Developer onto the tab 'Other Users' and then onto the 'SDE' user, you should be able to see the table 'TABLE_REGISTRY'. ...


8

I was asked this question today ("How do I identify if a featureclass has curves) and was given some arcpy code suggestions. Modify the following code as you see fit (a flag variable instead of a message for example) geometries = arcpy.CopyFeatures_management("inputFeatures", arcpy.Geometry()) import json for g in geometries: j = json.loads(g.JSON) ...


7

This is exactly what Historical Versions (aka Archiving) were created for. Go ahead and Enable Archiving in ArcCatalog. Create a Historical Marker for the initial source version and another one for the end. Then you can open the table in a version created from the first marker, another one for a version in the target marker. A difference cursor will spit out ...


7

This problem has to do with spatial index. When you export the data into a new workspace, be it a file geodatabase or a shapefile, the export process creates a new feature class in the target workspace. The new feature class is then assigned a spatial index according to the default environment variables in your ArcGIS. There are some rules when setting ...


7

Business rules vs data integrity rules When you model your database, you specify the business logic in two spaces: a. The data integrity rules. This includes among others having an integer column so users won't be able to enter strings. b. The business domain rules. This includes having check/unique/foreign key constraints on columns so it won't be ...


7

In short, unsaved/temporary edits in ArcGIS geodatabase are stored in a table, specifically Delta tables also know as A (add) & D (delete) tables based on the information I'm aware of and researched. In Esri's Registering as versioned with the option to move edits to base If you decide to register a feature dataset, stand-alone feature class, or ...


6

To follow-up on PolyGeo's answer, the Describe object is certainly where it should be, but it isn't. Database queries may be the best way to go here. Although, if you have the SDE command-line binaries, another option would be to try doing something like this (yes it's a hack, but might work): import subprocess output = subprocess.check_output("sdelayer -...


6

Oracle Spatial has functions in SDO_UTIL-package which you can use to export sdo_geometry as GML, WKT etc. in your select statements.


6

try adding -nlt NONE, in case it's a table without geometries


6

You can think of ArcSDE as a spatial data abstraction library used by the GeoDatabase. It has both a client-side library and a server-side component. It stays in between your ArcGIS and Oracle software. The client-side code always runs, well, in-proc to the client. It is shipped/built-in with all the ArcGIS software you may run - no separate installation ...


6

Oracle DBMS is is capable of storing spatial data either through custom formats (like Esri) or native (Oracle Spatial). This means it is worth learning for GIS Analyst because you will be able to interact with the DBMS either by using SQL/PLSQL/spatial SQL functions (for analysis and data retrieval, and you can do a lot with those spatial functions without ...


6

No, it is not possible to directly edit Query Layers (in any database) using the standard graphical editing tools of ArcMap/arcpy (as if they were shapefile, file geodatabase, or enterprise-enabled feature classes). The underlying ArcSDE technology is the mechanism that permits both versioned and non-versioned editing of database tables -- No ArcSDE, no ...


5

You can run the command "desc [feature class name];" in SQL Plus (Or any other way you access oracle" Look at the Shape columns data type, that should tell you which Geometry type is used, for instance: SQL> desc roads; Name NULL? Type ------------------------------------ OBJECTID NOT NULL NUMBER(38) FNODE_ NUMBER(38) ...


5

At least two things can cause this - maybe more. The views should be added to Oracle's own spatial metadata catalog. This has been discussed a few times on MapInfo-L, see http://groups.google.com/group/mapinfo-l/browse_thread/thread/8088c4afeadeb1c6?pli=1. The other problem could be that you don't have a primary key in your view. For MapInfo Pro to be able ...


5

Postgis, spatialite and Qgis mainly use GDAL/Proj definitions with EPSG codes as ID for CRS. You find a lot of them at spatialreference.org, but that database is a bit outdated. For Dutch RD, there is EPSG:28991 Amersfoort/RD Old EPSG:28992 Amersfoort/RD New Oracle used their own SRID up to release 10.1, and switched to EPSG codes as of release 10.2 ...


5

The OGC WKT and WKB specifications never explicitly addressed how to encode higher dimensionality, so it would not be surprising if Oracle either (a) did not encode those dimensions at all or (b) did so in a way that is not consistent with formats PostGIS can ingest. Absent any examples of Oracle output, I'm just guessing. You might find that a software-...


5

It looks like you are hitting a known issue. NIM034235 IFieldChecker.ValidateTableName should check that table names do not exceed the workspace's maximum number of characters. mackayj80 describes the issue in this Esri blog post.


5

In GIS applications, often times the SELECT * FROM portion of the SQL expression is typically supplied for you, effectively leaving the user to just enter the WHERE clause. Additionally, applications often abstract the SQL language to make it easier for their customers to use & understand (who may not know the ANSI SQL standards), choosing to implement ...


5

Keep in mind what you are doing -- You are asking the database to return all features within the display envelope AND whose ids are in the first 1000. And you are likely doing so with a spatial constraint first option. Yes, it is very normal to see poor performance under such circumstances. Best practice for rendering very large tables is not to. This ...


5

The solution depends on the geometry of your layer. Point Geometries For points you can access the X and Y co-ordinates directly: update TABLE1 s1 set X = s1.GEOMETRY.SDO_POINT.x,y=s1.geometry.sdo_point.y Polygon, Multi-point SDO_UTIL.GETVERTICES will return all vertices of your geometry, and your previous query would fail if the geometry had more than ...


5

By default, yes, it normally is unless someone overrode that and designed the table differently. Is this an ArcSDE database? There may also be GlobalID fields that act as primary keys across multiple databases with relationship tables, so that may add some complications. You are correct; there can only be one primary key. However, with the right ...


4

I haven't used the Query layer but I assume it needs to be a valid oracle layer? Which means you would have to add an entry for the layer to the user_sdo_geom_metadata table (see here) and also creating a spatial index (see there)


4

If anyone is still interested in this, it was fixed at Version 10.1. ESRI Technical Support Number: NIM070156 and NIM062420 http://support.esri.com/en/bugs/nimbus/TklNMDcwMTU2 http://support.esri.com/en/bugs/nimbus/TklNMDYyNDIw


4

Thesis by Shamal Kiran Matty (2012) 'Comparative study of Oracle Spatial and Postgres Spatial' discusses quite a lot of issues that might be of interest here. From the summary: However, the research done as a part of this thesis suggests that PostGIS is more advantageous over Oracle Spatial for the reasons stated below: Cost Savings Ease of ...


4

Why not just do a Select Layer by Location instead of setting the geoprocessing extent? Alternatively, you could use a SearchCursor and stop after the 500th row.


4

The OpenGeo Suite sounds like your best all in one solution http://opengeo.org/products/suite/integration/ Though understanding the steps will help your build the web mapping application you want, here are some useful links that show you what can be achieved. Editing "OpenLayers provides vector editing capabilities previously only available on desktop ...


4

There are a number of built-in options for connecting to Oracle and other DBMS's without using 3rd-party Python modules (not that you couldn't or shouldn't just that there are reasonable alternatives): SDE Connection Files: If your table is located on an SDE geodatabase, you can use these just as you would any other workspace from arcpy. E.g. arcpy.env....


4

I have done some research and in my test cases it looks like ArcSDE has a slight performance edge over query layers which widens as the dataset grows. I don't have exclusive use of the infrastructure so there are some unknowns here, but the tests were repeated a few times. I created 50,000 random points in WGS84 Lat/Lon. I first created a query layer in ...


4

By using Densify ,Curve segments are simplified through densification by either the Maximum Deflection Angle, or Maximum Offset Deviation parameter. So Straight line segments will be kept intact.


4

The UNION ALL does not perform the same as what you want to achieve. Like the manual says, it is really an alternative to a combined mask. For example, the "+" in expression "MASK=INSIDE+COVEREDBY" stands for an inclusive OR, and so can be replaced by a UNION ALL, that also represents an inclusive OR. But you want to do something else: you want to find out ...


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