Tengo problemas para averiguar si he cargado los datos correctos para PgRouting.
Usando el script bash incluido en PostGIS 2.0, cargué los datos Tiger2010 para el estado de California en EE. UU.
- La tabla de aristas contiene la columna the_geom, con el tipo de datos geometry. Siguiendo el ejemplo de Underdark, parece que necesito las carreteras en formato Multilinestring para comenzar a generar rutas. ¿Se puede convertir los datos en la tabla de aristas a tipo multilínea? La consulta de la tabla está abajo.
- Modifiqué mis datos de ubicación geocodificados al tipo de datos geography. La función shortest_path de PgRouting necesita los datos en formato entero. ¿Cómo puedo convertir el tipo point de geography en un entero que shortest_path pueda usar?
Gracias por tu paciencia.
CREATE TABLE tiger.edges
(
gid integer NOT NULL DEFAULT nextval('edges_gid_seq'::regclass),
statefp character varying(2),
countyfp character varying(3),
tlid numeric(10,0),
tfidl numeric(10,0),
tfidr numeric(10,0),
mtfcc character varying(5),
fullname character varying(100),
smid character varying(22),
lfromadd character varying(12),
ltoadd character varying(12),
rfromadd character varying(12),
rtoadd character varying(12),
zipl character varying(5),
zipr character varying(5),
featcat character varying(1),
hydroflg character varying(1),
railflg character varying(1),
roadflg character varying(1),
olfflg character varying(1),
passflg character varying(1),
divroad character varying(1),
exttyp character varying(1),
ttyp character varying(1),
deckedroad character varying(1),
artpath character varying(1),
persist character varying(1),
gcseflg character varying(1),
offsetl character varying(1),
offsetr character varying(1),
tnidf numeric(10,0),
tnidt numeric(10,0),
the_geom geometry,
CONSTRAINT edges_pkey PRIMARY KEY (gid),
CONSTRAINT enforce_dims_the_geom CHECK (st_ndims(the_geom) = 2),
CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTILINESTRING'::text OR the_geom IS NULL),
CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = 4269)
)
WITH (
OIDS=FALSE
);
ALTER TABLE tiger.edges OWNER TO postgres;
GRANT ALL ON TABLE tiger.edges TO postgres;
GRANT ALL ON TABLE tiger.edges TO gis_group;
-- Índice: tiger.idx_edges_tlid
-- DROP INDEX tiger.idx_edges_tlid;
CREATE INDEX idx_edges_tlid
ON tiger.edges
USING btree
(tlid);
-- Índice: tiger.idx_tiger_edges_countyfp
-- DROP INDEX tiger.idx_tiger_edges_countyfp;
CREATE INDEX idx_tiger_edges_countyfp
ON tiger.edges
USING btree
(countyfp);
-- Índice: tiger.idx_tiger_edges_tfidl
-- DROP INDEX tiger.idx_tiger_edges_tfidl;
CREATE INDEX idx_tiger_edges_tfidl
ON tiger.edges
USING btree
(tfidl);
-- Índice: tiger.idx_tiger_edges_tfidr
-- DROP INDEX tiger.idx_tiger_edges_tfidr;
CREATE INDEX idx_tiger_edges_tfidr
ON tiger.edges
USING btree
(tfidr);
-- Índice: tiger.tiger_edges_the_geom_gist
-- DROP INDEX tiger.tiger_edges_the_geom_gist;
CREATE INDEX tiger_edges_the_geom_gist
ON tiger.edges
USING gist
(the_geom);