Tag Info

Hot answers tagged

28

I think the stock/obvious answer would be to use a spatial database (PostGIS, Oracle, SDE, MSSQL Spatial, etc) in conjunction with a metadata server such as esri's GeoPortal or the open source GeoNetwork application, and overall I think this is generally the best solution. However, you'll likely always have a need for project-based snapshots / branches / ...


14

Metadata is by far the most important issue here. If metadata answers whom, when, why, where it's an acceptable metadata record. Having work experience in large companies with just a few GIS users (around 30) we had major issues to control data, specially versions and permissions. One side of this can be solved with extensive documenting of data (metadata) ...


8

Use a file GDB as the master (on server), extract COPY to 6 personal GDB (2GB limit) or 6 FGDB if over 2GB. Individuals edit each GDB then place in folder with a template FILE Geodatabase [empty but has schema set up] for nightly APPEND (geoprocessing server) Schema TEST —Input dataset schema (field definitions) must match the schema of the target dataset. ...


7

We have used a file system organized hierarchically by: - geographic extent (country or continent) - data provider, licensor - domain/dataset - date/version After that we have a policy to separate the source data (in the same format that was on whatever CD/DVD that we got from the provider) from any derived datasets that we produced within our company. The ...


7

The informative part of the error is that the data you operating on is an S4 class object and as such contains slots. This means that you need to operate on the appropriate slot "@data" containing your dataframe. If you want to delete "all" rows with NA values you can just use na.omit on the dataframe slot. This does propgate through the sp object and ...


6

I would use a python script to do this. Start by putting all of the files into a single directory and then in python call the ListFeatureClasses() function and use that as the list of your data sources. This is assuming the attribute tables are identical so you can use the No_Test option. If they are not you will have to build the field map if you ...


5

There's a plugin called "QGIS File Browser", but it does not let you manipulate files in the system file hierarchy, only filter them by type (raster, vector, SHP, etc) and add them to the layers in the project. wxGIS is a project following the ArcGIS model with a browser and toolbox which aim to replicate ArcCatalog and ArcToolbox functionality; there is an ...


5

What about QGIS Browser? QGIS trunk now comes with a separate tool called “QGIS Browser”. It enables the user to browse through all spatial data files on the system as well as all WMS configured in QGIS. Both files and WMS layers are listed in a tree widget on the left side while metadata, attributes and a preview can be seen on the right. ...


5

I agree, Attempting to utilize the proprietary (fgdb or pgdb) db format created by esri and managed through their licensing is a fruitless path. If you are determined to not spend license money you will spend resource (your time and the time of other employees) money. What you are proposing is doable with an opensource rdbms or a proprietary lite version of ...


4

I wouldn't attempt this with a fGDB. It'll be one headache after another. If you need multi-user editing, you should go with an SDE GDB. If you've only got six editors, workgroup SDE would work well for you. From the ArcGIS 10 documentation: Types of geodatabases ArcGIS Server Workgroup also includes ArcSDE support for SQL Server Express. With this ...


4

This cannot be done with ArcView. (Editing the same PGDB/FGDB by several users at the same time.) Look into to upgrading to ArcEditor: ArcEditor allows multiple users to simultaneously modify and edit data. http://www.esri.com/software/arcgis/arceditor/key-features.html As a side note; I was involved with developing an application where we tried to emulate ...


4

The thing about non-enterprise data storage is the users of this data frequently have changing/varying needs. In an enterprise setting it's not always most efficient to store data in central geodatabases, but it goes a long way in sticking people to standards, which can be taught and monitored. At the most basic level, a small company should house any ...


3

"I don't believe there is an issue due to the fact that my routes cross the 180/-180... I believe ArcMap understands how to handle those circumstances." Not in WGS84, no. A feature cannot cross the international date line. You must break it at the international date line or it will throw a bad geometry. Too many bad geometries, and the tool bails out. ...


3

As @JasonBirch said, version control is a huge issue. Also we've found that an appropriate workflow is hugely important. For example when we're collecting field data we tend to use staging databases where the field data can be QA'd before being merged into the master dataset. Depending on how much data needs to be QA'd this will always create some overhead ...


3

