![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
hola geodelphimaniacos:
Desarrollé una aplicación para fincas/ranchos/haciendas plataneras. Ahora quiero implementar mapas en el proyecto. Me explico: - las fincas están dividades en lotes. - cada lote tiene una superficie y forma diferente - se realizan actividades (ej. fertilizar) en cada lote La idea es que cuando el usuario solicite conocer el avance de la fertilización, el programa despliegue el mapa de la finca (dividida por lotes) y cada lote tenga dos colores: verde para la superficie fertilizada y amarillo para la superficie por trabajar. Si es posible hacer esto, les estaría muy agradecido me indicaran cúal programa necesito. Desarrollo en Delphi 7 Enterprise. Les agradezco de antemano su ayuda. Salu2. |
|
#2
|
||||
|
||||
|
Hola Fernando, yo solo he trabajado con Mapobjects, el trial lo consigues en la pagina de esri.com, y lo enlazo a delphi 7 o a delphi 5.... saludos
|
|
#3
|
|||
|
|||
|
Gracias Torito, revisaré el demo.
Salu2 |
|
#4
|
|||
|
|||
|
Pues nada, con la novedad que el susodicho MapObjects cuesta 5 mil dólares.
Eso significa que a mis clientes (3) les tendré que cobrar 1,666.66 dólares por cabeza (significativo y demoniaco el precio, no creen?) Claro que, como mis clientes no siembran cocaína o marihuana, dirán que "gracias, pero no" Si alguno de ustedes, impresindibles foreros, conoce otro programa para controlar el despliegue de mapas, les estaré muy agradecido si me informan. Salu2. |
|
#5
|
||||
|
||||
|
Cita:
Tal vez puedas encontar algo que te sirva y sea libre. Saludos. |
|
#6
|
||||
|
||||
|
Oye Fer, el MO no cuesta 5000 dolares, ya que a nosostros nos costo 5000 pesos Mexicanos, eso seria como 480 dolares
|
|
#7
|
|||
|
|||
|
Gracias por esta información Kinobi (y por las anteriores)
Con respecto al precio, Torito, en la página de ESRI dice $ 5,000.00 y como está en inglés pensé que eran dólares. Revisaré mejor la información (tengo vista cansada y astigmatismo ¡glup!) y si el precio es en pesos mexicanos (mejicanos) lo compro.Por otra parte, en un sitio de Argentina describen un sistema de fumigación/asperción aérea utilizando GPS y un programa/software que conduce al piloto del avión a través de la superficie a fumigar. ¿Alguno de los geodelphimaniacos ha trabajado o conoce sobre este tema? Gracias a todos por su ayuda. Salu2 |
|
#8
|
|||
|
|||
|
Tengo una cobertura Uv.shp la cual tiene los siguientes campos:
shape,id,color y le he asignado diferentes colores Como puedo hacer para que lo cargue en el mapa con los colores que yo le he asignado? estoy trabajando con mapObjects2 y delphi 7 Si alguien me puede ayudar o enviar un ejemplo se lo agradecere... mi correo es [email protected] |
|
#9
|
||||
|
||||
|
ok magui, tu tienes que trabajar con el renderer de tu capa y de ahi escalarla, te mando el ejemplo de esto
Código:
procedure TForm2.bbuniClick(Sender: TObject);
var
a,breakVal,z : integer;
zaz : string;
begin
try
memo1.Clear;
recs:=l.Records;
l.Renderer:=nil;
l.Renderer:=ImoClassBreaksRenderer(CreateOleObject('MapObjects2.ClassBreaksRenderer'));
tdesc:=recs.TableDesc;
fields:=recs.Fields;
cbr:=ImoClassBreaksRenderer(l.Renderer);
cbr.Field:=tdesc.FieldName[cbx.ItemIndex];
if cbx.Text='' then
begin
showmessage('No Se Eligio Un Campo');
exit;
end;
strsUniqueValues:= IMoStrings(CreateOleObject('MapObjects2.strings'));
//fld := IMoField(CreateOleObject('MapObjects2.Field'));
fld := fields.Item(tdesc.FieldName[cbx.ItemIndex]);
except//if varisempty(fld) then
//begin
showmessage('Hay Un Error En La Tabla!!');
exit;
end;
z:=0;
recs.MoveFirst;
a:=1;
while (not recs.EOF) do
begin
strsUniqueValues.Add(fld.value);
recs.MoveNext;
inc(z);
if z = 100 then
begin
a:=application.MessageBox( 'USTED TIENE MÁS DE 100 VARIABLES UNICAS, DESEA CONTINUAR A PESAR DE QUE DILATE MUCHO EL PROCESO??', 'EXCEDENTE DE VARIABLES...', MB_OKCANCEL);
if a=2 then
exit; //se sale de la aplicacion
end; //fin if
end; //fin while
{a:=1;
if strsUniqueValues.Count > 100 then
a:=application.MessageBox( 'USTED TIENE MÁS DE 100 VARIABLES UNICAS, DESEA CONTINUAR??', 'EXCEDENTE DE VARIABLES...', MB_OKCANCEL);
if a=2 then
exit; //se sale de la aplicacion}
if (vmr=nil)then
vmr:= IMoValueMapRenderer(CreateOleObject('MapObjects2.ValueMapRenderer'));
vmr.SymbolType:=l.Symbol.SymbolType;
vmr.Field:=fld.Name;
vmr.ValueCount:=strsUniqueValues.Count;
vmr.UseDefault:=false;
for a:=0 to strsUniqueValues.Count-1 do
begin
vmr.Value[a]:=strsUniqueValues.Item(a);
// showmessage(strsUniqueValues.Item(a));
end;
memo1.Lines.Add(' LISTADO DE VALORES UNICOS!!');
memo1.Lines.Add(' ');
for a:=0 to vmr.ValueCount-1 do
begin
zaz:='';
zaz:=inttoStr(a+1);
zaz:=zaz+' '+vmr.Value[a];
memo1.Lines.Add(zaz);
end; //fin for llenado memo1
cbr.BreakCount:=strsUniqueValues.Count;
bbuni2.Enabled:=true;
end; //fin procedure
|
|
#10
|
|||
|
|||
|
gracias por el codigo..
lo he probado ..pero no me muestra el mapa con los colores asignados, me imagino que esta es la parte donde se cambia los colores.. if (vmr=nil)then vmr:= IMoValueMapRenderer(CreateOleObject('MapObjects2.ValueMapRenderer')); vmr.SymbolType:=l.Symbol.SymbolType; vmr.Field:=fld.Name; vmr.ValueCount:=strsUniqueValues.Count; vmr.UseDefault:=false; for a:=0 to strsUniqueValues.Count-1 do begin vmr.Value[a]:=strsUniqueValues.Item(a); // showmessage(strsUniqueValues.Item(a)); end; me gustaria que me expliques un poco mas que tengo que hacer para que funcione.. |
|
#11
|
||||
|
||||
|
aqui esta el código para los colores
Código:
procedure TForm2.bbuni2Click(Sender: TObject);
var
a,z,si : integer;
begin
if rb3.Checked then
begin
si:=application.MessageBox( 'ESTA USTED SEGURO DE QUERER PONER COLOR UNO A UNO A CADA CLASIFICACIÓN?? ','COLOR UNO A UNO...', MB_OKCANCEL);
If si = 2 Then
exit;
end;
if panel3.Visible=true then
cbr.RampColors(rcolor3.color,rcolor4.color);
l.Renderer:=nil;
if vmr.SymbolType = moFillSymbol then
for a:=0 to vmr.ValueCount-1 do
begin
if cboxuni.Checked then
begin
vmr.Symbol[a].Outline:=true;
vmr.Symbol[a].OutlineColor:=moblack;
end else
begin
vmr.Symbol[a].Outline:=false;
vmr.Symbol[a].OutlineColor:=vmr.Symbol[a].Color;
end;
if panel3.Visible=true then
vmr.Symbol[a].Color:=cbr.Symbol[a].Color;
///fin si es por rampa
if rb3.Checked then
begin
showmessage('ELIJA EL COLOR PARA EL VALOR '+vmr.Value[a]);
colores.Execute;
vmr.Symbol[a].Color:=colores.Color;
end;//fin si es color unico
end;//fin for
if l.shapeType = moShapeTypeMultipoint then
z:=0
else
z:=l.shapeType-21;
vmr.SymbolType:=z;
close;
{l.Renderer:=cbr;
form1.Map1.Refresh;}
l.Renderer:=vmr;
form1.Map1.Refresh;
form1.refresca_legend;
cbr:=nil;
vmr:=nil;
end; //fin procedure
Nota: si alguien sabe el comando para poner parrafos de referencia que ya hayan sido escritos se lo agradecaria mucho que me lo hiciera saber... saludos |
|
#12
|
|||
|
|||
|
gracias por el codigo torito...funciono bien..
solo tenia que aumentar esto al primer codigo que me enviaste: colores.Execute; vmr.Symbol[a].Color:=colores.Color; y al final... map1.refresh; saludos. |
|
#13
|
|||
|
|||
|
Hola
Soy nuevo en este tema, estoy trabajando con Delphy 5 y MO21, tengo un form con un Map y un legend, como hago para hacer el link entre estos componentes, si alguien me ayuda se lo agradezco de antemano. |
|
#14
|
|||
|
|||
|
problemas para pasar un parametro a arcview
tengo un sistema donde manejo los datos generales de un predio
todo se maneja por medio de una clave, y programe una rutina en arcvie que me localiza ese predio, mi problema es comomando la clave del sistema en delphi a arcview si tener que volver a captura dicha clave espero que me explique y gracias de antemano por su atencion |
|
#15
|
||||
|
||||
|
no se puede hacer lo que pides, ya que estas trabajando 2 ambientes distintos, asi que nesecitas que desde arcview lea las bases de datos de tu sistema delphi o nesecitas en delphi insertar el active x de arcview y generar allí la búsqueda de tu poligono
|
|
#16
|
|||
|
|||
|
hola referente a lo k comentamos ayer
estoy provando un dde client conv y dde client item ya logre la coneccion pero no e logrado correr mi escrip ala hora de correr ddeclientconv1 (av.run scrip, "1212122" ) me dice que no es un parametro de avenue
Última edición por mamp67 fecha: 15-07-2005 a las 20:38:13. |
|
#17
|
||||
|
||||
|
ese error nunca lo habia visto
|
|
#18
|
|||
|
|||
|
La Coneccion Tienem K Estar Abierto Arcview
begin
if DDEClientConv1.SetLink('Arcview', 'System') then begin ShowMessage('Conectado a Arcview') ; end else ShowMessage('Error connecting to radio'); end; procedure TForm1.Button2Click(Sender: TObject); begin DdeClientConv1.CloseLink; CLOSE; end; SOLO FALTA MANDAR LOS PARAMETROS AVER SI ALGIEN SABE COMO Y CORRER EL SCRIP ![]() |
|
#19
|
|||
|
|||
|
sig con argis
buenas, soy un nuevo usuario de ArcGis y necesito realizar una personalizaciòn alguen me podria ayudar, no se si se pueda con mapobject o como gracias de antemano.
|
|
#20
|
||||
|
||||
|
Pues mira, si vas a trabajar con arcgis te recomiendo que le metas la personalización con Visual Basic ya que es lo más idoneo... ahora si lo vas a hacer con MapObjects te recomiendo ampliamente el Delphi... Saludos
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|