Friday, May 08, 2009

sld for geoserver from arcgis

There is a (german) tool out there by Albrecht Weiser to create a sld from an arcgis project, it used to be hosted by http://hgis-germany.de (http://web.archive.org/web/20080123212031/arcmap2sld.geoinform.fh-mainz.de/ArcMap2SLDConverter_Eng.htm) but these days it can be found at http://wald.intevation.org/projects/arcmap2sld

Some documentation is provided by vera lindsay:

How to install and use ArcMap2sld:

1. Download v1.2.2 from http://wald.intevation.org/projects/arcmap2sld

2. Download and install Microsoft .NET Framework from here:

http://www.microsoft.com/Downloads/details.aspx?FamilyId=262D25E3-F589-4842-8157-034D1E7CF3A3&displaylang=en

3. Unzip Setup_ArcMap2SLDConverter_1.2.2.zip.

4. To use it open one and only one ArcMap (it lookes for all ArcGIS applications so you can't have catalogue or tools open either).

5. Run /bin/ArcGIS_SLD_Converter.exe. It will default to German so change it to English: Extras>Sprache/Language>English

6. It's prety straight forward from there (at least once you've selected English): select where to save the SLD and other options and click the SLD button on the bottom and whala! Looks like a very nice, clean formated SLD file.


Have a look at http://www.geographie.uni-bonn.de/karto/chapter35_weiserzipf_sld.mobile.pdf

Wednesday, May 06, 2009

map colors

when writing mapserver mapfiles i always tend to choose the wrong colours (even if the mapfile is created from qgis). Today i found this easy webbased tool, colorbrewer, to create and evaluate great colour schemes http://www.personal.psu.edu/cab38/ColorBrewer/ColorBrewer.html

Friday, December 12, 2008

Coldfusion uses inner db connection when nesting cfquery

When you implement a nested cfquery to different datasources, ColdFusion will use the inner connection for both queries. Symptoms are that tables can not be found: ERROR: relation "mapdef" does not exist

<cfquery datasource="vista_monitoring2" name="x">
select * from mapdef limit 1
<cfquery datasource="vista_wintermanagement_r" name="y">
select * from rides limit 1
</cfquery>
</cfquery>

Wednesday, July 30, 2008

oracle odbc very slow in ogr/mapserver

Today i converted an adress-table from mysql to oracle (9.2). The data is presented on a map using virtual spatial data over odbc. It appeared the oracle odbc connection was very slow (up to a minute for a couple of records). After a search on google i found some suggestions:
- enable tracing in odbc to see what data is send and recieved (it appeared all the oracle tables where investigated, since there are 100's, it takes a while)
- in this post http://osdir.com/ml/gis.mapserver.user/2004-07/msg00245.html JF presents a solution 4 this by adding the tablename to the DSN-definition in the ovf file
That helped, response time dimished to fractions of a second


ODBC:me/secret@db,table table
wkbPoint

ID

Wednesday, April 02, 2008

Install a routing mechanism on postgis (windows).

based on http://pgrouting.postlbs.org/wiki/WorkshopFOSS4G2007

download and install
- postgres 8.2 (pgRouting is not yet available as binary for postgres 8.3)
- postgis (comes with postgres 8.2)
- pgRouting 1.0

C:
cd Program Files\PostgreSQL\8.2\bin

//create db
createdb -U postgres -E UNICODE routing
createlang -U postgres plpgsql routing

//load postgis and pgrouting into db
psql -U postgres -f ../share/contrib/lwpostgis.sql routing
psql -U postgres -f ../share/contrib/spatial_ref_sys.sql routing
psql -U postgres -f ../share/contrib/routing_core.sql routing
psql -U postgres -f ../share/contrib/routing_core_wrappers.sql routing

//load datafile generated witd shp2pgsql

//add columns
ALTER TABLE dummy ADD COLUMN source integer;
ALTER TABLE dummy ADD COLUMN target integer;
ALTER TABLE dummy ADD COLUMN length double precision;
UPDATE dummy SET length = length(the_geom);

//create network
SELECT assign_vertex_id('dummy', 0.001, 'the_geom', 'gid');

//optimise table
CREATE INDEX source_idx ON dummy(source);
CREATE INDEX target_idx ON dummy(target);
CREATE INDEX geom_idx ON dummy USING GIST(the_geom GIST_GEOMETRY_OPS);

//test network trace
SELECT gid, AsText(the_geom) AS the_geom FROM dijkstra_sp('dummy', 1, 100);

//update srid (option)
select updategeometrysrid('dummy', 'the_geom', 4326);
update dummy set the_geom = setsrid(the_geom,4326);

//finished! now check out http://boston.freemap.in/routing.html for implementation options!
Blogged with the Flock Browser