cross-posting this solution to this thread AND user3397's other thread @lpinner was on the right track, by stating that the extent being used is the entire extent of the 'clipto' shapefile. This is an underlying attribute of that shapefile, and doesn't change according to the current feature being processed by a cursor. So, every time you're feeding the ...


3

You are setting the extent to the entire featureclass "clipto". Instead, set the extent to that of the "clipgeo" geometry - i.e. extent=str(row.getvalue(shape).extent) or extent=str(clipgeo.extent) You could also try ensuring the extent environment variable is set: gp.extent=extent gp.Clip_management(clipit, extent, outputname, clipgeo, "", ...


3

Rob, I guess it depends on the amount of data you are talking about and why you are doing it. BTW -- the tiger_geocoder packaged with PostGIS 2.0.0 does use inheritance for geographic separation (the main reason we do it is for reason 1,2, 5). My sense is that inheritance may be overkill for your needs. The reason we use inheritance in our work is: 1) ...


3

I figured out that I need to just add the send email code to the python script. I was able to find this help document that pretty much laid out the process for me. I made some minor adjustments and came up with: import smtplib, time, arcpy, arceditor #block new connections to the database. arcpy.AcceptConnections('Database Connections/MyConnection.sde', ...


3

There are a couple of solutions open to you, which spring to mind. The simplest is to use ET-GeoTools and select the 'Split in all Vertices' tool. Another option would be to script a process to iterate over the vertices of each line and assemble a new feature class from the bits.


2

The ogr2ogr utility of OGR will do the trick, here's an example adapted from the FAQ: # loop through all of the shapefiles in the directory and load them for i in $(ls *.shp); do ogr2ogr -f 'ESRI Shapefile' -a_srs "EPSG:4269" -nln merged_tiger_roads $i -update -append -skipfailures done This should produce a single merged_tiger_roads.shp from the ...


2

There are tools for uploading tiger data to PostGIS. It might be a little easier to work with once it's in PostGIS. Here are some links: http://pylab.blogspot.com/2007/02/import-tiger-database-to-postgis.html http://geoserver.org/display/GEOSDOC/Loading+TIGER+polygons+tigerpoly.pl Here's a ruby script for parsing Tiger data: ...


2

blord-castillo, I've solved it by making a few changes to my workflow as I think it may have been some physical memory trouble. Turned of background geoprocessing (ArcSOCP ate up all my ram) - Not Solved Split table into 10,000 record chunks (6 tables). 2b. Worked the first time, but didnt compute all records on the 2nd table... hmm Closed/Re-opened ...


2

I suggest you have one table that contains both the polygon and point data. This table would have (at minimum): an id column that is a foreign key to the matching asset record, a geometry column that contains that polygon geometry and a geometry column that contains the point geometry. Create a trigger that updates the point column based on ...


2

I feel like you might have a couple of questions in your question. For the question in your title, your don't provide enough information about your GIS or asset management system to answer. However, I think this is a good question, but certainly not limited to asset management. Do I now have to create a polygon layer for my dams to be used with the ...


2

Though I am not too experienced with spatial data management, I found the following Software-Carpentry.org video tutorial (discussing general data management practices, widely applicable to various scenarios) pretty helpful: Data Management


2

I just re-read this question today in a different form. For Non-versioned data there is the differ which was created for 9.3 schema mapping and documenting tool


2

I've put together some code below which seems to create single segment lines from polyline (which can be multipart) feature classes while retaining their attributes. I recommend that you run it against a small test dataset or two first, and if it seems to do what you want, then comment out or remove the print statements to gain some performance. If you add ...


1

From ESRI: Although not recommended, it is possible to copy a file geodatabase to another location by copying the folder to another location (if you are using a Windows Vista operating system, you also need to change the extension of the new folder to .gdb; otherwise, ArcGIS cannot recognize it as a file geodatabase). Only copy a file geodatabase with ...


1

In GRASS GIS, you can use v.reclass to achieve this goal. For each target category (ID) you can define a where statement to use attribute values to perform the job. See the manual for an example. Other tools like v.to.db help you to populate the attribute table properly for this task.


1

I had a similar problem involving a one to many relatioinship with a feature class of a little over 175000 and a feature class of over 500000 records. The XY to line tool was crashing after creating anywhere from 10000 to 15000 lines. After designing a complex and slow python script that tiptoed around the records limit by using a custom made index layer ...



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