Hot answers tagged oracle-spatial
17
If your dataset is added to and updated often, then INSERT, DELETE and UPDATE statements which cause the index to be rebuilt may slow the database down.
For bulk inserts, such as loading the entire OSM dataset into a database, it may be quicker to drop the indices and create them again afterwards.
If it is more efficient to ignore an index (for example ...
7
I see them as separate activities.
Geocoding is the process of taking coded location information (such as addresses or grids) and turning it into explicit location information (X and Y coordinates, usually). Reverse geocoding is the opposite, taking XY data and locating the nearest address, grid, etc.
Georeferencing is the process of taking a raster image ...
6
What you are looking for is a Spatial-View, now the only major issue you will see here is that you need to be careful with the fields you are joining on. This is a pretty nice process, I use it all over the place where I have generalized my DB to talk with thin spatial data.
sdetable -o create_view -T emp_region_view -t "employees,world.regions"
-c ...
6
mapoholic,
Generally speaking, there isn't a reason to do a spatial query without a spatial index unless you are dealing with really small tables. Still though you would use the ST_ which don't use an index but do have the && indexable short circuit box operators.
the functions that start with _ST are not meant to be used by end users. The reason ...
5
I think this is implied, but I would NOT use a spatial index for a query when I had a non-spatial index that I could use instead. For example, I have 2,113,450 points that span the United States loaded into a table. If I wanted to pull all of the points that were within the state of Alaska, I could either do a spatial query that used the GIST index on the ...
5
To easily understand these terms, let's use example of an online mapping service (say Google maps, Mapquest etc.)
When you type an address or a placename in the searchbox and in return the map shows a marker at the place. The process of associating an address or a placename with coordinates on the map is called Geocoding. In a spatial database this is done ...
4
There are various functions you can use to get the minimum bounding rectangle in Oracle Spatial:
SDO_GEOM.SDO_MBR
SDO_MIN_MBR_ORDINATE
SDO_MAX_MBR_ORDINATE
There are lots of examples here:
http://www.spatialdbadvisor.com/oracle_spatial_tips_tricks/55/oracle-locator-vs-enterprise-licensing-the-sdogeom-package
in section 2, which hopefully will help. It ...
3
Creating a view joining parcels and permits is advisable. You can use it in other situations as well (data querying etc.).
See a sample of doing so in Joining spatial and not spatial table in oracle.
3
When creating a view/table, or any other object for that matter, in Oracle it is best not to use double quotes around identifiers because that tells Oracle that the name is case sensitive.
Oracle by default is not case sensitive (even for username/passwords, if I recall correctly).
So, when in Oracle and Postgres you name an object (table, column, etc) with ...
3
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 ...
3
'Yes' is the short answer. The way you do it depends on what you want to use the data for.
The simplest way is to re-project your data into a Lat/Lon coordinate system using ST_Transform() (I think it is just 'Transform()' in SpatiaLite and something weird in Oracle). Alternatively, follow one of these recipes, perhaps using Proj4. Once you have ...
3
One thing I see missing is a unique integer column that ArcObjects can use for the object ID. Try creating a single sequence that will maintain unique values for this id column. Then create insert triggers on each of the tables to populate the id column with the sequence.nextval.
In your sdelayer -o register command, be sure to set the -C flag to your ...
2
I had this (and similar problems) in the past. It always came down to two things:
The spatial table had some corrupt/invalid geometries. Problem with ArcMap is that as soon as it finds an invalid geometry it would stop rendering.
The layer registration is incorrect. What I also found is that the sdelayer -o register doesn't always work correctly and you ...
2
In my experience, when a layer isn't displaying in Arc, it's because the spatial index is missing. Views use the spatial index of the source table, but it looks like you are creating a spatial index for the view in your registration statement.
Do either of the source tables have spatial indexes? If not, try creating them in Oracle and re-registering the ...
2
I use the term "georeferencing" when I am referring to applying geographic information to data. Such as "georeferencing an image" so it will align with the rest of my data. I'll use "geocoding" when I have address/post code information and I want to georeference them.
Geocoding on Wikipedia
Georeferencing on Wikipedia
But you probably read those anyway. ...
2
My abbreviated take:
Georeferencing involves fitting an image to the Earth based on matching up visual features of the image with their known location.
Input: Imagery, Image control points, Matching geospatial control points
Output: Image with data attached showing how it fits onto the globe
Geocoding involves converting some human placename or label ...
2
The easy way is to select * from user_sdo_geom_metadata or select * from all_sdo_geom_metadata. This isn't as thorough as pecoanddeco's answer would provide but if your metadata is up to date it's pretty good.
Note that individual geometry rows can have different SRIDs from the metadata (although that will break spatial indexing). For geometry types your ...
1
There is no support for PostGIS in Oracle MapViewer, AFAIK.
MapViewer relies on Oracle Spatial, their SDO_GEOMETRY type and Oracle SQL syntax dialect. MDSYS database schema is full of Oracle-specific GIS metadata, custom types etc. which cannot be easily ported to another database engine.
It uses JDBC to connect to database, which could theoretically allow ...
1
I've not got a copy of Oracle running here at the moment but the ALL_TAB_COLUMNS table will give you a list of all columns and their related tables in the database, so you should be able to filter this to give you a list of the geometry tables.
See http://docs.oracle.com/cd/B28359_01/server.111/b28320/statviews_2091.htm
I'm not sure you can get a list of ...
1
"configuring GeoServer you need to 'Set the layer’s style' Create a Layer - http://docs.geoserver.org/latest/en/user/gettingstarted/shapefile-quickstart/index.html – Mapperz"
Changing layer's default style from "point" to "polygon" did the trick.
1
The Oracle Spatial 10gR1 user guide lists supported Locator functionality here. This page links to another page that describes functions supported by Locator.
This list includes SDO_RELATE, which is another approach to checking for geometry intersections.
e.g. (from the SDO_RELATE section)
SELECT c.mkt_id, c.name
FROM cola_markets c
WHERE ...
1
Did you try manually defining the spatial reference of a query layer ?
ArcGIS uses the spatial reference identifier (SRID) specified on the
shape values in the database to determine the spatial reference of the
features being returned by a query layer. There may be instances where
ArcGIS cannot accurately determine the spatial reference based on ...
1
Have you looked at using the TOID in OS MASTERMAP with the Date fields of MASTERMAP to link the objects.
We have TOIDS from MASTERMAP assigned to other datasets so that the geometry is always taken from MASTERMAP until the TOID is ended in MASTERMAP and then the data is flagged in an audit table to say that there is no longer any data for this and we need ...
1
My previous answer was not correct, sorry but I was misled by the term 'string variable'.
I thought that unservedValue.shape was actually a column. My bad.
One of the documentation link is actually key to the solution anyway. Have you tried something like this:
stmt_piperequipment3 := 'SELECT pe.structure_category_name,SDO_NN_DISTANCE(2),
...
1
I've sort of scanned down the replies and no one seems to have observed that union queries are a bit of a problem for spatial views with ArcGIS. this is because you will almost certainly end up with duplicate objectids. The same is true of inner join queries where the joining predicates do not guarantee a unique "parent" record. in either case although the ...
1
Thanks to all that viewed this thread.
Well the process is a bit complicated, but it is possible to register a complex query as a layer, it just takes some crafty thought. I'm not sure what are the implications on perfomance on this yet, but I'll try to keep this updated. I'm also with problems for viewing the points in ArcMap, but I'll investigate further.
...
1
Have you checked the sdo_gtype? This is probably why Oracle still sees linestrings?
Assuming your table is called my_lines with a spatial column named shape you can run:
select a.shape.sdo_gtype
from my_lines a
group by a.shape.sdo_gtype;
This should give you the sdo_gtype(s) for your shapes. I suspect it would be 2001
You can then run the following to set ...
1
I would preprocess your polygon set, applying the rule using only the rectangular extent first.
It is very easy to calculate the area of a rectangle, and fairly easy to obtain the bounding rectangle of an arbitrary polgyon.
If the area of the union of the two extents is 1/16 or more of the area of the subject extent, put them on the list of polygon pairs ...
Only top voted, non community-wiki answers of a minimum length are eligible

