banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Mon 24 April 2006 14:18

TiT0f
Participant occasionnel
Date d'inscription: 24 Apr 2006
Messages: 11

transformer du wkt en shp dans une appli en vb pour arcview3.2

transformer du wkt en shp dans une appli en vb pour arcview3.2

Hors ligne

 

#2 Mon 24 April 2006 16:03

TiT0f
Participant occasionnel
Date d'inscription: 24 Apr 2006
Messages: 11

Re: transformer du wkt en shp dans une appli en vb pour arcview3.2

Dailleurs est ce que c'est possible?

Hors ligne

 

#3 Tue 25 April 2006 11:56

TiT0f
Participant occasionnel
Date d'inscription: 24 Apr 2006
Messages: 11

Re: transformer du wkt en shp dans une appli en vb pour arcview3.2

Sinon il n'existe pas des applications qui transforment le wtk en shp en gardant des données attributaires?

Hors ligne

 

#4 Thu 27 April 2006 12:17

oDevArc
Juste Inscrit !
Date d'inscription: 7 Sep 2005
Messages: 7

Re: transformer du wkt en shp dans une appli en vb pour arcview3.2

Bonjour,

Le "secret" pour transformer du WKT en entités (dans notre cas en
objets ESRI.MapObjects) passe par les expressions régulières
disponibles avec la référence "Microsoft VBScript Regular Expression
5.5" ("C:WINDOWSsystem32vbscript.dll") normalement présente sur
windows XP.

Public Const CoordPattern =
"(([0-9]+.[0-9]*)|([0-9]*.[0-9]+)|([0-9]+))"
Public Const PointPattern = "(" & CoordPattern & "( +" &
CoordPattern & "){1,2})"

'---------
' Methode     :      GetPoints
' Entrée      :      Une chaine WKT de Points
' Sortie      :      Une MatchCollection de points de type string
' Description :      Extrait les points d'une chaine. Les points
peuvent
'                    être de type 2D ou 3D et les coordonnées sont
séparés
'                    par des espaces.
'                    Un Point 3D pourrait avoir cette forme : (10.0 15
0)
'
Private Function GetPoints(ByVal Str As String) As MatchCollection
    Dim Matches As MatchCollection
    Dim Reg As New RegExp
    Reg.Global = True
   
    Reg.Pattern = PointPattern
    Set Matches = Reg.Execute(Str)
    Set GetPoints= Matches
   
    '-- On affiche les points
    Dim Mtch As Match
    For Each Mtch In Matches
        Debug.Print "Point =" & Mtch.Value
    Next
End Function

A partir de cette collection de points il est facile de "reconstruire"
une collection de Points MapObject, donc des lignes et des polygones.

Olivier

Hors ligne

 

#5 Thu 27 April 2006 15:24

TiT0f
Participant occasionnel
Date d'inscription: 24 Apr 2006
Messages: 11

Re: transformer du wkt en shp dans une appli en vb pour arcview3.2

oDevArc a écrit:

Bonjour,

Le "secret" pour transformer du WKT en entités (dans notre cas en
objets ESRI.MapObjects) passe par les expressions régulières
disponibles avec la référence "Microsoft VBScript Regular Expression
5.5" ("C:WINDOWSsystem32vbscript.dll") normalement présente sur
windows XP.

Public Const CoordPattern =
"(([0-9]+.[0-9]*)|([0-9]*.[0-9]+)|([0-9]+))"
Public Const PointPattern = "(" & CoordPattern & "( +" &
CoordPattern & "){1,2})"

'---------
' Methode     :      GetPoints
' Entrée      :      Une chaine WKT de Points
' Sortie      :      Une MatchCollection de points de type string
' Description :      Extrait les points d'une chaine. Les points
peuvent
'                    être de type 2D ou 3D et les coordonnées sont
séparés
'                    par des espaces.
'                    Un Point 3D pourrait avoir cette forme : (10.0 15
0)
'
Private Function GetPoints(ByVal Str As String) As MatchCollection
    Dim Matches As MatchCollection
    Dim Reg As New RegExp
    Reg.Global = True
   
    Reg.Pattern = PointPattern
    Set Matches = Reg.Execute(Str)
    Set GetPoints= Matches
   
    '-- On affiche les points
    Dim Mtch As Match
    For Each Mtch In Matches
        Debug.Print "Point =" & Mtch.Value
    Next
End Function

A partir de cette collection de points il est facile de "reconstruire"
une collection de Points MapObject, donc des lignes et des polygones.

Olivier


Merci !!!

Dernière modification par TiT0f (Thu 27 April 2006 15:49)

Hors ligne

 

Pied de page des forums

Powered by FluxBB