0

私はsvgでいくつかのポイントをプロットしようとしています。それらは、範囲が狭いx、y座標です。

57.206116   -6.223032
57.2225 -6.2441702
57.233299   -6.1833301
57.246666   -6.210278
57.208561   -6.2244201

それらがプロットされるとき、それらは明らかに画面上で非常に小さいです。これは私のビューボックスコマンドです:

print qq(
<svg width="20cm" height="20cm" viewBox="57 -7 3 3">);

20 x 20cmの箱の中にはっきりと見えるように、これをどのように改良すればよいですか。

#!/usr/bin/perl
use DBI;
use CGI::Carp qw(fatalsToBrowser);

#Set content type
print "Content-Type: image/svg-xml\n\n";

#Establish connection to database
$dbh = DBI->connect ('dbi:Oracle:geosgen','user','pass')
|| die "Man down! Man down!: $DBI::errstr";

#Send SQL query for finds
$sth1 = $dbh->prepare("select table_alias.mot.sdo_point.X, table_alias.mot.sdo_point.Y 
from   x.mounts table_alias");

$sth1->execute;


#Set content type
print qq(<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20001102//EN" 
"http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd">);



print qq(<svg width="20cm" height="20cm" viewBox="57 -7 3 3">);


while (@data = $sth1->fetchrow_array()) {
print qq(
<g transform="scale(1,-1)">
<circle cx="$data[0]" cy="$data[1]" r="0.01" fill="green">
</circle>   
</g>
       );   
  }

qq();を出力します。

4

1 に答える 1

0

私はあなたのコードで少し試しました。

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20001102//EN" "http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd">

<body>  
<div id="test">
<svg width="20cm" height="20cm" viewBox="57 -7 3 3" >

<rect x="57" y="-7" width="3" height="3" fill="none" stroke="black" stroke-width="0.01px" />

<g >

<circle cx="57.206116" cy="-6.223032" r="0.01" fill="green"></circle>   
<circle cx="57.2225" cy="-6.2441702" r="0.01" fill="red"></circle>   
<circle cx="57.233299" cy="-6.1833301" r="0.01" fill="blue"></circle>   
</g>

</svg>

</div>
</body>

スケールを削除し、長方形を追加して、現在の場所を確認しました。

それが私の結果です: ここに画像の説明を入力してください

于 2013-02-14T17:53:46.780 に答える